单片机实验C语言编程

上传人:20****03 文档编号:165116725 上传时间:2021-02-01 格式:DOC 页数:11 大小:143.50KB
返回 下载 相关 举报
单片机实验C语言编程_第1页
第1页 / 共11页
单片机实验C语言编程_第2页
第2页 / 共11页
单片机实验C语言编程_第3页
第3页 / 共11页
单片机实验C语言编程_第4页
第4页 / 共11页
单片机实验C语言编程_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机实验C语言编程》由会员分享,可在线阅读,更多相关《单片机实验C语言编程(11页珍藏版)》请在金锄头文库上搜索。

1、流水灯效果:发关二级管依次独个被点亮,一直循环下去。语言程序如下:#include unsigned char i;unsigned char temp;void delay(void) /延时子程序unsigned char m,n,s;for(m=20;m0;m-)for(n=20;n0;n-)for(s=248;s0;s-);void main(void) /主程序while(1) /循环条件永远为真,以下程序一直执行下去。temp=0xfe;P3=temp; /直接对I/O 口P3 赋值,使.P3.0 输出低点平。delay(); /延时for(i=1;i8;i+) /实现灯的移动te

2、mp=(temp1)|0x01; /P3 口I/O 轮流低电平P3=temp;delay(); /延时,肉眼可以看到闪烁灯效果:发光二极管维持一闪一闪的状态。语言程序如下:#include /*第一行是一个文件包含处理。所谓文件包含是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序虽然只有4 行,但C 编译器在处理的时候却要处理几十或几百行。这里程序中包含REG51.h文件的目的是为了要使用P1 这符号即通知C 编译器,程序中所写的P1 是指80C51 单片机的P1 端口而不是其它变量。*/void delay02s(void) /延时0.2 秒子程序unsigned char i,

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

4、sbit INT_0=P32; /定义按键的输入端注意此处按键判断使用的是扫/描方式而表示中断判断方式sbit D1=P30; /D1 小灯定义void delay10ms(void) /延时程序unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);key() /按键判断程序if(INT_0=0) /判断是否按下键盘delay10ms(); /延时,软件去干扰if(INT_0=0) /确认按键按下D1=!D1; /D1 亮灭交替变化while(INT_0=0); /按键锁定,每按一次D1 只变化一次.main()while(1) /永远循环,扫描判

5、断按键是否按下key(); /对于此处CPU 对按键判断一直扫描;按键中断识别效果:一开始显示“”,每按一次开关,显示的数字就加。语言程序如下:#include unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char dispcount=0; /计数sbit gewei=P31; /个位选通定义sbit shiwei=P30; /十位选通定义void Delay(unsigned int tc) /延时程序while( tc != 0 )unsigned int i;for

6、(i=0; i=10) /显示两位数shiwei=1;P2=tabledispcount/10;Delay(8);shiwei=0; gewei=1;P2=tabledispcount%10;Delay(5);gewei=0;else /显示一位数shiwei=0;gewei=1;P2=tabledispcount;Delay(8);void main() TCON=0x01; / INT0为0 电平触发 为1负边沿触发 IE=0x81; /开总中断和允许INT0外部中断while(1) /循环执行 LED(); /调用显示函数44 矩阵式键盘识别效果:按下不同的按键将显示不同的内容,从右到左

7、,从上到下,按键分别代表,语言程序如下:#include unsigned char code seg7code=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71;unsigned char k;void delay10ms(void) /延时程序unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);void Getch ( )unsigned char X,Y,Z;P2=0xff;P2=0x0f; /先对P2 置数行扫描if(P2!=

8、0x0f) /判断是否有键按下delay10ms(); /延时,软件去干扰if(P2!=0x0f) /确认按键按下;X=P2; /保存行扫描时有键按下时状态P2=0xf0; /列扫描Y=P2; /保存列扫描时有键按下时状态Z=X|Y; /取出键值switch ( Z ) /判断键值(那一个键按下)case 0x77: k=0; break; /对键值赋值case 0x7b: k=1; break;case 0x7d: k=2; break;case 0x7e: k=3; break;case 0xb7: k=4; break;case 0xbb: k=5; break;case 0xbd: k

9、=6; break;case 0xbe: k=7; break;case 0xd7: k=8; break;case 0xdb: k=9; break;case 0xdd: k=10;break;case 0xde: k=11;break;case 0xe7: k=12;break;case 0xeb: k=13;break;case 0xed: k=14;break;case 0xee: k=15;break;void main(void)while(1) P2=0xff;Getch();P3=seg7codek; /查表LED 输出P1=0xf0; /输出相同的四位数据。数码管动态显示效果

10、:液晶显示器显示“”。语言程序如下:#include sbit qian=P10;sbit bai=P11;sbit shi=P12;sbit ge=P13;code unsigned char seg7code10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /显示段码void Delay(unsigned int tc) /延时程序while( tc != 0 ) /如果tc 为0 则终止延时unsigned int i; /局部正整数变量ifor(i=0; i100; i+); /执行400 次将耗时1 毫秒tc-; /tc 计数

11、减一void Led(int date) /显示函数qian=0; /P1.0 输出低电平,选通千位数P3=seg7codedate/1000; /取出千位数,查表,输出。Delay(10); /延时qian=1; /销隐bai=0; /P1.1 输出低电平,选通百位数P3=seg7codedate%1000/100; /取出百位数,查表,输出。Delay(10); /延时bai=1; /销隐shi=0; /P1.2 输出低电平,选通十位数P3=seg7codedate%100/10; /取出十位数,查表,输出。Delay(10); /延时shi=1; /销隐ge=0; /P1.3 输出低电平

12、,选通十位数P3=seg7codedate%10; /取出个位数,查表,输出。Delay(10); /延时ge=1; /销隐main()int display_date=1234; /定义并赋值要显示的数据while(1)Led(display_date);/调用显示函数显示数据display_date数码管静态显示效果:液晶显示器最左边第一位将显示“”语言程序如下:#include sbit GE=P13;code unsigned char seg7code10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /显示段码main()unsigned char display_date=4; /定义并赋值要显示的数据while(1)P3=seg7codedisplay_date; /查表,输出GE=0; /P13 为低电平,相当于把数码管的4H 端接地

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

当前位置:首页 > 办公文档 > 教学/培训

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