51单片机使用的几点注意事项
来源:互联网 发布:几款进销存软件好坏 编辑:程序博客网 时间:2024/04/28 06:49
1. 使用printf打印小数
#include<stdio.h>#include<reg51.h>float idata t;void Uart_Init(){}void main(){t=1.234567;SBUF=0;//这一步是必须的 Uart_Init();//初始化串口,注意为加快速度非必须不要开串口中断 while(1) { printf("%f.2\n",t); }}
#include<stdio.h>#include<reg51.h>float idata t;void Uart_Init(){}void main(){t=1.234567;SBUF=0;//这一步是必须的 Uart_Init();//初始化串口,注意为加快速度非必须不要开串口中断 while(1) { printf("%f.2\n",t); }}
2.关于浮点数、大变量数组的声明
低128字节51MCU一般都会有,默认全局变量存于此(data),所以经常会出现溢出错误;高128字节用idata声明,一般float型(占4个字节)可声明于此,如float idata f;内部扩展RAM,用xdata声明,一般大变量数组声明于此,如unsigned char xdata s[256]; //注意查看MCU的SRAM大小不变的数组用code声明,放在flash里,如unsigned char code s[12]="Hello,World!";3.全局变量的声明
全局变量在.c中定义,在.h中用extern声明,如果在其他.c中使用,把.h包含进来就行了;如果全局变量仅在一个.c中使用,使用static;4.在矩阵键盘扫描时,单片机的输出1(P123内部上拉电阻接+5V)引脚和输出0(MOS管直接接地)引脚连在一起,会变成0
5.所用时间较少,如数码管等,在中断中刷新,也可以考虑按键的软件消抖也在中断里。。。
/* Timer0 interrupt routine */void tm0_isr() interrupt 1 {static unsigned char j=0; TL0 = T1MS; //reload timer0 low byte TH0 = T1MS >> 8; //reload timer0 high byteif(j>8){j=0;}else {j++;switch(j){case 1:{P2=DIS_BIT[0];P0=DIS_SEG[INT_Num/10];}break; //显示INT_Num的十位case 2:{P2=DIS_BIT[1];P0=DIS_SEG[INT_Num%10];}break; //显示INT_Num的个位case 3: break;//{P2=DIS_BIT[2];P0=DIS_SEG[];}break;case 4:{P2=DIS_BIT[3];P0=DIS_SEG[Key_Num_last/10];}break; //显示Key_Num的十位case 5:{P2=DIS_BIT[4];P0=DIS_SEG[Key_Num_last%10];}break; //显示Key_Num的个位case 6: break; //{P2=DIS_BIT[4];P0=DIS_SEG[Key_Num%10];}break; case 7:{P2=DIS_BIT[6];P0=DIS_SEG[Key_Num_before/10];}break; //显示Key_Num的个位case 8:{P2=DIS_BIT[7];P0=DIS_SEG[Key_Num_before%10];}break; //显示Key_Num的个位default: {;}}}if(flag_Buzzer && ++count)//2ms中断一次,500Hz;有键按下时,flagBuzzer为真{Buzzer=!Buzzer;//!逻辑取反if(count>50)//蜂鸣器响100ms{flag_Buzzer=0;count=0;Buzzer=1;//关闭蜂鸣器}}}
0 0
- 51单片机使用的几点注意事项
- MasterPage中使用的几点注意事项
- 使用Libgdx时的几点注意事项
- 使用Libgdx时的几点注意事项
- 关于postman使用的几点注意事项
- SqlBulkCopy的几点注意事项
- Service的几点注意事项
- 使用poi操作Excel的几点注意事项
- 使用poi操作Excel的几点注意事项
- 转:使用poi操作Excel的几点注意事项
- 使用poi操作Excel的几点注意事项
- 关于使用READ TABLE语句的几点注意事项
- 使用WPF动画编程的几点注意事项
- 关于使用READ TABLE语句的几点注意事项
- 使用visio画状态图(Statechart)的几点注意事项
- 关于使用READ TABLE语句的几点注意事项
- 关于Aspose.NET使用的几点注意事项
- Android中关于线程使用的几点注意事项
- Balloon.2.9 —— UI组件之单选框
- FPGA时钟讨论
- winner比loser赢在哪?
- Android学习笔记:常用的dos命令(玩转Android)
- 同问 当程序运行在前台的时候,处理推送消息 ?
- 51单片机使用的几点注意事项
- 开发人员常用的10个Sublime Text插件
- Android学习笔记:Failed to push selection: Read-only file system
- 常用 DOM 方法与属性
- Android 配置 Ant 脚本之代码混淆和优化
- 《老罗的Android之旅》导读PPT
- 更改工程名
- 爱情里没有谁对谁错
- 每一个优秀的人,都有一段沉默的时光
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
黄瓜炒鸡蛋
青瓜怎么凉拌好吃
黄瓜炒什么好吃
黄瓜怎么做菜
大黄瓜
黄瓜的吃法
黄瓜可以做什么菜
黄瓜的图片
青瓜的做法大全家常炒菜
黄瓜的
黄爪
黄瓜的功效
黄瓜怎么煮
黄瓜的功效与作用
黄瓜的做法
黄瓜炒什么
青瓜炒什么好吃
怎么炒黄瓜好吃
黄瓜做法大全家常菜
黄瓜的做法大全
炒黄瓜怎么做好吃
拍黄瓜做法
黄瓜怎样腌制好吃
黄瓜的营养
老黄瓜的功效与作用
黃瓜
黄瓜怎么凉拌好吃
吃黄瓜
青瓜做法
黄瓜图
黄瓜怎么炒好吃又简单
黄瓜菜
黄瓜吃法
黄瓜的拼音
青瓜是什么
黄瓜怎么炒好吃
如何做拍黄瓜
乳瓜的做法
黄瓜能做什么菜
青瓜凉拌
huanggua