本文是自己在用keil写51的时候总结的一些注意事项和常见的易错问题,感觉都是一些常见错误,可以供大家参考看看。
- 写的头文件和源文件一定要包含到source group 里面,要不然单片机找不到
- 在写定时器的时候,要注意高低电平有没有赋错
- 在keil里要注意标明文件路径(path)
- 写在定时器2里面的函数都是对时间要求很高的,对时间要求不高的函数写在while循环里就可以了
- 重新定义定时器0的话,一定要在代码最后写上开启定时器中断和总中断
- 定时器2是12T模式,是1ms中断,16位定时器模式,定时器二是15系列
- 在onewire里面要定义DQ,DQ是单总线接口
- 调用函数的时候里面不能有void
- 注意变量是char还是int型,比如NE555计算时间1000s,应该用int,要注意。
- NE555计算频率函数要放在中断里面
- 对于温度设置功能,最好有两个参数,一个设置setting,一个比较compare
- keil中的expression with possibly no effect是符号运用错误,要仔细检查
- 读取电位器RB2的输出电压应该写0x43
- 读取电压前最好空读一次
- 超声波函数里面不需要定义一个定时器
- 最好把代码写的完善一些,不要让别人可以挑错,比如上限要大于下限
- 流水灯,定时计算时间,用%来计算时间更简单
- 而对于要让数码管闪烁,与流水灯的道理相同,只要定时开启和关闭即可
- 写超声波的时候一定要有延时,否则测量不到距离
- 注意要把DecToBCD放到头文件中
- 用到NE555的话,再用矩阵键盘就不能用P34了,否则就会发生冲突