要求:

实验平台:MDK5 Proteus8 单片机:AT89C51
1、当A、B道均有车时轮流放行。A道放行10秒,B道放行10秒,转换时黄灯亮0.5秒。时间显示采用数码管显示。
2、一道有车时,另一道无车时,立即让有车的道放行。
3、当有紧急车辆时(如警车,救护车)通行时,禁止普通的车辆通行(A、B道皆亮红灯)。

说明:外部中断0 -¬¬¬¬------救护车、警车通行时,全亮红灯
外部中断1 -------只有一个车道有车时,有车车道处亮绿灯,无车车道亮红灯。
定时器1-------A,B两车道轮流放行,红绿黄三色灯按规定点亮

源代码:

;交通信号灯实验程序LED_BIT  EQU   P1DIG_TUBE EQU   P2DIS_RAM  EQU   30HCLOCK    EQU   40HNUM      EQU   20LEN      EQU   10HINIT_LED EQU   20HORG      0000HLJMP     MAINORG      0003HLJMP     EXINT_0 ;外部中断0 救护车服务函数ORG      0013HLJMP     EXINT_1 ;外部中断1 只有一车道有车服务函数ORG      001BHLJMP     TIMER1   ;定时器1 延时服务函数
MAIN:MOV      LEN,  #9MOV      LED_BIT,#0FFH ;    LEDOFF  ;熄灭led灯MOV      CLOCK, #00H ;软时钟初始化MOV      P1,    #0EEH  ;初始化交通灯MOV      DIG_TUBE,#6FH  ;初始化数码管读数 高电平点亮 9;定时器1初始化MOV      TMOD,  #10HMOV      TL1,   #0B0HMOV      TH1,   #3CHSETB     TR1  ;启动定时器SETB     ET1  ;开T1中断 ;外部中断初始化SETB     IT0 ;下降沿触发SETB     IT1SETB     EX0  ;使能INT_0SETB     EX1SETB     EA   ;使能总中断 SJMP     $
EXINT_0:   ;救护车通行时MOV      LED_BIT,#0EDH  ;点亮A B的红灯JNB      P3.2,   $CJNE     R6, #00H,TIM2MOV      LED_BIT,#0DBH TIM2:CJNE     R5, #01H,TIM1MOV      LED_BIT,#0EEH    RETITIM1:MOV      LED_BIT,#0F5HRETI
EXINT_1:   ;只有一车道有车时JB       P0.6,   TIM3  MOV      LED_BIT,#0F5H JNB      P3.2,   TIM4JNB      P0.6,   $TIM3:  JNB      P0.7,   A_CHRETIA_CH:MOV      LED_BIT,#0EEHJNB      P3.2,   TIM4JNB      P0.7,   $TIM4:RETI
TIMER1:     ;正常的交通模式INC      CLOCKMOV      A,     CLOCKCJNE     A,     #NUM,GOON  ;累加次数未到,进GOON;定时时间到处理   MOV      CLOCK,#00H  ;软时钟清零 JNB      P1.0, SAVE1 ;绿灯1点亮时JNB      P1.3, SAVE2 ;绿灯2点亮时JNB      P1.2, TRANS ;黄灯点亮时 SAVE1:MOV      R5,   #1  ;SETB     PSW.5  ;PSW.5 第一个绿灯时为1MOV      R6,   #1SJMP     CLOCK_T1SAVE2:MOV      R5,   #0  ;CLR      PSW.5  ;第二个灯点亮时MOV      R6,   #1SJMP     CLOCK_T1TRANS:    ;黄灯执行程序MOV      R6,#00HCJNE     R5,#01H,NEXT2     ;上一次第一个绿灯亮MOV      LED_BIT,#0F5H    MOV      LEN,#9SJMP     CLOCK_T1NEXT2:    ;第二个灯点亮时  MOV      LED_BIT,#0EEH  MOV      LEN,#9CLOCK_T1:MOV      R0,   #LENMOV      A,    @R0MOV      DPTR, #TABMOVC     A,    @A+DPTRMOV      DIG_TUBE,A DJNZ     LEN,GOONMOV      LED_BIT,#0DBHGOON:MOV      TL1,#0B0H  MOV      TH1,#3CH  RETI    TAB: DB  3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND

实验原理图:

注:外部中断1处的电路是为了辅助程序上的较好的实现,并不影响实验现象。

写于 2020.06.25晚 端午节

嵌入式编程 交通灯显示相关推荐

  1. 现代交通灯的设计C语言编程,交通灯设计_优秀论文.doc

    . PAGE .. 毕业论文(设计) 题 目 基于单片机控制的 交通灯的设计 _ 学生姓名 学 号 专业班级 指导教师 完成时间: 201 年 月 日 . PAGE .. 摘 要 交通信号灯的出现,使 ...

  2. 学习笔记-java编程-交通灯管理器设计流程。

    先抛出需求: 异步随机生成按照各个路线行驶的车辆. 例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ---- 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 . ...

  3. 计算机原理实验红绿灯转换,微机原理与应用的5个实验 包含8086扩展,8255交通灯,DEBUG程序,数码显示...

    包含8086扩展,8255交通灯,数码显示 实验一:汇编语言程序设计 实验二:查表程序设计 实验三:I/O口扩展实验 实验四:数码显示 实验五:8255模拟交通灯 实验一汇编语言程序设计实验目的 1. ...

  4. 计算机控制系统课程设计交通灯,太原理工大学数字逻辑课设(交通灯)

    <太原理工大学数字逻辑课设(交通灯)>由会员分享,可在线阅读,更多相关<太原理工大学数字逻辑课设(交通灯)(25页珍藏版)>请在人人文库网上搜索. 1.太原理工大学计算机科学与 ...

  5. 单片机怎么通过按键控制计时器的开始和停止_学习电路仿真:基于proteus电路仿真软件的交通灯控制电路设计...

    电路仿真软件是当代重要软件之一,缺乏电路仿真软件,模拟运行环境将无法搭建.对于电路仿真软件,虽然市面上类别众多,但知名电路仿真软件为proteus.本文对于电路仿真软件的介绍,为基于proteus的交 ...

  6. 设计分享|单片机交通灯仿真(汇编)

    具体实现功能 具体功能: (1)东西红灯60S倒计时,南北绿灯40S倒计时,东西向人行道红灯,南北向人行道绿灯: (2)40S后,黄灯闪烁切换,东西右转绿灯20S,左转绿灯20S,南北80S倒计时,右 ...

  7. 带注释的c51汇编语言,51单片机汇编语言实现交通灯 代码有详细注释

    ORG 0000H;程序起始地址 LJMP START;初始化标号 ORG 0003H;外部中断地址--东西紧急按钮触发 LJMP DXJJ;东西紧急标号 ORG 0013H;外部中断地址--南北紧急 ...

  8. 【Proteus仿真】51单片机汇编数显大型交通灯控制

    [Proteus仿真]51单片机汇编数显大型交通灯控制 Proteus仿真 学汇编的人虽然 不多,但是还是有的,分享一个汇编的案例,给需要的人予以参考学习,有些时候我们还是需要懂一些汇编指令比较好. ...

  9. 基于51单片机的十字路口交通灯系统

    1 设计名称 基于51单片机的十字路口交通灯系统(C语言.Proteus开发环境) 2 设计要求 1. 基于51系列单片机设计一个十字路口交通灯控制系统,用于模拟道路十字路口交通灯实际运行的场景. 2 ...

最新文章

  1. android-async-http使用例子
  2. python怎么安装jieba库-python环境jieba分词的安装
  3. mysql的安装、启动和基础配置 —— mac版本
  4. CSDN创作的markdown语法效果示意图
  5. linux看硬件配置命令,Linux查看硬件配置命令
  6. WinForm多线程+委托防止界面假死
  7. Q140:PBRT-V3,各种渲染算法(Integrator,积分器)汇总
  8. 秀米svg点击显示另一张图_SVG的雷,你踩过了没?
  9. Android颜色透明度(不透明度)计算
  10. 记录使用Kettle导入excel数据心得
  11. 如何检测文档里含有非英字符_知网检测是算字数还是字符
  12. cygwin安装gcc/g++
  13. JVM:Java内存区域和Java内存模型
  14. Linux系统介绍:内核、shell及软件包管理
  15. 二战计算机技术,2020二本二战西南交大电子信息(计算机技术)上岸
  16. python人工智能大全_(自兴人工智能)Python 列表(List)的灵活使用
  17. 测试开发是什么?为什么现在那么多公司都要招聘测试开发?
  18. DRM框架(vkms)分析(9)----drm驱动创建fbdevice分析(以rockchip_drm_drv为例)
  19. SpringBoot+Shiro+JWT+Mybatis-Plus搭建admin-shiro管理系统
  20. 计算机音乐必须会各种乐器吗,制作电脑音乐需要注意的几点

热门文章

  1. 中间件漏洞(Apache篇)
  2. MySQL的备份、恢复
  3. Linux tar命令详解
  4. Unity 3D-- 摄像机Clear Flags和Culling Mask属性用途详解
  5. 【STC15单片机】动态数码管
  6. du 查看文件大小命令
  7. 12.5米分辨率DEM
  8. Linux和UNIX
  9. vue实现鼠标移入移出事件
  10. DB查询分析器7.01新增的周、月SQL执行计划功能