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月前
|
存储 算法 编译器
如何优化单片机程序里面的C代码方法
如何优化单片机程序里面的C代码方法
72 0
|
数据处理 C语言
侃侃单片机的裸奔程序的框架
侃侃单片机的裸奔程序的框架
108 0
|
5月前
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
167 3
|
5月前
|
人工智能 开发者 芯片
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
使用AI大语言模型编写 单片机程序. 使用的是 OpenAI公司发布的 ChatGPT .在ChatGPT上有别人训练好的 单片机工程师 with Keil uVision 5 - C Code Explainer模型, 可以上传电路图改模型可以通过这个用户所给的电路图进行编程.
562 0
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
|
7月前
技术心得记录:单片机开发过程中使用结构体简化程序
技术心得记录:单片机开发过程中使用结构体简化程序
41 0
|
8月前
基于51单片机的模拟交通灯控制系统
该文档描述了一个基于51单片机的交通灯控制系统的设计要求和实现。系统应用于十字路口,控制主干道(东西方向)和支干道(南北方向)的交通流量。主干道绿灯时间为15秒,支干道为10秒,转换时黄灯闪烁3秒。用户可以通过按键设置通行时间和进行交通管制。系统包括四个状态:主干道绿灯、主干道黄灯、支干道绿灯和支干道黄灯,循环运行。此外,还提供了仿真电路图、原理图和实物照片,以及C代码示例。
256 1
|
8月前
基于51单片机的简单交通灯程序
基于51单片机的简单交通灯程序
99 2
【单片机】延迟程序&延迟子程序的设计(入门)
【单片机】延迟程序&延迟子程序的设计(入门)
【单片机期中测试】9.定时器实现简单的秒表程序
【单片机期中测试】9.定时器实现简单的秒表程序
160 0
|
8月前
|
缓存 编译器 程序员
嵌入式开发环境Vscode开发STM32单片机程序
嵌入式开发环境Vscode开发STM32单片机程序
200 1