基于c51单片机的简单交通灯系统设计_课程设计报告(编辑修改稿)内容摘要:

辽东学院课程设计报告书 单片机原理与接口技术 7  RST:复位输入。 当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。 WDT 溢出将使该引脚输出高电平,设置 SFR AUXR 的 DISRT0 位(地址 8EH)可打开或关闭该功能。 DISRT0 位缺省为 RESET 输出高电平打开状态。  ALE/ PROG :当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 即使不访问外 部存储器, ALE 仍以时钟振荡频率的 1/ 6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 F1ash 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。 该位置位后,只有一条 M0VX 和 M0VC 指令 ALE 才会被激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。  PSEN 程序储存允 许( PSEN )输出是外部程序存储器的读选通信号,当 AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。 当访问外部数据存储器,没有两次有效的 PSEN 信号。  EA / VPP:外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址为 0000H- FFFFH),EA端必须保持低电平(接地)。 如 EA 端为 高电平(接 VCC 端), CPU 则执行内部程序存储器中的指令。 F1ash 存储器编程时,该引脚加上 +12V 的编程电压 Vcc。  XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 MCS— 51 的中断源 8051 有 5个中断源,它们是两个外中断 INT0( )和 INT1( )、两个片内定时 /计数器溢出中断 TF0 和 TF1,一个是片内串行口中断 TI 或 RI,这几个中断源由 TCON 和 SCON 两个特殊功能寄存器进行控制 ,其中 5个中断源的程序入口。 表 32 中断源程序入口 入口地址 中断源 0003H 外部中 断 0 (INT0 ) 000BH 定时器 0 (T0) 0013H 外部中断 1 ( 1INT ) 001BH 定时器 1 (T1) 0023H 串行口 (二)交通灯中的中断处理流程  现场保护和现场恢复 有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯显示电路。 辽东学院课程设计报告书 单片机原理与接口技术 8  中断打开和中断关闭 为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。  中断返回 执行完中断 服务程序后,必然要返回,即回交通灯信号回到中断前状态。 (三) 系统硬件总电路构成及原理 实现本设计要求的具体功能,可以选用 AT89C51 单片机及外围器件构成最小控制系统, 12个发光二极管分成 4组红绿黄三色灯构成信号灯指示模块 和紧急按钮。 系统硬件电路构成 本系统以单片机为核心,系统硬件电路由状态灯,按键 等 组成。 图 33 硬件电路总图 其中 P1 用于控制红绿黄发光二极管, XTAL1 和 XTAL2 接入晶振时钟电路, REST 引脚接上复位电路, 即 INT0 紧急情况处理按键。 系统工作原理 系统上 电或手动复位之后,系统显示状态灯,将状态码值送显 P1 口。 时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值, 当然,还要开启两个外部中断,其一为紧急情况处理中断,一旦信号有效,即 K键为低电平时进入中断服务子程序,东西南北路口的红灯全亮禁止全部通行,再按一下K 键,中断结束返回。 其二为系统复位 ,若 此时按下复位按钮,系统将自动恢复到初始状态。 其它硬件介绍 ( 1) 发光二极管 根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。 每个方向上设置红绿黄灯,总共 4 组。 如果东西红灯亮,那南 北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的。 辽东学院课程设计报告书 单片机原理与接口技术 9 图 34 信号灯的连接 ( 2) 按键控制 本设计设置了有 2 个键: K 键连接 , 复位按钮。 K 键一端接地,另一端接对应的 P3端口。 低电平有效,当按键按下端口接地,单片机捕获到低电平,从而知道相应的输入信息。 辽东学院课程设计报告书 单片机原理与接口技术 10 四、程序设计 (一)程序主体设计流程 全部控制程序实际上分为若干模块:键盘设 置处理程序,状态灯控制程序, LED 显示程序紧停程序,中断服务子程序,红绿灯时间调整程序等。 整个软件程序方面主要分两大部分:主程序部分和中断处理程序。 图 41 系统总流程图 设计说明:该智能交通灯控制系统的软件设计采用的是顺序执行并反复循环的方法。 为了能够使实验快速地实现设计目的,我们将每个工作循环时间设计定在 20s。 每 红绿灯转换时,正在通行路口的绿灯开始闪烁三次,随后 点亮 黄灯 ,以提醒路人上的行人 及车辆,交通灯即将发生变化。 在此期间若中断按键按下则转入中断服务子程序进行相关操作。 (二)理论基础知识 定时器原理 定时器工作的基本原理其实就是给初值,让它不断加 1直至减完为模值,这个初值是送到TH和 TL 中的。 它是以加法记数的,并能从全 1到全 0 时自动产生溢出中断请求。 因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为 C,把计数初值设定为 TC 可得到如下计算通式: 开始 系统初始化 东西亮绿灯,南北亮红灯 东西,南北方向换向 中断处理子程序 处理 返回 东西绿灯闪烁,然后转换黄灯,同时,南北亮红灯灯 辽东学院课程设计报告书 单片机原理与接口技术 11 TC=MC 式中, M为计数器模值。 计数值并不是目的,目的是时间值,设计 1 次的时间,即定时器计数脉冲的周期为 T0,它是单片机 系统主频周期的 12 倍,设要求的时间值为 T,则有 C=T/T0。 计算通式变为: T=( M- TC) T。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。