单片机编程100例.docx

上传人:ni****g 文档编号:551281489 上传时间:2022-10-12 格式:DOCX 页数:142 大小:361.05KB
返回 下载 相关 举报
单片机编程100例.docx_第1页
第1页 / 共142页
单片机编程100例.docx_第2页
第2页 / 共142页
单片机编程100例.docx_第3页
第3页 / 共142页
单片机编程100例.docx_第4页
第4页 / 共142页
单片机编程100例.docx_第5页
第5页 / 共142页
点击查看更多>>
资源描述

《单片机编程100例.docx》由会员分享,可在线阅读,更多相关《单片机编程100例.docx(142页珍藏版)》请在金锄头文库上搜索。

1、精选文档单片机编程实例100例大全单片机编程实例实例1:使用P3口流水滴亮8位LED#include/包括单片机寄存器的头文件/函数功能:延时一段时间voiddelay(void)unsignedchari,j;for(i=0;i250;i+)for(j=0;j250;j+);函数功能:主函数voidmain(void)while(1)P3=0xfe;/第一个灯亮delay();/调用延时函数P3=0xfd;/第二个灯亮delay();/调用延时函数P3=0xfb;/第三个灯亮142delay();/调用延时函数P3=0xf7;/第四个灯亮delay();/调用延时函数P3=0xef;/第五个

2、灯亮delay();/调用延时函数P3=0xdf;/第六个灯亮delay();/调用延时函数P3=0xbf;/第七个灯亮delay();/调用延时函数P3=0x7f;/第八个灯亮delay();/调用延时函数/*实例2:经过对P3口地址的操作流水滴亮8位LED#include/包括单片机寄存器的头文件sfrx=0xb0;/P3口在储存器中的地址是b0H,经过sfr可定义8051内核单片机的所有内部8位特别功能寄存器,对地址x的操作也就是对P1口的操作/函数功能:延时一段时间/voiddelay(void)unsignedchari,j;for(i=0;i250;i+)for(j=0;j250;

3、j+)/利用循环等候若干机器周期,从而延时一段时间/函数功能:主函数/voidmain(void)while(1)x=0xfe;/第一个灯亮delay();/调用延时函数x=0xfd;/第二个灯亮delay();/调用延时函数x=0xfb;/第三个灯亮delay();/调用延时函数x=0xf7;/第四个灯亮delay();/调用延时函数x=0xef;/第五个灯亮delay();/调用延时函数x=0xdf;/第六个灯亮delay();/调用延时函数x=0xbf;/第七个灯亮delay();/调用延时函数x=0x7f;/第八个灯亮delay();/调用延时函数实例3:用不一样数据种类控制灯闪耀时间

4、#include/包括单片机寄存器的头文件/函数功能:用整形数据延时一段时间/voidint_delay(void)/延时一段较长的时间unsignedintm;/定义无符号整形变量,双字节数据,值域为065535for(m=0;m36000;m+)/空操作/函数功能:用字符型数据延时一段时间/voidchar_delay(void)/延时一段较短的时间unsignedchari,j;/定义无符号字符型变量,单字节数据,值域0255for(i=0;i200;i+)for(j=0;j180;j+)/空操作/函数功能:主函数/voidmain(void)unsignedchari;while(1)

5、for(i=0;i3;i+)P1=0xfe;/口的灯点亮int_delay();/延时一段较长的时间P1=0xff;/熄灭int_delay();/延时一段较长的时间for(i=0;i3;i+)P1=0xef;/口的灯点亮char_delay();/延时一段较长的时间P1=0xff;/熄灭char_delay();/延时一段较长的时间实例4:用单片机控制第一个灯亮#include/包括51单片机寄存器定义的头文件voidmain(void)P1=0xfe;/P1=11111110B,即输出低电平实例5:用单片机控制一个灯闪耀:认识单片机的工作频率#include/包括单片机寄存器的头文件/函数

6、功能:延时一段时间/voiddelay(void)/两个void意思分别为无需返回值,没有参数传递unsignedinti;/定义无符号整数,最大取值范围65535for(i=0;i20000;i+)/做20000次空循环/什么也不做,等候一个机器周期/函数功能:主函数(C语言规定一定有也只好有1个主函数)/voidmain(void)while(1)/无穷循环P1=0xfe;/P1=11111110B,输出低电平delay();/延时一段时间P1=0xff;/P1=11111111B,输出高电平delay();/延时一段时间实例6:将P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功

7、能#include/包括单片机寄存器的头文件/函数功能:主函数(C语言规定一定有也只好有1个主函数)/voidmain(void)while(1)/无穷循环P1=0xff;/P1=11111111B,熄灭LEDP0=P1;/将P1口状态送入P0口P2=P1;/将P1口状态送入P2口P3=P1;/将P1口状态送入P3口*实例7:用P0口、P1口分别显示加法和减法运算结果#includevoidmain(void)unsignedcharm,n;m=43;/即十进制数2x16+11=43n=60;/即十进制数3x16+12=60P1=m+n;/P1=103=01100111B,结果、口的灯被点亮P

8、0=n-m;/P0=17=00010001B,结果、的灯被熄灭实例8:用P0、P1口显示乘法运算结果#include/包括单片机寄存器的头文件voidmain(void)unsignedcharm,n;unsignedints;m=64;n=71;s=mn;/s=6471=4544,需要16位二进制数表示,高8位送P1口,低8位送P0口因为4544=17256+192=H3161616+H21616+H116+H0两边同除以256,可得17+192/256=H316+H2+(H116+H0)/256所以,高8位16进制数H316+H2必然等于17,即4544除以256的商低8位16进制数H11

9、6+H0必然等于192,即4544除以256的余数P1=s/256;/高8位送P1口,P1=17=11H=00010001B,和口灭,其他亮P0=s%256;/低8位送P0口,P3=192=c0H=11000000B,口灭,其他亮实例9:用P1、P0口显示除法运算结果#include/包括单片机寄存器的头文件voidmain(void)P1=36/5;/求整数P0=(36%5)10)/5;/求小数while(1)/无穷循环防范程序“跑飞”实例10:用自增运算控制P0口8位LED流水花式#include/包括单片机寄存器的头文件/函数功能:延时一段时间/voiddelay(void)unsign

10、edinti;for(i=0;i20000;i+);函数功能?:主函数voidmain(void)unsignedchari;for(i=0;i255;i+)/注意i的值不可以超出255P0=i;/将i的值送P0口delay();/调用延时函数*实例11:用P0口显示逻辑与运算结果#include/包括单片机寄存器的头文件voidmain(void)P0=(40)&(90xab);/将逻辑运算结果送P0口while(1)/设置无穷循环,防范程序“跑飞”实例12:用P0口显示条件运算结果#include/包括单片机寄存器的头文件voidmain(void)P0=(84)?8:4;/将条件运算结果

11、送P0口,P0=8=00001000Bwhile(1)/设置无穷循环,防范程序“跑飞”*实例13:用P0口显示按位异或运算结果#include/包括单片机寄存器的头文件voidmain(void)P0=0xa20x3c;/将条件运算结果送P0口,P0=8=00001000Bwhile(1)/设置无穷循环,防范程序“跑飞”* 实例16:用P0显示左移运算结果#include/包括单片机寄存器的头文件voidmain(void)P0=0x3b2;/将左移运算结果送P0口,P0=11101100B=0xecwhile(1)/无穷循环,防范程序“跑飞”实例17:全能逻辑电路实验#include/包括单

12、片机寄存器的头文件sbitF=P14;/将F位定义为sbitX=P15;/将X位定义为sbitY=P16;/将Y位定义为sbitZ=P17;/voidmain(void)while(1)将Z位定义为F=(X)&Y)|Z;/将逻辑运算结果赋给F;*实例18:用右移运算流水滴亮P1口8位LED#include/包括单片机寄存器的头文件/函数功能:延时一段时间/voiddelay(void)unsignedintn;for(n=0;n30000;n+);/函数功能:主函数/voidmain(void)unsignedchari;while(1)P1=0xff;delay();for(i=0;i1;/每次循环P1的各二进位右移1位,高位补0delay();调用延时函数*实例19:用if语

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号