首 页电子技术网络电视电路设计论坛
您当前的位置:无限电子制作网电子技术实用技能 → 文章内容 退出登录 用户管理
本类热门文章
相关文章
热门产品





用单片机控制交通灯
作者:佚名  来源:不详  发布时间:2007-1-19 20:46:38

减小字体 增大字体

 

>

传统的交通灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。采用单片机控制交通灯不但可以解决上述问题,而且还具有时间显示功能,非常方便。下面介绍一种用单片机控制交通灯的方法。

一、硬件 硬件电路如附图。AT89C2051的P1.7~P1.5和P1.3~P1.1直接驱动红、黄、绿灯,利用单片机的串口和二片74LS164串/并转换移位寄存器实现时间显示,七段数码管为共阴管,硬件电路极为简单。

二、软件 交通灯有红、黄、绿三种。红灯亮,停止通行;绿灯亮,允许通行;黄灯亮,作过渡。红灯亮60秒,绿灯亮55秒,黄灯亮5秒。每组灯的亮暗状态以2分钟为周期循环,故程序采用主、子程序方式,循环结构。另外,为了简化电路,红、黄、绿灯采用低电平点亮。

源程序清单如下:

   ORG 0000H
START:MOV DRTR,#TAB
MOV SCON,#00H
MOV P1,#6CH ;点亮红、绿灯
MOV R0,#0 ;R0清零
LEFT: INC R0
CJNE R0,#55,LP0 ;R0<55,转LP0
MOV P1,#6AH ;R0=55,点亮红、黄灯
LJMP LP1
LP0: CJNE R0,#60,LP1 ;R0<60,转LP1
MOV P1,#0C6H ;R0=60,点亮绿、红灯
LJMP RIGHT
LP1: LCALL DBDB
LCALL DISP
LJMP LEFT ;20H为1, 转LEFT
RIGHT:DEC R0
CJNE R0,#5,LP2 ;R0>0,转LP2
MOV P1,#0A6H ;R0=5,点亮黄、红灯
LJMP LP3
LP2: CJNE R0,#0,LP3
MOV P1,#6CH ;R0=0,点亮红、绿灯
   LJMP LEFT
LP3: LCALL DBDB
LCALL DISP
LJMP RIGHT
DBDB: MOV A,R0
MOV B,#10
DIV AB
MOV R1,A
MOV R2,B
RET
DISP: MOV A,R2
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$;查TI位
CLR TI
   MOV A,R1
MOVC A,@A+DPTR
MOV SBUF,A
      JNB T1,$
      CLR TI
      LCALL DEALY
      RET
DELAY:MOV R3,#09H
K1:   MOV R4,#100
K2:   MOV R5,#250
K3:   DJNZ R5,K3
      DJNZ R4,K2
      KJNZ R3,K1
      RET
TAB:  DB 3FH,06H,5BH
      DB 4FH,66H
      DB 6DH,7DH,07H
      DB 7FH,6FH


[] [返回上一页] [打 印]
文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 产品订单

Copyright © 2005-2008 Wxdzz.Com. All Rights Reserved .
Powered by:NewAsp SiteManageSystem Version 3.0.0

赣ICP05000510号