基于80C51交通灯控制课题

上传人:龙*** 文档编号:107742619 上传时间:2019-10-20 格式:DOC 页数:17 大小:161KB
返回 下载 相关 举报
基于80C51交通灯控制课题_第1页
第1页 / 共17页
基于80C51交通灯控制课题_第2页
第2页 / 共17页
基于80C51交通灯控制课题_第3页
第3页 / 共17页
基于80C51交通灯控制课题_第4页
第4页 / 共17页
基于80C51交通灯控制课题_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于80C51交通灯控制课题》由会员分享,可在线阅读,更多相关《基于80C51交通灯控制课题(17页珍藏版)》请在金锄头文库上搜索。

1、基于80C51交通灯控制一、 课程设计功能描述题目描述:请设计一个交通灯控制电路,并且编写相应的软件,完成交通灯的管理任务。题目要求:该控制任务应该完成下列功能:1.控制LED灯,完成交通灯的管理任务;2. 按照分析、设计、调试和测试的软、硬件开发过程完成这个控制任务。功能描述:要先了解实际交通灯的控制变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过20秒钟转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过20秒钟转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态

2、1.二、 课程设计分析设计1、80C51内部结构和外部引脚80C51的40个引脚可分为:电源引脚2根、时钟引脚2根、控制引脚4根和I/O引脚32根。80C51单片机内部结构图如图所示。引脚功能:Vss:接地端。Vcc:电源端,接+5V。XTAL1:接外部晶体的一个引脚。CHMOS单片机采用外部时钟信号时,外部时钟信号由此引入。XTAL2:接外部晶体的一个引脚。HMOS单片机采用外部时钟信号时,外部时钟信号由此引入。RST:复位信号输入。Vcc掉电后,此引脚可接备用电源,低功耗条件下保证内部RAM中的数据。ALE:地址锁存允许。当单片机访问外部存储器时,该引脚的输出信号ALE用于锁存P0端口的低

3、8位地址。ALE输出的频率为时钟振荡频率的1/6。对8751单片机片内EPROM编程时,编程脉冲由此引脚接入。PSEN:程序存储器允许。输出读外部程序存储器的选通信号。取指令操作期间,PSEN的频率为振荡频率的1/6;但若此期间有访问外部数据存储器的操作时,则有一个机器周期中的PSEN信号将不会出现。EA:EA=0,单片机只访问外部程序存储器。对于8031单片机此引脚必须接地。EA=1,单片机访问内部程序存储器。对于内部有程序存储器的8xx51单片机,此引脚应接高电平,但若地址超过4KB范围(0fffh),单片机将自动访问外部程序存储器。在8751单片机片内EPROM编程期间,此引脚接入21V

4、编程电源Vpp。P0.0P0.7:P0数据/低8位地址复用总线端口。P1.0P1.7:P1静态通用端口。P2.0P2.7:P2高八位地址总线动态端口。P3.0P3.7:双功能静态端口。2.LED数码显示器数码管在单片机使用系统中主要用于显示单片机的输出数据和状态等。LED显示器为发光二极管构成的显示器件。常用的LED显示器有两种供应状态,既共阴极LED和共阳极LED。3.7405非门电路4.双色LED.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

5、5.程序设计程序设计时,首先对东西南北路口计时寄存器进行地址分配、对路口红黄绿灯分配引脚、设置显示码缓冲区、设置定时器初始时间。然后对各个状态进行编程,编程过程中应注意各个状态计时初值和显示初值的设置,以及各个状态LED灯编程和调用。最后,数码显示的编程。三、 绘制硬件电路图(用Protel软件)并对硬件电路进行说明;80c51的引脚:P2.1p2.6分别控制东西路口绿灯、黄灯、红灯和南北路口绿灯、黄灯、红灯。P3.0和p3.1控制LED数码显示。四、绘制软件流程图(用VISIO软件)并对软件流程进行说明;开始 四个路口红灯亮 南北绿灯亮,东西红灯亮,延时 南北黄灯闪烁,东西红灯亮,延时 南北

6、红灯亮,东西绿灯亮,延时 南北红灯亮,东西黄灯闪烁,延时 流程说明:程序开始进入状态0四个路口红灯亮;然后进入状态1南北绿灯亮,东西红灯亮,延时;然后进入状态2南北黄灯闪烁,东西红灯亮,延时;然后进入状态3南北红灯亮,东西绿灯亮,延时;然后进入状态4南北红灯亮,东西黄灯闪烁,延时;循环至状态1。五、程序的源代码清单及注释(汇编语言或C51程序);SECOND1EQU30H ;东西路口计时寄存器SECOND2EQU31H;南北路口计时寄存器 DBUFEQU40H;显示码缓冲区1TEMPEQU44H;显示码缓冲区2LED_G1BITP2.1;东西路口绿灯LED_Y1BITP2.2;东西路口黄灯LE

7、D_R1BITP2.3;东西路口红灯LED_G2BITP2.4;南北路口绿灯LED_Y2BITP2.5;南北路口黄灯LED_R2BITP2.6;南北路口红灯ORG0000HLJMP STARTORG0100HSTART:MOVTMOD,#01H;置T0为工作方式1MOVTH0,#3CH;置T0定时初值50msMOVTL0,#0B0HCLRTF0SETB TR0;启动T0CLRAMOVP1,A;关闭不相关的LED;*MOVR2,#20;置1s计数初值,50ms*20=1sMOVR3,#5;红灯亮5sMOVSECOND1,#5;东西路口计时显示初值5sMOVSECOND2,#5;南北路口计时显示初

8、值5sLCALL DISPLAYWAIT0:LCALL STATE0;调用状态0JNBTF0,WAIT0;查询50ms到否CLRTF0MOVTH0,#3CH;恢复T0定时初值50msMOVTL0,#0B0HDJNZ R2,WAIT0;判断1s到否?未到继续状态0MOVR2,#20;置50ms计数初值 DECSECOND1;东西路口显示时间减1sDECSECOND2;南北路口显示时间减1sLCALL DISPLAYDJNZ R3,WAIT0;状态0维持5s;*LOOP:MOVR2,#20;置50ms计数初值MOVR3,#20;红灯闪20sMOVSECOND1,#25;东西路口计时显示初值25sM

9、OVSECOND2,#25;南北路口计时显示初值25sLCALL DISPLAYWAIT1:LCALL STATE1;调用状态1JNBTF0,WAIT1;查询100ms到否CLRTF0MOVTH0,#3CH;恢复T0定时初值100msMOVTL0,#0B0HDJNZ R2,WAIT1;判断1s到否?未到继续状态1MOVR2,#20;置100ms计数初值DECSECOND1;东西路口显示时间减1sDECSECOND2;南北路口显示时间减1sLCALL DISPLAYDJNZ R3,WAIT1;状态1维持20s;* MOV R2,#5;置50ms计数初值5*4=20MOVR3,#3;绿灯闪3sMO

10、VR4,#4;闪烁间隔200msMOVSECOND1,#5;东西路口计时显示初值5sMOVSECOND2,#5;南北路口计时显示初值5sLCALL DISPLAYWAIT2:LCALL STATE2;调用状态2JNBTF0,WAIT2;查询50ms到否CLRTF0MOVTH0,#3CH;恢复T0定时初值50msMOVTL0,#0B0HDJNZ R4,WAIT2;判断200ms到否?未到继续状态2CPLLED_G2;南北绿灯闪MOVR4,#4;闪烁间隔200msDJNZ R2,WAIT2;判1s到否?未到继续状态2MOVR2,#5;置50ms计数初值DECSECOND1;东西路口显示时间减1sD

11、ECSECOND2;南北路口显示时间减1sLCALL DISPLAYDJNZ R3,WAIT2;状态2维持3s;*MOVR2,#20;置50ms计数初值MOVR3,#2;黄灯闪2sMOVSECOND1,#2;东西路口计时显示初值2sMOVSECOND2,#2;南北路口计时显示初值2sLCALL DISPLAYWAIT3:LCALL STATE3;调用状态3JNBTF0,WAIT3;查询100ms到否CLRTF0MOVTH0,#3CH;恢复T0定时初值100msMOVTL0,#0B0HDJNZ R2,WAIT3;判断1s到否?未到继续状态3MOVR2,#20;置100ms计数初值DECSECOND1;东西路口显示时间减1sDECSECOND2;南北路口显示时间减1sLCALL DISPLAYDJNZ R3,WAIT3;状态3维持2s;*MOVR2,#20;置50ms计数初值MOVR3,#20;红灯闪20sMOVSECOND1,#25;东西路口计时显示初值25sMOVSECOND2,#25;南北路口计时显示初值25sLCALL DISPLAYWAIT4:LCALL STAT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 大学论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号