好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

交通信号灯课程设计报告.doc

19页
  • 卖家[上传人]:大米
  • 文档编号:548804141
  • 上传时间:2022-11-17
  • 文档格式:DOC
  • 文档大小:145.68KB
  • / 19 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 交通信号灯自动控制系统*******目录*******一、设计内容二、设计要求三、交通信号灯模拟控制系统设计程序流程图四、交通信号灯模拟控制系统原理图五、交通信号灯模拟控制系统主程序六、运行步骤七、检测与调试八、课程设计体会九、参考文献十、说明一、 设计内容:设计并制作一个如上图所示的十字路口交通信号自动控制模拟指示系统设该路口由A、B两条通行干道相交而成,四个路口各设一组红、黄、绿三色信号灯,用两位数码管作倒计时显示二、 设计要求:1.系统基本功能要求 (1)以秒为计时单位,两位数码管以十进制递减计数形式作定时显示,在递减计数回零瞬间完成换灯操作2)通过键盘红、黄、绿三色信号灯所亮时间在0~99秒内任意设定3)十字路口的通行起始状态可人工设定,运行中可通过人工干预使十字路口通行状况固定于任何一种工作模式 2.发挥部分(1)具有时间控制功能,交通信号灯工作时间:05:00~23:00;其余时间两个干道上的黄色信号灯闪烁显示;(2)绿色信号灯倒计时最后3秒和黄色信号灯显示时闪烁显示闪烁频率:1Hz);(3)其它功能三、交通信号灯模拟控制系统设计程序流程图1、主程序流程图:开始程序初使化 调用显示主程序 东西绿灯亮,南北红灯亮,进入倒计时,打开数码管显示 东西和南北黄灯亮,进入倒计时,打开数码管显示 东西红灯亮,南北绿灯亮,进入倒计时,打开数码管显示 图52、中断服务程序流程图:外部中断0: 外部中断1 :按键按下按键按下 转去中断服务子程序转去中断服务子程序设置个位计数值设置十位计数值 中断返回中断返回 图6 图7 计数器T0外部中断:确定按键按下转去中断服务子程序分别进行三组灯的组合状态的时间倒计数并进入此三种状态的一下死循环 中断返回 图83、交通灯工作换灯流程:R0=#0FFH南北红灯亮,东西绿灯亮 否 是 是东西和南北黄灯亮5sR0=#0FFH南北绿灯亮,东西红灯亮 否 四、交通信号灯模拟控制系统原理图1.直流电源图:2.交通信号灯模拟控制系统原理图: 五、交通信号灯模拟控制系统主程序#include #include#define uint unsigned int#define ucher unsigned charucher code table[]={0x40,0x40,0xf9,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};sbit k0=P3^0;sbit k1=P3^1;sbit k2=P3^2;sbit k3=P3^3;sbit k4=P3^4;sbit k5=P3^5;sbit k6=P3^6;sbit k7=P3^7;ucher tt,tt1,tt2,sec,min,shi; //初始定义void time1();void delay(uint z);void main (){int i,j,num1,num2,l,n,m,h1,h2,h3;ucher aa,bb,dd,ee;EA=1;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256; //中断定义ET0=1;EX0=1;EX1=1;num1=1;num2=1;P3=0xef;aa=0xb6;bb=0x96;dd=0x6b;ee=0x69;shi=8;P0=0xf2;if(k0==1){delay(5);if(k0==1)while(k0){if(k7==0){delay(5);if(k7==0)num1++;while(!k7);if(num1==11) //交通灯初值及工作状态设置 num1=1;}if(k6==0){delay(5);if(k6==0)num2++;while(!k6);if(num2==11)num2=1;}P1=table[num1];P2=table[num2];if(k1==0){delay(5);if(k1==0){aa=0x6b;bb=0x69;dd=0xb6;ee=0x96;}}}}else{num1=4;num2=1;}m=num1;n=num2;if(k0==0) //调节当前时间(即对时){delay(5);if(k0==0){while(!k0){if(k7==0){delay(5);if(k7==0){shi++;if(shi==24)shi=0; //调时h1=shi;h2=h1/10+1;h3=h1%10+1;P2=table[h3];P1=table[h2];while(!k7);}}if(k6==0){delay(5);if(k6==0){min++;if(min==60)min=0;h1=min;h2=h1/10+1;h3=h1%10+1; //调分P2=table[h3];P1=table[h2];while(!k6);}}if(k1==0){delay(5);if(k1==0){sec++;if(sec==60)sec=0;h1=sec;h2=h1/10+1;h3=h1%10+1; //调秒P2=table[h3];P1=table[h2];while(!k1);}}}}}TR0=1; //开启定时器中断if(num1==1)while(1){j=n;i=m; //工作循环程序for(j=n;j>0;j--){if(j<5){l=j;break;}P0=aa;P1=table[i];P2=table[j];delay(1000);if((shi>22)||(shi<5))time1();}if(j==l)for(j=l;j>0;j--){P1=table[i];P2=table[j];P0=bb;delay(500);P0=aa;delay(500);}for(j=n;j>0;j--){if(j<5){l=j;break;}P0=dd;if((shi>22)||(shi<5))time1();P1=table[i];P2=table[j];delay(1000);}if(j==l)for(j=l;j>0;j--){P1=table[i];P2=table[j];P0=ee;delay(500);P0=dd;delay(500);}}while(1){num2=n;num1=m;for(j=n;j>0;j--){i=m;P0=aa;P1=table[i];P2=table[j];delay(1000);if((shi>22)||(shi<5))time1();}num1--;for(i=num1;i>0;i--){for(j=10;j>0;j--){if((shi>22)||(shi<5))time1();if(i==1)if(j<5)break;P0=aa;P1=table[i];P2=table[j];delay(1000);}if(i==1)for(j=4;j>0;j--){P1=table[i];P2=table[j];P0=bb;delay(500);P0=aa;delay(500);}}num1=m;for(j=n;j>0;j--){i=m;P0=dd;P1=table[i];P2=table[j];delay(1000);if((shi>22)||(shi<5))time1();}num1--;for(i=num1;i>0;i--){for(j=10;j>0;j--){if((shi>22)||(shi<5))time1();if(i==1)if(j<5)break;P0=dd;P1=table[i];P2=table[j];delay(1000);}if(i==1)for(j=4;j>0;j--){P1=table[i];P2=table[j];P0=ee;delay(500);P0=dd;delay(500);}}}}void delay(uint z){uint t1,y; // 延时函数for(t1=z;t1>0;t1--)for(y=125;y>0;y--);}void time1(){for(;(shi>22)||(shi<5);){P0=0xdd;delay(500);P0=0xff;delay(500); //23点到5点的工作函数P1=table[1];P2=table[1];}}void enter0() interrupt 0{delay(5);if(k2==0){ //外部中断0 函数P1=0x00;P2=0x00;P0=0xb6;。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.