单片机交通灯代码(献给淮工苦逼们)

单片机交通灯代码(献给淮工苦逼们)

ID:20180493

大小:37.00 KB

页数:12页

时间:2018-10-10

单片机交通灯代码(献给淮工苦逼们)_第1页
单片机交通灯代码(献给淮工苦逼们)_第2页
单片机交通灯代码(献给淮工苦逼们)_第3页
单片机交通灯代码(献给淮工苦逼们)_第4页
单片机交通灯代码(献给淮工苦逼们)_第5页
资源描述:

《单片机交通灯代码(献给淮工苦逼们)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机交通灯代码(献给淮工的苦逼们)/*--------------------------------------首先像版权所有者,我们敬爱的老大致敬老大老大我爱你,就像老鼠爱大米----------------------------------------*/#include#include#defineuintunsignedint//无符号整形习惯的定义#defineucharunsignedchar//无符号字符型习惯的定义//012345unsignedcharcodeduanma[1

2、0]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//00111111unsignedcharcodeweima[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//11111110unsignedchartemp[6];sbitduan=P2^6;sbitwei=P2^7;sbitkey1=P3^4;sbitkey2=P3^5;sbitkey3=P3^6;sbitkey4=P3^7;sbitfengmingqi=P2^3;sbitDIOLA=P2^5;//

3、交通灯定义sbitbutton0=P1^0;//红灯sbitbutton1=P1^2;//绿灯sbitbutton2=P1^1;//黄灯/*--------------------------------------MS延时函数----------------------------------------*/voiddelayms(unsignedintt){unsignedcharx,y;for(x=t;x>0;x--)for(y=110;y>0;y--);//延时1ms}/*-----------------------------

4、---------uS延时函数----------------------------------------*/voiddelayus(unsignedintt){while(t--);}voidbut0();//红灯亮voidbut1();voidbut2();voidzd();voidshow0();voidshow1();voidshow2();uinti,t,j,sec;voidjiaotong(){sec=70;//35+5+30一共运行的时间zd();//定时器初始化,秒数从70减一while(key4==0)//4键按下{

5、if(sec>35)but0();//红灯if(sec<=35&&sec>5)but1();//绿灯if(sec<=5&&sec>0)but2();//黄灯if(sec==0){sec=70;}}}voidzd(){EA=1;//总中断ET0=1;//定时器0的中断TR0=1;//定时器0开启TMOD=0X01;//模式一TH0=(65536-50000)/256;//高八位作为定时器0高八位TL0=(65536-50000)%256;//低八位作为定时器低八位}voidtime0()interrupt1//溢出后tf0=1,则调用{TH

6、0=(65536-50000)/256;TL0=(65536-50000)%256;t++;//每50毫秒加一次if(t==20)//50ms*20=1s{sec--;t=0;}}voidbut0()//红灯{button0=0;//开红灯button2=1;//关黄灯button1=1;show0();}voidbut1()//绿灯{button1=0;button0=1;button2=1;show1();}voidbut2()//黄灯{button2=0;button1=1;button0=1;show2();}voidbut3()

7、{button1=0;button0=1;button2=1;show3();}voidshow0(){uintb;if(sec>35){b=sec-35;wei=1;//开十位数码管位选P0=weima[0];//选第一个数码管显示十位wei=0;duan=1;P0=duanma[b/10];//整除,开十位数码管段选duan=0;delayms(10);wei=1;//开ge位数码管位选P0=weima[1];wei=0;duan=1;P0=duanma[b%10];//开个位数码管段选duan=0;//P2=1;delayms(10

8、);}}voidshow1(){uintb;if(sec<=35&sec>5){b=sec-5;wei=1;//开十位数码管位选P0=weima[0];wei=0;duan=1;P0=duan

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

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

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