【蓝桥杯单片机组】大概是最后一篇了,the lastday 蓝桥
2017-04-06 22:19
253 查看
今天做了一下第七届的决赛题,逻辑比初赛复杂的多,但是原理都相同,主要是时间不够。
简单总结一下一些荣翻译忘记的地方:
(1)矩阵键盘中:P36 replaced by P44,P37 replaced by P42,写的时候注意在ISP文件中添加P4有关的定义。
(2)今天脑子抽了,居然用P0 = 0X00;来消影,记住是P0 = 0XFF。
(3)关于DS1302,在写时间的时候需要取消写保护,写完数据记得上写保护(具体参照datasheet)。
(4)读完一次时间后记得Ds1302_Single_Byte_Write(0x00, 0x00);!!!!
(5)iic协议在使用的时候,对于PSF8591与AT24C02的读过程是不同的,请比赛的时候一定参照datasheet写。
附图:
PCF8591读数据过程
AT24C02读数据过程(注意需要开启两次iic协议):
(6)iic协议第一步写地址字的时候记得读与写的区别(0与1)
----------------------------------------------------------------------------------------------------------------------------------
(7)该onewire.c中的延时函数的时候不要改错了,是在while(t--)内加12次减运算
(8)超声波中的RX TX需要自己定义,参照原理图定义:RX(连接在N_B1上,是CX20106A的输出,P11),TX(连接在N_A1上,连接驱动电路,由P10驱动)
(9)判断是否收到的时候,当RX == 0是收到了,程序里应该写为:while(RX == 1
&& timeflag >= 2);
(10)超声波波速计算的时候是332 + temper *
0.607
(11)ISP自动生成串口配置的时候记得ES = 1允许中断
(12)使用规范的锁存器使用方法:
P2 = (P2&0x1f)|0Xa0;
P0 |= 0x40;
P2 &= 0X1f;先清空高三位再赋值,使用完锁存器后直接选中Y0,Y0无外接元件。
(13)温度的命令常量如果头文件没有,就去datasheet找一下
-----------------------------------------------------------------------------------------------------------------------------------
做个标记:明天需要做的事情:
1、今天测频率出了点问题,具体看一下
2、写一个测温度的练练手 //done
3、写一个超声波的练练手 //done
4、看看外部中断的配置
5、看看串口的例程 //done
6、看一下模电中关于放大器的题目(包括电压放大、电流量转换成电压量即:ad原理) //done
7、看一下理论题 //done
简单总结一下一些荣翻译忘记的地方:
(1)矩阵键盘中:P36 replaced by P44,P37 replaced by P42,写的时候注意在ISP文件中添加P4有关的定义。
(2)今天脑子抽了,居然用P0 = 0X00;来消影,记住是P0 = 0XFF。
(3)关于DS1302,在写时间的时候需要取消写保护,写完数据记得上写保护(具体参照datasheet)。
(4)读完一次时间后记得Ds1302_Single_Byte_Write(0x00, 0x00);!!!!
(5)iic协议在使用的时候,对于PSF8591与AT24C02的读过程是不同的,请比赛的时候一定参照datasheet写。
附图:
PCF8591读数据过程
AT24C02读数据过程(注意需要开启两次iic协议):
(6)iic协议第一步写地址字的时候记得读与写的区别(0与1)
----------------------------------------------------------------------------------------------------------------------------------
(7)该onewire.c中的延时函数的时候不要改错了,是在while(t--)内加12次减运算
(8)超声波中的RX TX需要自己定义,参照原理图定义:RX(连接在N_B1上,是CX20106A的输出,P11),TX(连接在N_A1上,连接驱动电路,由P10驱动)
(9)判断是否收到的时候,当RX == 0是收到了,程序里应该写为:while(RX == 1
&& timeflag >= 2);
(10)超声波波速计算的时候是332 + temper *
0.607
(11)ISP自动生成串口配置的时候记得ES = 1允许中断
(12)使用规范的锁存器使用方法:
P2 = (P2&0x1f)|0Xa0;
P0 |= 0x40;
P2 &= 0X1f;先清空高三位再赋值,使用完锁存器后直接选中Y0,Y0无外接元件。
(13)温度的命令常量如果头文件没有,就去datasheet找一下
-----------------------------------------------------------------------------------------------------------------------------------
做个标记:明天需要做的事情:
1、今天测频率出了点问题,具体看一下
2、写一个测温度的练练手 //done
3、写一个超声波的练练手 //done
4、看看外部中断的配置
5、看看串口的例程 //done
6、看一下模电中关于放大器的题目(包括电压放大、电流量转换成电压量即:ad原理) //done
7、看一下理论题 //done
相关文章推荐
- the last day in Beijing
- The last day of October
- [总结]The last day of November
- The last day of 2015
- Last day in the company
- 1150 The Last Non-zero Digit P(n,m)的最后一位非0数
- Don't Eat the Last Cake! 不要吃最后一块蛋糕!
- [纪念]The Last Day Of 2004
- POJ 1150-The Last Non-zero Digit(求阶乘最后一位非零数)
- The Last Day in Redmond
- 排列数最后非零位:poj 1150 The Last Non-zero Digit
- The last day of 5.1
- Last Day on the Job
- The last day of Aug.
- If today were the last day of my life
- 团队作业4——第一次项目冲刺 tHe LaSt dAy
- oracle中LAST_DAY(返回日期的最后一天)
- pku 1150 The Last Non-zero Digit 阶乘最后一位非零数
- The last day 2010年6月13日
- oracle last_day()函数,返回当月最后一天,即 last_day(date)