基于at89s51单片机的数显交通灯设计(编辑修改稿)内容摘要:

系统硬件设计 6 数据现畅通。 8051 的 /RD 和 /PSEN 相与后接 DIR,使得 /RD 或 /PSEN 有效时, 74LS245输入( ←Di ),其它时间处于输出( →Di )。 2. 1. 4 LED 的特性及使用 发光二极管是由 Ⅲ Ⅳ 族化合物,如 GaAs(砷化镓)、 GaP(磷化镓)、 GaAsP(磷砷化镓)等半导体制成的,其核心是 PN结。 因此它 具有一般 PN结的 IN特性,即正向导通,反向 截止、击穿特性。 此外,在一定条件下,它还具有发光特性。 在正向电压下,电子由 N 区注入 P 区,空穴由 P 区注入 N区。 进入对方区域的少数载流子(少子)一部分与多数载流子(多子)复合而发光。 图 3 七段 LED 数码管引脚图 交通灯倒计时显示部分为共阴 LED 数码管,如图 3。 即 LED 的阴极全部接低电平,阳极接高电平的 LED 亮,这样就能显示数字。 2. 2 系统硬件设计 2. 2. 1 系统框图 7 图 4 数显交通灯系统组成框图 工作原理:按照系统设计的要求和功能,将系统分为主控模块、 LED 显示模块、电源电路、复位电路、晶振电路、驱动电路等几个模块,系统组成框图如图 4所示。 主控模块采用 AT89S52 单片机,显示模块采用七段共阴 LED 数码管。 晶振电路为单片机提供稳定、高频率的实基脉冲,使得单片机能够准确的执行命令指挥交通灯得工作。 按键电路可以再必要时转换交通灯的工作方式,适应实时交通情况。 复位电路作用于发生意外的情况下,可以使交通灯迅速回到正常工作状态。 2. 2. 2 电源电路的设计 图 5 电源电路原理图 如图 5,该电路输入为 220V 交流电,经过整流滤波实现稳定的直流 5V电压输出。 原理: 220V 交流电通过变压器降压后通过二极管桥式整流电路得到一个电压波动很大电源电路 AT89S52 单片机 A道 LED显示电路 红黄绿灯显示电路 B道 LED显示电路 红黄绿灯显示电路 复位电路 晶振电路 按键电路 第二章 系统硬件设计 8 的直流电源,再通过 330uF 的电解电容滤波实现电压的平稳输出,此时得到大约 11V的直流电压。 为了得到稳定的 5V 电压输出,在这里接一个 7805 三端稳压器。 7805 最大输出电流为 1A,从而使负载得到保护。 仿真 测试:按照电路设计,在输入端加上 220V 的交流电源之后, LED 发光显示工作状态,使用万用表对输出进行开路测试,显示输出为。 输出端接入 10K 左右负载后,显示输出为。 2. 2. 3 单片机复位电路工作原理及设计 图 6 单片机复位电路 单片机在启动时都需要复位,以使 CPU 及系统各部件处于确定的初始状态,并从初态开始工作。 89 系列单片机的复位信号是从 RST引脚 输入到芯片内的施密特触发器中的。 当系统处于正常工作状态时,且振荡器稳定后,如果 RST 引脚 上有一个高电平并维持 2个机器周期 (24 个振荡周期 )以上,则 CPU就可以响应并将系统复位。 单片机系统的复 位方式有:手动按 键 复位和上电复位。 此处电路采用手动按键复位的方式。 如图 6,当按键按下时, RST 端直接接 5V电源电压,由于人按键时间最短也要数十毫秒,因此完全满足复位的时间条件。 2. 2. 4 单片机晶振电路工作原理及设计 9 图 7 单片机晶振电路 晶振是晶体振荡器的简称。 它用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单 频振荡。 晶振的作用是为系统提供基本的时钟信号。 通常一个系统共用一个晶振,便于各部分保持同步。 如图 7,在 XTAL1 和 XTAL2 两引脚接入晶体振荡器,在晶振的两端并联两个 30pF 的电容,对振荡器频率有微调的作用,震荡范围为 ~12MHz。 2. 2. 5 按键电路的设计 图 8 按键电路 第二章 系统硬件设计 10 为了可以人工控制调节东西南北方向通行时间,因此在此电路中加入按键电路。 如图8,当按下 S2 时,南北通行时间加长;当按下 S3 时,东西通行时间加长。 S4 为执行中断程序按键,当按下时,单片机执行中断服务程序。 2. 2. 6 时间 倒计时显示电路 图 9 显示电路 如图 9所示,电路共有四组两位数码管和交通灯组。 J6,J7 为人行道交通灯, J8, J9,J10 为左右转和直行交通指示灯,数码管显示直行倒计时。 同方向的交通灯组显示相同。 同方向直行交通灯显示与人行道交通灯显示时间 长短 相同。 2. 2. 7 电路原理图及工作原理 按照设计要求,系统分为主控模块, LED 显示模块,复位电路,晶振电路,按键电路几个部分。 如图 10,主控模块即 AT89S52 单片机, P0 口和 P2口控制东西南北交通灯显示,P1口控制数 码管的倒计时显示。 复位电路为按键复位,按键按下,单片机开始工作。 晶振电路为无源晶振,使用 12MHz 晶体振荡器。 按键电路三个按键分别为南北通行时间加长,东西通行时间加长,中断服务程序入口。 11 图 10 电路原理图第三章 系统软件件设计 12 第三章 系统软件设计 3. 1 系统 主 程序流程图 图 11 主程序流程图 开始 A道直行, B道红灯全亮 延时 35 秒 A道 直行黄灯亮, B 道左转弯 延时 5 秒 A道右转弯, B 道左右转弯 延时 20 秒 A道红灯全亮, B 道直行 延时 35 秒 A道红灯全亮, B 道直行黄灯亮 延时 5 秒 A道左右转弯, B 道右转弯 延时 20 秒 13 主程序即交通灯正常运行状态下单片机执行的命令, 如图 11,通过主程序流程图可以看出,在正常工作状态下 ,东西道和南北道的通行时间和停止时间是相同的,人行道的通行时间也相同。 若交通状况一切良好则单片机一直按照此流程循环执行。 3. 2 系统子程序 3. 2. 1 延时子程序 单片机延时程序的编写有 以下两种常用 指令:空操作指令 NOP,循环转移指令 DJNZ。 NOP 为单周期指令,功能只是消耗一个机器周期,而 DJNZ 为双周期指令,其功能是将第一个操作数减 1,并判断是否为 0,不为 0 则转移到目标地址,为 0 则往下顺序执行。 这样就可以利用循环嵌套实现时间较长的延时。 在此程序中利用的是定时器的中断进行延时,定时器中断 20 次为 1秒。 定时中断子程序: PUSH ACC PUSH PSW CLR TR0 CLR TF0 MOV TL0, 0B0H MOV TH0, 3CH DJNZ R2, DS_C MOV R2, 20 DEC 30H MOV A, 30H 3. 2. 2 紧急中断子程序 当十字路口发生紧急事件或者有紧急车辆需要通行时需要执行紧急中断子程序。 当事件处理完毕恢复正常交通。 PUSH ACC PUSH PSW CLR IE0 CLR TR0 CPL URF JB URF, UR_CON。 紧急结束;跳转到正常交通状态 MOV P0, 49H MOV P2, 15H 第三章 系统软件件设计 14 AJMP UR_R 3. 2. 3 显示子程序 由于数显交通灯需要一直显示倒计时,因此显示子程序一直处于循环执行状态,并且每次都扫描按键电路,当有按键按下时执行时间加长程序来调整十字路口交 通灯显示时间,若没有按键按下,则返回继续执行显示程序。 显示子程序: MOV P3, 0DFH。 选中南北方向的十位数码管 MOV A, 30H MOV B, 10 DIV A, B MOVC A, @A+DPTR MOV P1, A LCALL D1MS …… SETB。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。