模拟交通灯毕业设计内容摘要:

器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。 如想禁止 ALE的输出可在 SFR8EH 地址上置 0。 此时, ALE只有在执行 MOVX, MOVC指令是 ALE才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执 行状态 ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1时, /EA将内部锁定为 RESET;当 8 /EA端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 中断系统 中断系统又叫作中断管理系统,其功能是使处理机对外界异步事件具有处理能力。 中断是一个过程,当中央处理器 CPU 在处理某件事情时,外部又发生了另一紧急事件,请求 CPU 暂停当前的工作而去迅速处理该紧急事件。 处理结束后,再回到原来被中断的地方,继续原来的工作。 引起中断的原因或发出中断请求的来源,称为中断源。 单片机一般允许有多个中断源,当几个中断源同时向 CPU 请求中断时,就存在 CPU 优先响应哪一个中断请求 源的问题(优先级问题),一般根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求,于是便规定每一个中断源都有一个中断优先级别,并且 CPU 总是响应级别最高的中断请求。 本设计中以按钮接 INT0(即 端口)上有中断请求电信号输入。 当按下按钮时, 中断源发出中断请求信号,将使响应中断标志置 1. CPU 检测到此中断标志为“ 1”,在满足中断响应条件下,响应中断。 CPU 响应中断请求后,就进入 的中断入口地址,转入执行中断服务程序。 当按下按钮时,中断结束。 回到原工作程序中去。 中断按钮如图 : 9 图 中断按钮 喇叭 当 CPU 检测到中断标志为“ 1”,满足中断服务条件,中断从 输出,喇叭响起。 如图 Q1NP NL S 1S O UN D E RR82 2 0R91 0 k 图 喇叭响起 10 电路原理 设计 电路的核心是 89C51 单片机,其内部带有 4KB 的 FlashROM,无须扩展程序存储器;电脑没有大量的运算和暂存数据,现有的 128B 片内 RAM 已能满足要求,也不必扩展片外 RAM;按键接口,由 , 来完成。 P1口接交通指示灯,整个系统采用查表的方发,将交通灯的显示情况以代码的形式送到指示灯,启动定时器,查询按键。 利用中断的方法使计 时时间循环,当按下应急按键时停止定时器,送一个代码使两个方向 等都不亮 ,按下一个按键时启动定时器,恢复循环。 如图 图 设计电路0 1 2543012345X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1C12 2 P FC22 2 P FX1CR Y S T A LC32 2 U FR11 0 0R21 0 0R31 0 0R41 0 0R51 0 0R61 0 0R7P ULL U PD1L E D R E DD2L E D Y E L L O WD3L E D G RE E ND4L E D R E DD5L E D Y E L L O WD6L E D G RE E NR 2 21 0 0R 2 31 0 0R 2 41 0 0D7L E D R E DD8L E D Y E L L O WD9L E D G RE E NR 2 51 0 0R 2 61 0 0R 2 71 0 0D 1 0L E D R E DD 1 1L E D Y E L L O WD 1 2L E D G RE E NQ1NP NL S 1S O UN D E RR82 2 0R91 0 k 11 4 软件设计 总体思路 交通灯的控制主要是利用单片机,是单片机的一个典型应用,首先用 12 个二极管的亮与灭来模拟交通灯的各种状态。 考虑交通灯的功能,一个十字路口至少需 4组交通灯:东西南北各 一 组,而设计的关键是控制交通灯的亮与灭。 考虑南北、东西方向灯的亮灭规律相同,故可以考虑用 三 个两组交通灯来模拟实际的三 组交通灯:东西一组 三 个二极管,南北一组 三 个二极管,分 别用红、绿、黄用来指示 行走与停止。 可用中断计数器控制,来显示不同的二极管来模拟交通灯不 同的状态。 同时使用 喇叭来处理紧急情况。 主程序模块 主程 序初始化和按键控制,首先将时间、中断 分别进行初始化,然后启动定时器对时间进行判断,同时扫描按键程序,用无条件跳转指令返回 , 再调用显示程序,如此周而复始的循环,如图 12 主 干 道 绿 灯 亮支 干 道 红 灯 亮主 干 道 黄 灯 亮支 干 道 红 灯 亮主 干 道 红 灯 亮支 干 道 绿 灯 亮主 干 道 红 灯 亮支 干 道 黄 灯 亮 图 主程序流程图 13 主程序: 初值: X=216-定时时间/振荡周期 12= 216- 50ms/1us=15536=3CB0H,TH0=3CH , TL0=0B0H。 ORG 0000H AJMP START ORG 0030H START: MOV TMOD, 01H。 令T 0为定时器方式1 MOV TH0, 3CH ; 装入定时器初值 MOV TL0, 0B0H SETB EA ; 开T 0中断 SETB TF0 SEBT TR 0 ; 启动T 0 计数器 MOV R0, 20H ; 软件计数器赋初值 LJMP $ ; 等待中断 中断服务程序模块 进入中断程序。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。