您当前的位置:五五电子网电子知识应用领域交通控制指示交通灯系统软硬件设计 正文
交通灯系统软硬件设计

交通灯系统软硬件设计

点击数:7180 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   交通控制指示

  一、  系统功能要求:

  1. 设计任务在一十字路口设置交通灯,并用单片机对其进行合理的控制。

  时间方向 控制要求

  白天 东西 绿灯 黄灯 红灯 南北 红灯 绿灯 黄灯

  晚上 东西 黄灯 南北 红灯

  2.总体设计方案现在流行的一种设计为两主干线相交的十字路。本设计采用一主干道(南北方向),一从干道(东西方向)的路口,即主干道的通行时间为从干道的2倍。在正常情况下,两干道的交通灯按图1进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位LED上;另发挥部分为当出现紧急情况时,路口的交通灯全为红灯,紧急情况解除时,恢复到原来的状态。

  二、         总体设计方案提示:

  1.假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态。

  2.东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态。

  3.南北绿灯通车,东西红灯。过一段时间转状态。

  4.南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。

  三.硬件设计

  电路原理图如下:


 
 
四、软件设计
1、  流程图



www.55dianzi.com
2、程序设计
        ORG 0000H
        MOV P0,#00H                ;确保P0为低电位
        lJMP MAIN0
        ORG 0030H
MAIN0: MOV 30H,#08H
        MOV R6,#00H
        MOV R7,#00H
        MOV DPTR,#TABLE            ;取数码管的译码
        MOV TMOD,#01H              ;设计定时方式及时间
        MOV TL0,#0CDH
        MOV TH0,#0BH
        SETB TR0
        MOV IE,#00H
 MAIN: MOV P1,#0F3H                ;南北绿灯,东西红灯
        MOV R6,#1EH                ;红灯30s倒计时
        MOV R7,#19H                ;绿灯25s倒计时
  MAIN1:CALL DELAY                  ;1S延时子程序
        JB P0.1,REL1                ;判断是否有东西方向按钮按下
        CJNE R7,#00H,MAIN1          ;判断绿灯25s是否倒计完
        MOV P1,#0F5H                ;南北黄灯,东西红灯
  MAIN2:CALL DELAY
        MOV R7,#00H                ;红灯继续倒计时,黄灯闪烁,保持0s
        CPL P1.1                    ;黄灯闪烁
        CJNE R6,#00H,MAIN2          ;判断红灯是否倒计时完
        MOV P1,#0DEH                ;南北红灯,东西绿灯
        MOV R7,#1EH
        MOV R6,#19H
  MAIN3:CALL DELAY
        JB P0.0,REL2
        CJNE R6,#00H,MAIN3
        MOV P1,#0EEH
  MAIN4:CALL DELAY
        MOV R6,#00H
        CPL P1.4
        CJNE R7,#00H,MAIN4
        JMP MAIN
  REL1:MOV P1,#0F5H                ;东西方向按钮按下,南北方向强制由绿灯变成黄灯警告
        MOV R6,#05H
        MOV R7,#00H               
        JMP MAIN2                 
  REL2:MOV P1,#0EEH                ;南北方向按钮按下,东西方向强制由绿灯变成黄灯警告
        MOV R7,#05H
        MOV R6,#00H
        JMP MAIN4
  ;1s延时子程序
  DELAY:MOV A,R6                    ;进行南北方向倒计时时间的十进制调整
        MOV B,#0AH
        DIV AB
        MOVC A,@A+DPTR              ;找寻相应的数码管代码
        MOV P2,#01H
        MOV P3,A                    ;输出个位
        MOV R4,#4                  ;降低动态显示频率
  LOOP2:MOV R3,#125
  LOOP3:DJNZ R3,LOOP3
        DJNZ R4,LOOP2
        MOV A,B
        MOVC A,@A+DPTR
        MOV P2,#02H                ;输出十位
        MOV P3,A
        MOV R4,#4
  LOOP4:MOV R3,#125
  LOOP5:DJNZ R3,LOOP5
        DJNZ R4,LOOP4
        MOV A,R7                    ;进行东西方向倒计时时间的十进制调整
        MOV B,#0AH
        DIV AB
        MOVC A,@A+DPTR
        MOV P2,#04H
        MOV P3,A
        MOV R4,#4
  LOOP6:MOV R3,#125
  LOOP7:DJNZ R3,LOOP7
        DJNZ R4,LOOP6
        MOV A,B
        MOVC A,@A+DPTR
        MOV P2,#08H
        MOV P3,A
        MOV R4,#4
  LOOP8:MOV R3,#125
  LOOP9:DJNZ R3,LOOP9
        DJNZ R4,LOOP8
        JBC TF0,LOOP                ;判断是否计满125ms
        AJMP DELAY
  LOOP:MOV TL0,#0CDH              ;计满125ms重新给定时器赋值
        MOV TH0,#0BH
        MOV A,30H
        DEC A
        MOV 30H,A
        JNZ DELAY                  ;判断是否计满8次125ms,即1s
        DEC R6                      ;计满1s,东西倒计时减1,南北倒计时减1
        DEC R7
        MOV 30H,#08H                ;重新1s次数,重新计时
        RET
  TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H  ;相应数值的数码管代码
        DB 92H,82H,0F8H,80H,90H   
        END


本文关键字:交通灯  交通控制指示应用领域 - 交通控制指示

《交通灯系统软硬件设计》相关文章>>>