51单片机简单交通灯控制程序

简介: /****************************************************************************** 交通灯控制程序说明文档 ***********************************...

/******************************************************************************

交通灯控制程序说明文档

******************************************************************************/

1、  protues进行原理图绘制

2、  keil软件进行代码编写与调试

3、  Keil + protues进行仿真实验

4、  处理器采用Atmel公司的AT89C51,晶振频率12MHz,源代码用汇编语言编写

5、  主要控制思想:简单交通灯,只涉及东西南北四个方向车辆控制,不考虑转向问题,流程图

6、原理图

7、源代码
ORG 0000H


MOV P1, #00H
MOV P2, #00H   ;初始化,灯泡全灭
ST: CLR P2.1   ;南北黄灯灭
CLR P2.4
CLR P1.2   ;东西红灯灭
CLR P1.5
SETB P1.0   ;东西绿灯亮
SETB P1.3
SETB P2.2   ;南北红灯亮
SETB P2.5
LCALL DELAY0


CLR P1.0   ;东西绿灯灭黄灯亮
CLR P1.3
SETB P1.1   ;东西黄灯亮
SETB P1.4
LCALL DELAY1


CLR P1.1   ;东西黄灯灭
CLR P1.4
SETB P1.2   ;东西红灯亮
SETB P1.5
CLR P2.2   ;南北红灯灭
CLR P2.5
SETB P2.0   ;南北绿灯亮
SETB P2.3
LCALL DELAY0


CLR P2.0  ;南北绿灯灭
CLR P2.2
SETB P2.1  ;南北黄灯亮
SETB P2.4
LCALL DELAY1
LJMP ST ;跳转到开始,循环执行


DELAY0: MOV R0, #200 ;二级延时子程序,延时200*0.1 = 20s
DD0: LCALL DELAY ;调用一级延时子程序0.1s,
DJNZ R0, DD0 ;执行200次
RET


DELAY1: MOV R0, #20 ;二级延时子程序,延时20*0.1 = 2s
DD1: LCALL DELAY   ;调用一级延时子程序0.1s, 
DJNZ R0, DD1 ;执行20次
RET


DELAY: MOV R1, #200 ;一级延时子程序,延时200*250*2 = 100000us = 0.1s
D1: MOV R2, #250
D0: DJNZ R2, D0
DJNZ R1, D1
RET


END

相关文章
|
8月前
【单片机期中测试】11.交通灯
【单片机期中测试】11.交通灯
30 0
|
存储 安全 网络性能优化
基于单片机的交通灯控制系统设计
基于单片机的交通灯控制系统设计
331 0
基于单片机的交通灯控制系统设计
利用51单片机实现交通灯的设计(有限状态机设计方法)
利用51单片机实现交通灯的设计(有限状态机设计方法)
89 0
利用51单片机实现交通灯的设计(有限状态机设计方法)
基于单片机的红绿黄灯设计(单片机实验交通灯设计)
基于单片机的红绿黄灯设计(单片机实验交通灯设计)
基于单片机的红绿黄灯设计(单片机实验交通灯设计)
|
4月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
53 0
|
4月前
|
物联网
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
42 0