单片机实验c语言编程

单片机实验c语言编程

ID:9014357

大小:168.00 KB

页数:11页

时间:2018-04-14

单片机实验c语言编程_第1页
单片机实验c语言编程_第2页
单片机实验c语言编程_第3页
单片机实验c语言编程_第4页
单片机实验c语言编程_第5页
资源描述:

《单片机实验c语言编程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、流水灯效果:发关二级管依次独个被点亮,一直循环下去。C语言程序如下:#includeunsignedchari;unsignedchartemp;voiddelay(void)//延时子程序{unsignedcharm,n,s;for(m=20;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);}voidmain(void)//主程序{while(1)//循环条件永远为真,以下程序一直执行下去。{temp=0xfe;P3=temp;//直接对I/O口P3

2、赋值,使.P3.0输出低点平。delay();//延时for(i=1;i<8;i++)//实现灯的移动{temp=(temp<<1)

3、0x01;//P3口I/O轮流低电平P3=temp;delay();//延时,肉眼可以看到}}}闪烁灯效果:发光二极管维持一闪一闪的状态。C语言程序如下:#include/******************************************************************************第一行是一个"文件包含"处理。所谓

4、"文件包含"是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序虽然只有4行,但C编译器在处理的时候却要处理几十或几百行。这里程序中包含REG51.h文件的目的是为了要使用P1这符号即通知C编译器,程序中所写的P1是指80C51单片机的P1端口而不是其它变量。******************************************************************************/voiddelay02s(void)//延时0.2秒子程序{unsignedchari,j

5、,k;//定义3个无符号字符型数据。for(i=20;i>0;i--)//作循环延时for(j=20;j>0;j--)for(k=248;k>0;k--);}voidmain(void)//每一个C语言程序有且只有一个主函数,{while(1)//循环条件永远为真,以下程序一直执行下去。{P3_0=0;//I/O口P3.0输出低电平,小灯被点亮。delay02s();//延时经过0.2秒。P3_0=1;//I/O口P3.0输出高电平,小灯熄灭。delay02s();//延时经过0.2秒。}}按键识别效果:按下开

6、关,D1变亮并保持。再按开关,D1熄灭,并保持。C语言程序如下:#includesbitINT_0=P3^2;//定义按键的输入端注意此处按键判断使用的是扫//描方式而表示中断判断方式sbitD1=P3^0;//D1小灯定义voiddelay10ms(void)//延时程序{unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}key()/按键判断程序{if(INT_0==0)//判断是否按下键盘{delay10ms();//延时,软件去干

7、扰if(INT_0==0)//确认按键按下{D1=!D1;//D1亮灭交替变化}while(INT_0==0);//按键锁定,每按一次D1只变化一次.}}main(){while(1)//永远循环,扫描判断按键是否按下{key();//对于此处CPU对按键判断一直扫描;}}按键中断识别效果:一开始显示“0”,每按一次开关,显示的数字就加1。C语言程序如下:#includeunsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,

8、0xf8,0x80,0x90};unsignedchardispcount=0;//计数sbitgewei=P3^1;//个位选通定义sbitshiwei=P3^0;//十位选通定义voidDelay(unsignedinttc)//延时程序{while(tc!=0){unsignedinti;for(i=0;i<100;i++);tc--;}}voidExtInt0()interrupt0//中断服务程序{dispcount++;if(dispcount==100){dispcount=0;}}voidLED

9、()//LED显示函数{if(dispcount>=10)//显示两位数{shiwei=1;P2=table[dispcount/10];Delay(8);shiwei=0;gewei=1;P2=table[dispcount%10];Delay(5);gewei=0;}else//显示一位数{shiwei=0;gewei=1;P2=table[dispcount];Delay(8);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。