找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7928|回复: 2
打印 上一主题 下一主题
收起左侧

单片机十字路口交通灯制作 有程序 实物图

[复制链接]
跳转到指定楼层
楼主
ID:85192 发表于 2015-7-9 23:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本十字路口交通灯主要是由AT89C2051单片机和若干不同颜色的发光二极管组成。通过对AT89C2051单片机的编程,按照交通信号灯的要求编译出相应的数据码,并运用“MOV A,#data”指令以及DELAY(延时子程序),将数据码送入端口(P1口)显示,并作相应的延时,使其成为一个交通信号灯。根据实际需要,延时时间的长短可由程序来控制。
这是一个最简单的交通灯了,只是完成了交通灯的最基本的功能,没有数码显示,没有强制通行或强制停止(即单片机的中断)功能。以后有时间我会把它给完善的。程序很简单,相信大家一看就懂,很酷似一个流水灯的程序吧!其实有些控制并不要把它想象的太复杂,只要搞清楚它到底是怎样的一个控制过程,控制的本质是什么,理清思路,看清本质。
汇编源程序如下:
ORG 0000H
LOOP:MOV P1,#7EH
     ACALL DELAY1
     MOV P1,#0FFH
     ACALL DELAY2
     MOV P1,#7EH
     ACALL DELAY2
     MOV P1,#0FFH
     ACALL DELAY2
     MOV P1,#7EH
     ACALL DELAY2
     MOV P1,#0FFH
     ACALL DELAY2
     MOV P1,#7EH
     ACALL DELAY2
     MOV P1,#0BDH
     ACALL DELAY3
     MOV P1,#0DBH
     ACALL DELAY1
     MOV P1,#0FFH
     ACALL DELAY2
     MOV P1,#0DBH
     ACALL DELAY2
     MOV P1,#0FFH
     ACALL DELAY2
     MOV P1,#0DBH
     ACALL DELAY2
     MOV P1,#0FFH
     ACALL DELAY2
     MOV P1,#0DBH
     ACALL DELAY2
     MOV P1,#0BDH
     ACALL DELAY3
     MOV P1,#0FFH
     SJMP LOOP
DELAY1:MOV R0,#160
    L1:MOV R1,#250
    L2:MOV R2,#250
       DJNZ R2,$
       DJNZ R1,L2
       DJNZ R0,L1
       RET
DELAY2:MOV R3,#25
    L3:MOV R4,#100
    L4:MOV R5,#100
       DJNZ R5,$
       DJNZ R4,L4
       DJNZ R3,L3
       RET
DELAY3:MOV R6,#100
    L5:MOV R7,#100
    L6:MOV 10H,#100
       DJNZ 10H,$
       DJNZ R7,L6
       DJNZ R6,L5
       RET
       END           
                  
    注:晶振12MHZ。控制的顺序是这样的:先是:东西绿灯和南北红灯同时亮20S。然后 :东西绿灯和南北红灯同时闪烁3次,闪烁3次后, 东西黄灯和南北黄灯同时亮3S。最后:东西红灯和南北绿灯同时亮20S,东西红灯和南北绿灯同时闪烁3次,闪烁3次后, 东西黄灯和南北黄灯同时亮3S 。就这样无限循环下去。
本程序已通过实践验证!!!






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:84566 发表于 2015-7-10 16:36 | 只看该作者
楼主可以放个电路图上来
回复

使用道具 举报

板凳
ID:87537 发表于 2015-8-20 09:42 | 只看该作者
我也想看看电路图。做个给儿子玩玩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表