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

来源:本站
导读:目前正在解读《51单片机简单交通灯控制程序》的相关信息,《51单片机简单交通灯控制程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《51单片机简单交通灯控制程序》的详细说明。
简介:本文为51单片机简单交通灯控制程序,希望对你的学习有所帮助。

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

交通灯控制程序说明文档

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

1、用protues进行原理图绘制

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

3、Keil + protues进行仿真实验

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

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

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

6、原理图

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

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

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

来源:http://tekkamanninja.blog.chinaunix.net/uid-29270124-id-4153629.html

提醒:《51单片机简单交通灯控制程序》最后刷新时间 2024-03-14 00:53:51,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《51单片机简单交通灯控制程序》该内容的真实性请自行鉴别。