欢迎来到天天文库
浏览记录
ID:29966232
大小:597.00 KB
页数:142页
时间:2018-12-25
《概念51单片机c语言教程-入门提高开发拓展全攻略郭天祥》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、-142-一亩三分地收藏新概念51单片机C语言教程----入门、提高、开发、拓展全攻略郭天祥编著电子工业出版社例2.2.1编写程序,点亮第一个发光二极管(part2_1.cP27)#include//52系列单片机头文件sbitled1=P1^0;//声明单片机P1口的第一位voidmain()//主函数{led1=0;/*点亮第一个发光二极管*/}例2.2.2编写程序,点亮P1口的若干二极管(part2_2.cP39)#include//52系列单片机头文件voidmain()/
2、/主函数{P1=0xaa;//while(1);}例2.5.1利用for语句延时特性,编写第一个发光二极管以间隔1S亮灭闪动的程序(part2_3.cP42)#include//52系列单片机头文件#defineuintunsignedint//宏定义sbitled1=P1^0;//声明单片机P1口的第一位uinti,j;voidmain()//主函数{while(1)//大循环{led1=0;/*点亮第一个发光二极管*/for(i=1;i>0;i--)//延时for(j=110;j>0;j--);
3、led1=1;/*关闭第一个发光二极管*/for(i=1000;i>0;i--)//延时for(j=110;j>0;j--);}}2021-8-31-142-一亩三分地收藏此函数是内外循环,根据外部晶振的不同,延时1毫秒的循环次数也不一样,一般12M晶振的话用for(j=time;j>0;j--);延时时,1毫秒time大概为125左右,这里用110,大概晶振为11.0592M,所以这段程序,内部循环完成1毫秒延时,外部循环完成500毫秒延时。例2.6.1编写程序使第一个发光二极管以间隔500ms亮灭闪动。(part
4、2_4.cP48)#include//52系列单片机头文件#defineuintunsignedint//宏定义sbitled1=P1^0;//声明单片机P1口的第一位voiddelay1s();//声明子函数voidmain()//主函数{while(1)//大循环{led1=0;/*点亮第一个发光二极管*/delay1s();//调用延时子函数led1=1;/*关闭第一个发光二极管*/delay1s();//调用延时子函数}}voiddelay1s()//子函数体{uinti,j;for(i=5
5、00;i>0;i--)for(j=110;j>0;j--);}例2.7.1编写程序使第一个二极管以亮200ms、灭800ms的方式闪动。(part2_5.cP49)#include//52系列单片机头文件#defineuintunsignedint//宏定义sbitled1=P1^0;//声明单片机P1口的第一位voiddelayms(uint);//声明子函数voidmain()//主函数{while(1)//大循环{led1=0;/*点亮第一个发光二极管*/delayms(200);//延时20
6、0毫秒led1=1;/*关闭第一个发光二极管*/delayms(800);//延时800毫秒}}2021-8-31-142-一亩三分地收藏voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--)//i=xms即延时约xms毫秒for(j=110;j>0;j--);}例2.8.3利用C51自带库_crol_(),以间隔500ms,实现流水灯程序(part2_6.cP53)#include//52系列单片机头文件#include#defineu
7、intunsignedint//宏定义#defineucharunsignedcharvoiddelayms(uint);//声明子函数ucharaa;voidmain()//主函数{aa=0xfe;//赋初值11111110while(1)//大循环{P1=aa;delayms(500);//延时500毫秒aa=_crol_(aa,1);//将aa循环左移1位后再赋给aa}}voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--)//i=xms即延时约xms毫秒for(j=11
8、0;j>0;j--);}2021-8-31-142-一亩三分地收藏例3.2.1编写程序使第一个数码管显示8(part2.1_.1cP59)#include//52系列单片机头文件sbitdula=P2^6;//申明U1锁存器的锁存端sbitwela=P2^7;//申明U2锁存器的锁存端voidmain(){wela=1;//打
此文档下载收益归作者所有