基于PIC16F877A单片机的交通灯设计.doc

基于PIC16F877A单片机的交通灯设计.doc

ID:51802116

大小:34.00 KB

页数:5页

时间:2020-03-15

基于PIC16F877A单片机的交通灯设计.doc_第1页
基于PIC16F877A单片机的交通灯设计.doc_第2页
基于PIC16F877A单片机的交通灯设计.doc_第3页
基于PIC16F877A单片机的交通灯设计.doc_第4页
基于PIC16F877A单片机的交通灯设计.doc_第5页
资源描述:

《基于PIC16F877A单片机的交通灯设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件流程说明当东西红灯亮,南北绿灯亮时,东西方向数码管倒计时40秒,南北数码管倒计时30秒;切换成南北黄灯亮,东西红灯亮,同时南北数码管倒计时10秒,黄灯亮10秒;然后切换成南北红灯亮,东西绿灯亮,南北数码管倒计时40秒,东西数码管倒计时30秒;切换成南北红灯亮,东西黄灯亮,同时东西方向数码管倒计时10秒,黄灯亮10秒;一直循环下去,再一次切换成东西红灯亮,南北绿灯亮时,南北方向数码管倒计时30秒……仿真电路图:#includeunsignedcharLED1=0;unsignedcharLED2=0;un

2、signedcharLED3=0;unsignedcharLED4=0;unsignedcharLED_L=0;constunsignedchartable[18]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X60,0X25,0X3c,0X23,0X34,0X74,0XF7,0XFF};voidtimer1init(void)//初始化{T1CON=0X01;//打开定时器1TMR1IF=0;//清除TMR1中断标志TMR1IE=1;//TMR1中断允许TMR

3、1H=0xF6;//赋初值,以便TMR1每2MS左右中断一次TMR1L=0x3D;PIR1=0;//清除所有中断标志PEIE=1;//允许外围总中断GIE=1;//总中断开关打开}voidinterruptT1(void)//中断处理{if(TMR1IF==1)//如果是定时器1中断{TMR1IF=0;//清除定时器1中断标志TMR1H=0XF6;//重新复初值TMR1L=0x3D;switch(LED_L){case0://点亮第一个数码管RE2=1;RE1=0;RE0=0;PORTB=table[LED1];LED_

4、L=1;break;case1://点亮第二个数码管RE2=0;RE1=1;RE0=0;PORTB=table[LED2];LED_L=2;break;case2://点亮第三个数码管RE2=1;RE1=1;RE0=0;PORTB=table[LED3];LED_L=3;break;case3://点亮第四个数码管RE2=0;RE1=0;RE0=1;PORTB=table[LED4];LED_L=0;break;default://语句dLED_L=0;break;}}}delay()//延时500ms{intj,k;f

5、or(j=0;j<500;j++)for(k=0;k<49;k++){}}delay_s(intn)//延时n秒{inti;for(i=0;i

6、00;PORTE=0X00;timer1init();//定时器1初始化LED1=3;LED2=0;LED3=3;LED4=5;//数码管赋初值while(1){PORTA=0X01;PORTC=0X40;//东西红灯亮,南北绿灯亮LED1=3;LED2=0;LED3=4;LED4=0;//东西倒数40S,南北倒数30Sfor(i=0;i<40;i++){delay_s(1);LED2=LED2-1;LED4--;if(LED2==0XFF){LED2=9;LED1--;}if(LED4==0XFF){LED4=9;LE

7、D3--;}if(i==29){PORTA=0X02;//南北黄灯亮10S{LED1=1;LED2=0;LED3=1;LED4=0;}if(LED2==0XFF){LED2=9;LED1--;}if(LED4==0XFF){LED4=9;LED3--;}if(LED2==0XFF&LED4==0XFF){}}}PORTA=0X04;PORTC=0X10;//东西绿灯亮,南北红灯亮LED1=4;LED2=0;LED3=3;LED4=0;//东西倒数40S,南北倒数30Sfor(i=0;i<40;i++){delay_s(1

8、);LED4=LED4-1;LED2--;if(LED4==0XFF){LED4=9;LED3--;}if(LED2==0XFF){LED2=9;LED1--;}if(i==29){PORTC=0X20;//东西黄灯亮10S{LED1=1;LED2=0;LED3=1;LED4=0;}if(LED4==0XFF){LE

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

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

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