基于单片机交通信号灯系统的设计内容摘要:

口输出) 运行状态 空 黄灯 绿灯 红灯 空 黄灯 绿灯 红灯 1 0 0 1 1 0 1 0 0x9a ① 1 0 0 1 1 1 1 0 0x9e ② 1 0 1 0 1 0 0 1 0xa9 ③ 1 1 1 0 1 0 0 1 0xe9 ④ 1 0 0 1 1 0 0 1 0x99 ⑤ 1 0 0 1 1 0 1 0 0x9a ⑥ 1 0 1 0 1 0 0 1 0xa9 ⑦ 单片机 /微机接口课程设计说明书 5 主程序流程图 图 2 主程序流程图 单片机 /微机接口课程设计说明书 6 定时器 0 服务程序的流程图 图 3 定时器 0中断服务程序的流程图 设计源 程序 ORG 0000H。 主程序的入口地址 LJMP MAIN。 跳转到主程序的开始处 ORG 0003H。 外部中断 0的中断程序入口地址 ORG 000BH。 定时器 0 的中断程序入口地址 LJMP T0_INT。 跳转到中断服务程序处 ORG 0013H。 外部中断 1的中断程序入口地址 MAIN : MOV SP,50H MOV IE,8EH。 CPU 开中断,允许 T0 中断, T1 中断和外部中断1中断 MOV TMOD,51H。 设置 T1 为计数方式 ,T0 为定时方式,且都工作单片机 /微机接口课程设计说明书 7 于模式 1 MOV TH1,00H。 T1 计数器清零 MOV TL1,00H SETB TR1。 启动 T1计时器 SETB EX1。 允许 INT1 中断 SETB IT1。 选择边沿触发方式 MOV DPTR ,0003H MOV A, 80H。 给 8255 赋初值, 8255 工作于方式 0 MOVX @DPTR, A AGAIN: JB ,N0。 判断是否要设定东西方向红绿灯时间的初值,若 为 1 则跳转 MOV A,P1 JB ,RED。 判断 是否为 1,若为 1则设定红灯时间,否则设定绿灯时间 MOV R0,00H。 R0 清零 MOV R0,A。 存入东西方向绿灯初始时间 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAIN RED: MOV A,P1 ANL A,7FH。 置 0 MOV R7,00H。 R7 清零 MOV R7,A。 存入东西方向红灯初始时间 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAIN。 N0: SETB TR0。 启动 T0计时器 MOV 76H,R7。 红灯时间存入 76H N00: MOV A,76H。 东西方向禁止,南北方向通行 MOV R3,A MOV DPTR,0000H。 置 8255A 口,东西方向红灯亮,南北方向绿灯亮 MOV A,0DDH 单片机 /微机接口课程设计说明书 8 MOVX @DPTR, A N01: JB ,B0 N02: SETB CJNE R3,00H,N01。 比较 R3 中的值是否为 0,不为 0 转到当前指令处执行。 黄灯闪烁 5秒程序 N1: SETB MOV R3,05H MOV DPTR,0000H。 置 8255A 口,东西,南北方向黄灯亮 MOV A,0D4H MOVX @DPTR,A N11: MOV R4,00H N12: CJNE R4,7DH,$。 黄灯持续。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。