河南理工大学微机原理与单片机实验、课程设计交通灯

河南理工大学微机原理与单片机实验、课程设计交通灯

ID:39500273

大小:419.00 KB

页数:7页

时间:2019-07-04

河南理工大学微机原理与单片机实验、课程设计交通灯_第1页
河南理工大学微机原理与单片机实验、课程设计交通灯_第2页
河南理工大学微机原理与单片机实验、课程设计交通灯_第3页
河南理工大学微机原理与单片机实验、课程设计交通灯_第4页
河南理工大学微机原理与单片机实验、课程设计交通灯_第5页
资源描述:

《河南理工大学微机原理与单片机实验、课程设计交通灯》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验四交通灯实验一、实验目的⑴按键、数码管、发光二极管综合应用编程技术⑵数据存储于EEPROM的技术(也可以不使用)⑶定时中断技术⑷按键中断技术二、实验实现的功能⑴通过1、2、3、4号按键对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。⑵紧急按键功能,当按下6键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。再按6键,恢复正常显示。三、系统硬件设计6--四、系统软件设计#includebiti=0;unsignedcharb;sbitL0=P0^0;sbitL1=P0^1;sbitL2=P0^2;sbitL3=P0^3;sbitL5=P0

2、^5;sbitL6=P0^6;sbitL7=P0^7;voidDelay300ms()//300ms延时{unsignedchari,j,k;i=13;j=156;k=83;do{do{while(--k);}while(--j);}while(--i);}voidDelay500us()//500ms延时{unsignedchari,j;i=6;j=93;do{while(--j);}while(--i);}Scan_Key()//按键扫描{unsignedcharFLAG=0;P3=P3

3、0x80;P3=P3&0xbf;if(L5==0){FLAG=1;}if

4、(L6==0)6--{FLAG=2;}if(L7==0){FLAG=3;}P3=P3

5、0x40;P3=P3&0x7f;if(L5==0){FLAG=4;}if(L6==0){FLAG=5;}if(L7==0){FLAG=6;}returnFLAG;}main(){unsignedchara[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};unsignedcharb[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedcharv=9,w

6、=5,y=9,z=5,n,g,x,s,t,m,q;P1M0=0xff;//设置红绿灯时间P1M1=0x00;P3=0xff;while(1){n=Scan_Key();if(n==1)v--;if(n==2)w--;if(n==3)y--;if(n==4)z--;if(n==5){Delay300ms();break;}for(g=0;g<100;g++)//显示调节时间{L3=0;L2=1;L1=1;L0=1;P1=a[v];Delay500us();P1=0x00;Delay500us();L3=1;L2=0;L1=1;L0=1;6--P1=b[w];Dela

7、y500us();P1=0x00;Delay500us();L3=1;L2=1;L1=0;L0=1;P1=a[y];Delay500us();P1=0x00;Delay500us();L3=1;L2=1;L1=1;L0=0;P1=b[z];Delay500us();P1=0x00;Delay500us();}}TMOD=0x10;TH1=0xd8;TL1=0xf0;ET1=1;EA=1;TR1=1;n=Scan_Key();m=0;t=0;for(;n==0;)//无按键按下开始倒计时{if(m==0&&t==0)//左侧数码管不起作用,右侧数码管计时{x=v;s

8、=w;for(;s>=0;){for(;x>=0;){n=Scan_Key();if(n==6)//6键按下视为紧急情况,红灯亮while(1){P2=0xdb;P3=0x18;Delay300ms();n=Scan_Key();if(n==6)break;}for(q=0;q<255;q++){if(x<=3&&s==0){P2=0xeb;P3=0xe8;}6--else{P2=0xf3;P3=0xf0;}L3=0;L2=1;L1=1;L0=1;P1=a[x];Delay500us();P1=0x00;Delay500us();if(x<=3&&s==0)//小

9、于3秒亮黄灯{P2=0xeb;P3=0xe8;}else//大于3秒亮绿灯{P2=0xf3;P3=0xf0;}L3=1;L2=0;L1=1;L0=1;P1=b[s];Delay500us();P1=0x00;Delay500us();if(s==0&&x==0)break;}while(i==1){if(x==0&&s!=0){s--;x=10;}if(x!=0){x--;}i=0;}if(s==0&&x==0)//换路口,左侧数码管计时break;}if(s==0&&x==0)break;}}if(s==0&&x==0){m=z;t=y;for(;m>=0;){

10、for(;

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

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

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