《单片机实训》PPT课件

上传人:工**** 文档编号:569501783 上传时间:2024-07-30 格式:PPT 页数:14 大小:472.04KB
返回 下载 相关 举报
《单片机实训》PPT课件_第1页
第1页 / 共14页
《单片机实训》PPT课件_第2页
第2页 / 共14页
《单片机实训》PPT课件_第3页
第3页 / 共14页
《单片机实训》PPT课件_第4页
第4页 / 共14页
《单片机实训》PPT课件_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《《单片机实训》PPT课件》由会员分享,可在线阅读,更多相关《《单片机实训》PPT课件(14页珍藏版)》请在金锄头文库上搜索。

1、单片机实训单片机最小系统v单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是工业控制、设计智能化仪器仪表的首选微控制器,也是测控、监控的重要组成部分。v单片机最小系统主要包括时钟电路和复位电路。v用流水灯的程序验证单片机最小系统流水灯的程序v#include vvoid delay0_2s()vvunsigned char i;vfor(i=0;i10;i+)/设置10次循环次数vvTH1=0x3c;/定时器初值vTL1=0xb0;vTR1=1;/启动T1 vwhile(!TF1);/查询计数是否溢出vTF1=0; /定时时间到vvvvoid main()/主函数vvwhil

2、e(1)vunsigned char i,w;vTMOD=0x10; /设置T1工作方式1vw=0x01;/显示码初值vfor(i=0;i8;i+)vP1=w;/w取反后送P1口,点亮相应的流水灯 vw=1;/点亮灯的位置移动左移vdelay0_2s();vvw=0x80;/显示码vfor(i=0;i=1;/右移vdelay0_2s();/延时vvv流水灯的原理图秒表v设计两位LED数码管显示00-99,计满清零秒表的程序v#include vunsigned char msec,sec; /定义msec为50ms计数变量,sec为秒变量vvoid delay(unsigned char i)

3、/延时函数vunsigned char j,k;vfor(k=0;ki;k+)vfor(j=0;j255;j+);vvoid T0_INT(void) interrupt 1 /定时器0中断类型号为1vTH0=0x3c; /50ms定时初值vTL0=0xb0;vmsec+; /中断次数增1vif(msec=20) /中断次数到20次吗?vmsec=0; /是,1s计时到,50ms计数变量清零vsec+; /秒变量增1vif(sec=100) /到100s吗?vsec=0; /是,秒变量清零vvoid main()/主函数vunsigned char led=0xc0,0xf9,0xa4,0xb

4、0,0x99,0x92,0x82,0xf8,0x80,0x90; / 定义数字09字型显示码vunsigned char temp;vTMOD=0x01; /定时器0工作方式1vTH0=0x3C; /定时初值50msvTL0=0xb0;vEA=1;vTR0=1;/开总中断vET0=1;/开定时器0中断vP3=0xff;/p3口做输入vwhile(1) v vP2=0x01; /选p2.0控制的数码管vP1=ledsec/10;/显示秒个位vdelay(10);vP2=0x02; /选p2.1控制的数码管vP1=ledsec%10; /显示秒十位vdelay(10);vtemp=P3; /读入p

5、3口引脚状态并取反vtemp=temp&0x2c; /屏蔽掉无关位,保留三位按键状态vif(temp!=0)/判断有无按键按下vif(temp=0x04) /按键暂停键vTR0=0; /停止计数vif(temp=0x08) /按下启动键vTR0=1; /开始计数vif(temp=0x20) /按下清零键vTR0=0;sec=0;msec=0;秒表的原理图串口秒表v用串行口显示00-99,每隔一秒发送一次,循环反复;v程序采用查询方式编写串口秒表的程序v#include vunsigned char led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80

6、,0x90;vunsigned char msec,sec;vvoid delay();vvoid time0() interrupt 1v v TH0=0x3c;vTL0=0xb0;vmsec+;vif(msec=20)vv msec=0;v sec+;v if(sec=100)sec=0;vvvvoid main()vv TMOD=0x01;vTH0=0x3c;vTL0=0xb0;vEA=1;vET0=1;v vSCON=0; /可不写vTR0=1;vwhile(1)vv SBUF=ledsec%10;v while(TI=0);v TI=0;v SBUF=ledsec/10;v whil

7、e(TI=0);v TI=0;v delay();vvvvoid delay()vv unsigned char j,k;v for(j=0;j50;j+)v for(k=0;k200;k+);v串口秒表的原理图交通信号灯顺序控制v设计一个十字路口交通信号灯的顺序控制器v绿灯亮,放行20sv黄灯亮,警告5sv红灯亮,禁止25svS0键按下时,A路放行,B路禁行vS1键按下时,A路禁行,B路放行交通灯的程序v#includevunsigned char t0,t1;/定义全局变量,用来保存延时时间循环次数vvoid delay0_5s1()/延时v for(t0=0;t00x0a;t0+)/采用

8、全局变量t0作为循环控制变量v TH1=0x3c;/设置定时初值vTL1=0xb0;TR1=1;/启动T1vwhile(!TF1);/查询计数是否溢出vTF1=0;/定时时间到v void delay_t1(unsigned char t) v for(t1=0;t1t;t1+)/采用t1作为循环控制变量v delay0_5s1();v void int_0() interrupt 0 /紧急情况中断 unsigned char i,j,k,l,m;v i=P1;/保护现象v j=t0;v k=t1;v l=TH1;v m=TL0;v P1=0xdb; /两个方向都是红灯v delay_t1(

9、20);/延时10sv P1=i;/恢复现象v t0=j;v t1=k;v TH1=l;v TL1=m;vvoid int_1() interrupt 2 /特殊情况中断v unsigned char i,j,k,l,m;v EA=0;/关中断v i=P1;/保护现象v j=t0;v k=t1;v l=TH1;v m=TL1;v EA=1;/开中断v P1=0xf3; /A路放行v delay_t1(10);v EA=0;/关中断v vP1=i;/恢复现象v t0=j;v t1=k;v TH1=l;v TL1=m;v EA=1;/开中断vv void main() /主函数v unsigned

10、 char k;vTMOD=0x10;/T1在工作方式1vEA=1; /开总中断允许位vEX0=1;/开外部中断0中断允许位vIT0=1;/设置外部中断0为下降沿触发vEX1=1;/开外部中断1中断允许位vIT1=1;/设置外部中断1为下降沿触发vwhile(1) vP1=0xf3;/A绿灯,B红灯,延时55svdelay_t1(10);vfor(k=0;k3;k+)/A绿灯闪烁3次vP1=0xf3;vdelay0_5s1();/延时0.5s vP1=0xfb;vdelay0_5s1();vP1=0xeb;/A黄灯,B红灯,延时2Svdelay_t1(4);vP1=0xde; /A红灯,B绿灯,延时55Svdelay_t1(10);vfor(k=0;k3;k+) /B绿灯闪烁3次vP1=0xde;vdelay0_5s1(); /延时0.5SvP1=0xdf;vdelay0_5s1();/延时0.5SvP1=0xdd; /A红灯,B黄灯,延时2Svdelay_t1(4);交通灯的原理图实训总结

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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