基于STC90C51单片机的智能交通灯设计.pdf

上传人:tbuqq 文档编号:5335720 上传时间:2020-04-20 格式:PDF 页数:48 大小:2.26MB
返回 下载 相关 举报
基于STC90C51单片机的智能交通灯设计.pdf_第1页
第1页 / 共48页
基于STC90C51单片机的智能交通灯设计.pdf_第2页
第2页 / 共48页
基于STC90C51单片机的智能交通灯设计.pdf_第3页
第3页 / 共48页
基于STC90C51单片机的智能交通灯设计.pdf_第4页
第4页 / 共48页
基于STC90C51单片机的智能交通灯设计.pdf_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于STC90C51单片机的智能交通灯设计.pdf》由会员分享,可在线阅读,更多相关《基于STC90C51单片机的智能交通灯设计.pdf(48页珍藏版)》请在三一文库上搜索。

1、精心整理 基于 STC90C51 单片机的交通灯设计 1、 设计题目 基于 STC90C51 单片机的智能交通灯设计 2、设计要求 2.1、系统功能 (1)按照交通规则, 控制宝田路和前进路方向 及其人行道的交通信号灯(红黄绿)的通断。 (2)设置信号灯的通断时间。 (3) 可人工干预,使交通信号灯开启不同模式。 2.2、性能参数: (1)电源: 5VDC (2)LED 灯电流: 10mA (3)定时时间: 10s-200s 3、总体设计 根据系统功能和设计要求,系统采用单片机控制 的方案,基于HC6800S 开发板,由 STC90C51 , 74HC573 ,交通灯模块,动态数码显示管以及4

2、*2 精心整理 独立按键组成。 3.1 系统工作原理 在十字路口,分为宝田路和前进路,正常情况下, 在任一时刻只有一个方向通行,另一方向禁行, 持续一定时间,经过短暂的过渡时间,将通行禁 行方向对换。其具体状态如下:? (1)普通模式 : 状态一:宝田路通行阶段(宝田路及其人行道 亮绿灯 30 秒、前进路及其人行道亮红灯30 秒) ; 状态二:黄灯阶段(宝田路和前进路亮黄灯5 秒、两侧人行道亮红灯5 秒) ; 状态三:前进路通行阶段(前进路及其人行道 亮绿灯 30 秒、宝田路及其人行道亮红灯30 秒) ; 状态四:黄灯阶段(宝田路和前进路亮黄灯5 秒、两侧人行道亮红灯5 秒) ; 返回到状态一

3、。 (2)高峰期模式(设宝田路为主干道): 按下按键 2(key2) ,开启高峰期模式; 状态一:宝田路通行阶段(宝田路及其人行道 亮绿灯 60 秒、前进路及其人行道亮红灯30 秒) ; 精心整理 状态二:黄灯阶段(宝田路和前进路亮黄灯5 秒、两侧人行道亮红灯5 秒) ; 状态三:前进路通行阶段(前进路及其人行道 亮绿灯 30 秒、宝田路及其人行道亮红灯30 秒) ; 状态四:黄灯阶段(宝田路和前进路亮黄灯5 秒、两侧人行道亮红灯5 秒) ; 返回到状态一; 按键 2 释放,回到普通模式。 (3)紧急模式 : 按下按键 1(key1) ,开启紧急模式,所有道路及其 人行道均红灯亮,数码管不显示

4、。释放按键1,回 到普通模式。 3.2? 单片机交通控制系统的功能要求? 本设计能模拟基本的交通控制系统,用红绿黄 灯表示禁行,通行和等待的信号发生,还能进行倒 计时显示,通行时间调整功能和紧急情况全面禁 行。 ? (1)倒计时显示 ? 倒计时显示可以提醒驾驶员在信号灯灯色发生 改变的时间、在“停止”和“通过”两者间作出合 精心整理 适的选择。驾驶员和行人普遍都愿意选择有倒计时 显示的信号控制方式,并且认为有倒计时显示的路 口更安全。倒计时显示是用来减少驾驶员在信号灯 色改变的关键时刻做出复杂判断的一种方法,它可 以提醒驾驶员灯色发生改变的时间,帮助驾驶员在 “停止”和“通过”两者间作出合适的

5、选择?。? (2)时间的设置 ? 本设计中对时间进行了人为控制设置,正常情 况下宝田路和前进路的绿灯通行与红灯禁行时间均 设置为 30 秒、黄灯等待时间设置为5 秒。假设前进 路为主干道,考虑到主干道在上下班高峰期车流量 和人流量较大,人为增加开关K2。当 K2开启时, 主干道前进路上绿灯通行时间和宝田路上的红灯禁 行时间更改为60 秒,其余设置均不变;当K1关闭 时,又恢复正常情况下的时间设置。 (3)紧急情况全面禁行 精心整理 本设计中在紧急情况下增加了全面禁行状态, 增加开关 K1。当 K1开启时,宝田路和前进路及其 各自人行道均量红灯禁行;当 K1关闭时,交通灯恢 复正常状态。 4、详

6、细设计硬件设计 为了实现本设计要求的具体功能,选用STC90C51 单片机及外围器件构成最小控制系统,10 个发光二 极管分别分成两组红黄绿和两组红绿灯构成信号灯 指示模块, 4 个 LED动态数码管构成各个方向倒计 时显示模式,两个按键分别用来设置高峰期模式和 紧急模式。 4.1、单片机系统设计 单片机设计交通灯控制系统,可用单片机直接 控制信号灯的状态变化,基本上可以指挥交通的具 体通行,当然,接入LED数码管就可以显示倒计时 以提醒行使者,更具人性化。 精心整理 单片机上电后,系统进入正常工作状态,执行 交通灯状态显示控制,同时将时间数据倒计时输入 到 LED数码管上实时显示。 HC68

7、00S整体结构视图: STC90C51 内部结构图: 精心整理 STC90C51 芯片引脚图: 4.2、LED 数码管显示屏设计 LED动态数码管的显示原理为: 2 位 8 段数码管电路采用“共阳”连 接驱动代码,如右图所示。 段码和位码,段码即段选信号SEG , 它负责数码管显示的内容,图中ag、dp 组成的数据 (a 为最低位, dp 为最高位) 就是段码。 位码即位选信号DIG,它决定哪个数码管工作,哪 个数码管不工作。 LED 数码管显示代码表如下表所 示: 显示数值dp,g,f,e,d,c,b,a 代码 0 01111111 0x3f 1 00000110 0x06 2 010110

8、11 0x5b 3 01001111 0x4f 4 01100110 0x66 精心整理 5 01101101 0x6d 6 01111101 0x7d 7 00001101 0x07 8 01111111 0x7f 9 01101111 0x6f HC6800S 开发板中动态数码管模块原理图如下图 所示: 4.3、交通灯设计 HC6800S 开发板中交通灯模块原理图如下图所 示,宝田路红黄绿灯及其人行道上的红绿灯和前 进路上的红黄绿灯由JP1控制,前进路人行道上 的红绿灯由 J22控制。 5、详细设计软件设计 5.1、软件开发工具和环境 keilC51 Vision6.12 5.2、软件总体

9、设计 5.2.1总体结构流程图如下 主程 序, 即 开 精心整理 N Y Y N N Y Y N 5.2.2子结构软件设计 (1)普通模式 程序流程简图如下: 程序源代码如下: while(1) 开 初 设 红灯 结 黄灯 绿灯 黄灯 检测 是否 检测 是否 检测 按键 检测 按键 执行相应 程序,即 执行相应 程序,即 精心整理 if(S=71) S=0; /*宝田路通行,宝田路绿灯亮30 秒*/ if(S0;a-) for(b=110;b0;b-); (3)紧急模式 程序流程简图如下: N Y 程序源代码如下: /*按下按键 1,开启紧急模式, 所有红灯亮, 数码 管不显示 */ if(k

10、ey1=0) 开 普 紧急 按 精心整理 delayms(); /去抖延时 if(key1=0) Data0=0x00; Data1=0x00; Data2=0x00; Data3=0x00; Data4=0x00; Data5=0x00; Data6=0x00; Data7=0x00; Display(); led=0xFF; RED00=1; GREEN00=1; RED10=0; RED11=0; RED00=0; RED01=0; 精心整理 while(!key1); /按键 1 释放 keyscan(); (4)高峰模式 程序流程简图如下: N Y 程序源代码如下: /*按下按键 2

11、,开启上下班高峰期模式,主干道宝 田路绿灯时间为60秒*/ voidkeyscan() if(key2=0) 普 高峰 按 开 精心整理 delayms(); /去抖延时 if(key2=0) while(1) if(key2!=0)break; /当按键 2 释放,跳出循环 if(M=101) M=0; if(M #defineucharunsignedchar #defineuintunsignedint #defineWeixuanP1 / 定义使用的 I/O 口 #defineDuanxuanP0 #defineledP2 sbitRED10=P20;/上人行道红灯 sbitGREEN

12、10=P21;/ 上人行道绿灯 sbitRED11=P22; sbitYELLOW11=P23; sbitGREEN11=P24; sbitRED00=P30; / 右人行道红灯 sbitGREEN00=P31; /右人行道绿灯 sbitRED01=P25; 精心整理 sbitYELLOW01=P26; sbitGREEN01=P27; sbitkey1=P33; sbitkey2=P35; ucharcodewei= 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/ / 位选控制 ucharcodeduan= 0x3f,0x06,0x5b,0x4f,0x66

13、,0x6d,0x7d,0x07,0x 7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/段 选显示码 ucharData8; ucharT,S,M; /* 声明全局函数 */ voidDisplay(); voidinit(); 精心整理 voiddelayms(); voidkeyscan(); voidmain() S=0; M=0; init(); / 初始化函数 while(1) if(S=71) S=0; /* 宝田路通行,宝田路绿灯亮30 秒*/ if(S0;a-) for(b=110;b0;b-); voidinit() TMOD=0x01; / 设置

14、定时器工作方式 TH0=0x3C; / / 装初值 TH1=0xB0; 精心整理 EA=1; / 开启总中断 ET0=1; / 开启定时器中断 TR0=1; / 启动定时器 voidDisplay() / 显示子函数 uchari; uintj; for(i=0;i8;i+) Weixuan=weii; / 送位选数据 Duanxuan=Datai;/送段选数据 j=10; / 扫描间隔时间设定 while(j-); Duanxuan=0x00;/ 消隐 voidT0_time()interrupt1 TH0=0x3C; / / 重装初值 精心整理 TH1=0xB0; T+; if(T=20) S+; /S 计数 M+; /M 计数 T=0; /1 秒时间到, T清 0 重新再计 20 次

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1