基于proteus的51系列单片机交通灯的设计与仿真
基于51单片机控制交通灯

目录1 绪论 (1)1.1 课题研究目的 (1)1.2 研究现状 (2)1.3 本文的主要工作 (3)2 系统方案设计 (3)2.1 总体方案设计与分析 (3)2.2 主控制器方案 (4)2.3 显示方案 (5)3 系统电路设计 (5)3.1 主控制器电路 (5)3.1.1 单片机电路 (5)3.1.2 晶振电路 (7)3.1.3 复位电路 (7)3.2 显示电路 (8)3.3 按键电路 (8)3.4 交通灯电路 (9)4 系统硬件设计 (9)4.1 主程序软件设计 (9)4.2 子程序软件设计 (11)4.2.1 显示软件设计 (11)4.2.2 按键扫描软件设计 (13)5 系统测试 (13)5.1 系统调试 (13)5.2 故障检查 (16)6硬件组装与调试 (16)6.1 系统组装 (17)6.2 上电后调试 (18)总结 (19)参考文献 (20)致谢 ...................................................................................................................错误!未定义书签。
附录 (21)附录1:成品图 (21)附录2:原理图 (22)1 绪论1.1 课题研究目的19世纪的时候,英国就出现了世界上首个交通信号灯,因为他的能源来自于煤气的交通信号灯,这种方案在后期的设备运行中很容易产生爆炸,所以后来此种交通信号灯设备就没有在出现了。
到了20世纪的时候,美国的克利夫兰市又有了交通灯设备,然而此次的能源设计方案是电力信号灯。
1930年德国有人开发了选取自动化的设计方案去操作的交通灯,这种设计标志着交通自动操作的起步。
20世纪开始,发达国家第一次选取车辆感应方案处理信号,车辆传感器的主要特点为,此设计能够按照交通拥堵的具体情况去操作交通灯运行的时间参数,这样来解决交通十字路口的拥堵问题,使得车辆可以很快的通过路口,此方案被很多地区进行使用。
单片机控制交通灯控制系统设计-基于Proteus仿真

单片机控制交通灯控制系统设计-基于Proteus仿真单片机控制交通灯控制系统设计目录引言…………………………………………………………… - 3 -第1章概述 ............................................... - 3 -1.1单片机认识 .............................................. - 4 - 1.2 单片机的应用........................................... - 4 - 1.3设计任务 ................................................ - 5 - 第2章系统总体方案及硬件设计.......................... - 5 -2.1交通管理的方案 .......................................... - 5 - 2.2总体硬件设计 ............................................ - 6 - 2.3系统时钟电路 ............................................ - 6 - 2.4系统复位电路 ............................................ - 6 - 2.5数码管显示电路 .......................................... - 7 - 2.6路灯指示电路 ............................................ - 7 - 2.7按键电路设计 ............................... 错误~未定义书签。
第3章软件系统设计 ...................................... - 9 - - 1 -3.1设计思路及关键技术........................................ - 9 - 3.2 软件流程 ................................................. - 9 - 3.3 交通灯的设计程序说明 ..................................... - 9 -3.4 延时函数 ................................................ - 10 - 3.5 延时函数 ................................................ - 10 - 3.6显示函数 ................................................ - 10 - 3.7定时器0中断函数......................................... - 10 - 第4章Proteus软件仿真 ................................. - 12 -4.1 Proteus软件仿真......................................... - 12 - 4.2 南北路灯切换时仿真 ...................................... - 12 - 4.3 紧急情况下的仿真 ........................................ - 13 - 4.4东西紧急情况下的仿真..................................... - 14 - 第5章心得体会 .......................................... - 15 - 参考文献 .................................................... - 15 - 附1 源程序代码............................................. - 17 - 单片机控制交通灯控制系统设计摘要交通灯是我们日常出行时经常看见的交通控制系统,极大地改善了我们的日常出行。
(完整word版)基于Proteus仿真交通灯

Proteus班级:电信13—2姓名:段学亮邓成智崔俊杰邓石磊陈亮高金玉成绩:电子与信息工程学院信息与通信工程系1.设计要求单片机的P3口的P3.0~P3。
7连接4×4矩阵键盘,P0口控制一只数码管,当4×4矩阵键盘中的某一按键按下时,数码管上显示对应的键号.例如,1号键按下时,数码管显示“1", 14号键按下时,数码管显示“E”等等.2.仿真电路图仿真电路图,如图一图1:4*4键盘控制数码管显示3。
仿真C51程序#include<reg52。
h>#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;uchar disnum,temp,key;void delay(uchar i){uchar j,k;for(j=0;j<i;j++)for(k=0;k〈200;k++);}uchar code table_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x7f8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};void main(){disnum=16;wela=0;while(1){P3=0xf0;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);if(temp!=0xf0){temp=P3;temp=temp|0x0f;P3=temp;key=P3;switch(key){case 0xee :disnum=0;break;case 0xde :disnum=1;break;case 0xbe : disnum=2;break;case 0x7e :disnum=3;break;case 0xed :disnum=4;break;case 0xdd : disnum=5;break;case 0xbd : disnum=6;break;case 0x7d :disnum=7;break;case 0xeb : disnum=8;break;case 0xdb : disnum=9;break;case 0xbb : disnum=10;break;case 0x7b :disnum=11;break;case 0xe7 : disnum=12;break;case 0xd7 :disnum=13;break;case 0xb7 :disnum=14;break;case 0x77 :disnum=15;break;}}}P0=table_du[disnum];}}3.电路图仿真效果当按下键盘时,所显示的效果如图3—1至图3—4图3—1:当按下K0键时,数码管显示数字‘0’图3—2:当按下K4键时,数码管显示数字‘4'图3—3:当按下K8键时,数码管显示数字‘8’图3—4:当按下KF键时,数码管显示数字‘F' 5.总结电路设计方面,根据书本上还是课堂上老师所讲的知识,很快设计出来此仿真电路。
单片机课程设计任务书Proteus 及KEIL仿真软件基于单片机的城市交通灯控制系统设计

单片机原理及应用课程设计题目基于单片机的城市交通灯控制系统设计系 (部)班级姓名学号指导教师《单片机原理及应用》课程设计任务书目录1 引言 (1)1.1 课程设计任务 (1)1.2 设计要求: (1)2 设计方案简述 (2)2.1 总体思路 (2)2.2 主要实现功能 (3)2.3 设计方案与意义 (3)3 详细设计 (4)3.1 系统硬件电路设计 (4)3.2 AT89C51芯片简介 (4)3.2.1 主要特性 (5)3.2.2 管脚说明 (5)3.3 74LS273芯片 (7)3.4 单元电路设计 (7)3.4.1 多位数码显示管 (7)3.4.2 时钟电路 (8)3.4.3 复位电路 (9)3.5 系统整体设计电路 (9)3.6 系统软件功能设计 (10)3.6.1 程序设计思路 (10)3.6.2交通灯程序及设计思路 (11)3.6.3紧急情况程序及设计思路 (12)4 Proteus与Keil C51的操作 (14)4.1 Keil C51单片机软件开发系统 (14)4.2 单片机系统PROTEUS设计与仿真过程 (14)4.3 仿真结果 (15)5 总结 (19)6 参考文献 (20)7 附录 (21)1 引言交通灯是现代交通非常重要的一个组成部分,,一套好的交通灯系统往往对提升城市交通运输效率,降低事故发生率有至关重要的影响。
本系统由单片机系统、交通灯演示系统、按键系统、中断系统以及时钟电路、复位电路组成。
本文设计的智能交通灯系统采用Proteus设计与仿真,程序的编译与调试采用Keil C51来实现。
本文所设计的智能交通灯采用了单片机AT89C51,选用了LED灯和多位数码管来模拟显示的交通灯切换状态。
本系统除了实现最基本的交通灯功能以外,还有用来应对紧急情况的功能,这就是中断系统所实现的在有特定需要的情况下实现对交通灯状态的控制。
对于提高城市交通效率有非常重要的作用。
1.1 课程设计任务本课程设计的任务就是设计一个交通灯的控制系统,具体设计任务如下:1.进行系统总体设计。
基于Proteus的智能交通灯的仿真设计

摘要本智能交通灯系统的设计主要是利用单片机和C语言完成共同来完成。
首先,系统采用红、黄、绿两组共六个LED发光二极管模拟十字路口东西和南北两个方向的交通信号灯,配有7SEG-MPX6-CC(六位八段共阴极数码管)数码构成倒计时牌,其的控制核心为AT89C51芯片。
其次,系统具有处理紧急情况的功能,可以使东西和南北双向红灯,禁止普通车辆通行。
最后,系统利用Proteus软件进行了软、硬件的的仿真。
关键词:AT89C51单片机倒计时牌中断数码管目录毕业设计任务书 (I)中文摘要............................................................................................... .II 1 引言. (1)1.1设计目的及意义 (1)1.2设计的内容 (1)2 设计原理 (2)2.1总体设计方案 (2)2.2硬件设计原理 (2)2.2.1硬件原理图 (2)2.2.2主要模块电路 (3)2.2.2.1控制核心——AT89C51单片机芯片 (3)2.2.2.2 LED数码管显示 (6)2.2.2.3六路交通灯的模拟 (8)2.2.2.4其它电路 (8)2.3 软件设计原理 (9)2.3.1软件流程图 (9)2.3.1.1主流程图 (9)2.3.1.2主要子程序流程图 (10)2.3.2软件源程序 (11)3 基于Proteus的仿真调试及排故 (11)3.1 Proteus的仿真软件的介绍 (11)3.2 主要调试过程 (11)3.2.1硬件测试 (12)3.2.2软件调试 (12)3.2.3连调 (12)3.3调试时出现的问题及解决方法 (12)4 结论 (14)致谢 (15)附录 (16)附录1 硬件连接图 (16)附录2 源程序 (17)附录3 共阴极LED数码管字段码表 (21)参考文献 (22)1 引言1.1 设计目的及意义交通是一个城市经济的命脉,它不但体现了一个城市的发展活力,也直接与老百姓的生活息息相关。
51单片机交通灯程序及PROTEUS仿真 集合

unsigned i;
for(i=0;i<30000;i++);
}
===========================================
# include<reg51.h>
unsigned char i=0,j=0;
unsigned char count=0,m,n;
unsigned char temp;
ET0=1;
while(1)
{
if(j%2==0)
{
P3=p3[j];P1=p1[(temp1[m][n]-temp)/10];
}
else
{
P3=p3[j];P1=p1[(temp1[m][n]-temp)%10];
}
switch(count)
{
case 0:P2=0x01;m=0;temp=0;break; // 1号绿灯亮
case 120:P2=0x30;m=5;temp=0;break; // 3号黄灯亮
case 135:P2=0x40;m=6;temp=0;break; // 4号绿灯亮
case 165:P2=0xc0;m=7;temp=0; // 4号黄灯亮
}
}
}
void time0() interrupt 1
{
j=j+1;
if(j%2==0)n++;
if(n==4)n=0;
if(j==8)j=0;
i++;
TH0=(65536-2500)/256;
TL0=(65536-2500)%256;
if(i==160)
{
i=0;
count++;
基于单片机的交通灯系统设计仿真

基于单片机的交通灯系统设计仿真交通信号灯系统是城市交通管理中的重要组成部分,其稳定性和可靠性对交通安全和交通效率有着重要的影响。
为了提高交通信号灯系统的灵活性和智能化程度,本文将基于单片机技术对一种交通信号灯系统进行设计和仿真。
一、系统设计1.系统功能需求本交通信号灯系统需要能够智能地控制交通信号灯的状态,根据不同车辆和行人的需求进行合理的信号灯切换。
系统需要包括红灯、绿灯、黄灯三种状态,并能够根据不同条件进行合理的切换,保障交通的顺利进行。
2.系统硬件设计本系统主要由单片机、交通信号灯、传感器和显示器等硬件组成。
单片机作为系统的核心控制器,能够根据传感器的信号进行智能判断,并控制交通信号灯的状态。
交通信号灯模块包括红灯、黄灯和绿灯,能够根据单片机的控制信号进行状态显示。
传感器主要用于检测车辆和行人的情况,传输给单片机进行处理。
显示器用于显示当前的交通信号灯状态,方便行人和车辆进行参考。
3.系统软件设计系统软件主要包括单片机的程序设计和交通信号灯的状态控制算法。
单片机的程序设计需要根据传感器的信号进行智能判断,根据交通情况合理地控制交通信号灯的状态。
交通信号灯的状态控制算法需要考虑到各种交通情况,包括车辆的数量、行人的情况、交通流量等因素,通过合理的算法进行信号灯状态的切换。
二、系统仿真针对以上设计的交通信号灯系统,我们进行了基于单片机的系统仿真。
我们利用Keil C编程软件对单片机的程序进行开发,并通过Proteus进行系统的仿真。
2.系统硬件连接我们将设计好的单片机程序和交通信号灯模块通过Proteus进行硬件连接,模拟真实的系统环境。
我们通过传感器模拟车辆和行人的情况,检测信号传输给单片机进行处理。
3.系统仿真测试在系统硬件连接完成后,我们进行了系统的仿真测试。
我们模拟了不同情况下的交通流量,观察交通信号灯的状态切换情况,并对系统的稳定性和可靠性进行了测试。
通过对系统仿真的观察和结果分析,我们对系统的性能进行了评估并对系统进行了改进和优化。
基于Proteus的智能交通灯设计与仿真实现

基于Proteus的智能交通灯设计与仿真实现智能交通灯是一种通过传感器和智能控制系统实现交通信号灯的智能化管理,能够根据交通流量和道路状况进行智能调控,以提高交通效率和减少交通堵塞。
本文将基于Proteus软件进行智能交通灯的设计和仿真实现。
首先,我们需要明确智能交通灯的基本功能和设计要求。
智能交通灯主要需要实现以下功能:1.根据交通流量进行智能控制。
通过传感器检测道路上的交通流量,智能交通灯可以根据实时的交通情况智能地调整信号灯的时间,以提高交通效率。
2.考虑不同道路的优先级。
在交叉路口附近,智能交通灯需要根据不同道路的优先级来调整信号灯的时间,以确保交通的顺畅和安全。
3.考虑行人的过马路需求。
智能交通灯需要合理地安排行人的过马路时间,以保证行人的安全和顺畅。
接下来,我们将使用Proteus软件进行智能交通灯的设计和仿真实现。
Proteus是一款电子电路设计和仿真软件,可以用来模拟和验证电子电路的性能和功能。
首先,我们需要设计智能交通灯的硬件电路。
在Proteus中,我们可以使用元器件库中的LED灯和开关等元件来构建交通灯的电路。
同时,我们还需要添加传感器来检测交通流量和行人的需求。
在设计电路的过程中,我们需要考虑不同道路的优先级和行人的过马路需求。
根据道路的优先级,我们可以设置不同道路对应的信号灯的亮灭时间。
同时,我们还可以设置传感器来检测行人的需求,以在需要的时候提供行人过马路的时间。
完成电路设计后,我们可以使用Proteus中的仿真功能来验证电路的性能和功能。
在仿真过程中,可以模拟不同道路的交通流量和行人的过马路需求,以观察交通灯是否能够根据实时情况进行智能调控。
在仿真过程中,我们可以观察交通灯的状态变化和信号灯的亮灭时间,以评估交通灯的性能和效果。
如果发现问题,我们可以对电路进行调整和优化,以提升交通灯的智能化管理能力。
总结起来,基于Proteus的智能交通灯设计和仿真实现是一种高效且可靠的方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于proteus的51系列单片机交通灯的设计与仿真一、 proteus软件的认识
Proteus是英国Labcenter electronics公司出版的EDA工具软件,能够进行电路分析与实物仿真软。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,能够支持主流单片机系统的仿真。
目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
可以提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件,具有强大的原理图绘制功能。
该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
二、交通灯的设计电路图的硬件方框图、原理图
1.交通灯的硬件方框图
硬件原理:以89C52为核心,外加控制电路,采用共阳极数码管,实现东西南北四个方向上的交通控制,设计相应的程序使交通灯的亮灭在读秒结束后反映,实现了软件和硬件相结合。
2.交通灯的电路原理图
原理图(1)
原理图(2)
三、交通灯的程序流程图及源程序1.程序流程图:
2.汇编源程序:
REDTIME EQU 32H GREENTIME EQU 33H YELLOWTIME EQU 34H
ORG 0000H
AJMP MAIN
ORG 001BH
AJMP TISER
ORG 0030H
MAIN: MOV REDTIME,#15H MOV GREENTIME,#30H
MOV YELLOWTIME,#03H CLR P1.0
JB P1.0,LP
MOV R0,#15H
MOV R1,#5H
MOV R2,#10H
MOV 20H,#20
MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB ET1
SETB TR1
SETB EA
LP: INC R0
JB P1.0,LP
AJMP RED
RED: MOV R0,REDTIME SETB P2.4
SETB P2.2
CLR P2.3
CLR P2.6
CLR P2.7
SETB P2.5
CLR P3.0
CLR P3.1
SETB P3.2
RED1: CJNE R0,#00H,RED2 AJMP YELLOW
RED2: ACALL DISPLAY
AJMP RED1
YELLOW: MOV R0,YELLOWTIME
CLR P2.4
SETB P2.3
SETB P2.2
SETB P2.6
CLR P2.7
CLR P2.5
CLR P3.0
CLR P3.2
SETB P3.1
YELLOW1: CJNE R0,#00H,YELLOW2 AJMP GREEN
YELLOW2:ACALL DISPLAY
AJMP YELLOW1
GREEN: MOV R0,GREENTIME
CLR P2.2
SETB P2.4
SETB P2.3
SETB P2.7
CLR P2.5
CLR P2.6
CLR P3.2
CLR P3.1
SETB P3.0
GREEN1: CJNE R0,#00H,GREEN2 AJMP YELLOW0
GREEN2: ACALL DISPLAY
AJMP GREEN1
YELLOW0: MOV R0,YELLOWTIME
CLR P2.4
SETB P2.3
SETB P2.2
SETB P2.6
CLR P2.7
CLR P2.5
CLR P3.0
CLR P3.2
SETB P3.1
YELLOW3: CJNE R0,#00H,YELLOW4 AJMP RED
YELLOW4:ACALL DISPLAY
AJMP YELLOW3
TABLE:
DB 0C0H
DB 0F9H
DB 0A4H
DB 0B0H
DB 99H
DB 92H
DB 82H
DB 0F8H
DB 80H
DB 90H DISPLAY:
CLR P2.1
SETB P2.0 MOV DPTR,#TABLE
MOV A,R0
ANL A,#0FH
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY10MS
CLR P2.0
SETB P2.1
MOV DPTR,#TABLE
MOV A,R0
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY10MS
RET
TISER:
PUSH PSW
PUSH ACC
PUSH SP
MOV TH1,#3CH
MOV TL1,#0B0H
DJNZ 20H,RETURN
MOV 20H,#20
DEC R0
DEC R1
DEC R2
MOV A,R0
ANL A,#0FH
CJNE A,#0FH,RETURN
MOV A,R0
CLR C
SUBB A,#06H
MOV R0,A
ANL A,#0FH
CJNE A,#0FH,RETURN
RETURN: POP SP
POP ACC
POP PSW
RETI
DELAY10MS:
MOV R6,#20
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
END
四、关于交通灯的设计、仿真的心得体会及展望
关于交通灯设计与仿真,我深刻地了解到Proteus的强大功能,通过学习单片机及Proteus设计仿真软件,设计好所需电路图,在元件库里找元件,连线,通过kielC51编写汇编语言,运行生成“.hex”文件,加载到AT89C52中,最后用电脑形象地显示实验仿真结果,一步步地改善实现更强功能。
通过这次交通灯实训实践,整体来说还是比较满意的, 不过还是遇到了很多问题:
1.当电路连接好后LED灯不亮时,请教老师后才知道是因为使用
的电阻值过大,之后将电阻值改小,LED灯便可正常发光。
2.在调试过程中遇到LED数码管所显示的数字没有按照我们所预想的方式自减时,询问老师后才知道是少了判断语句,后来通过查询课本,和老师同学讨论之后,增加了判断语句,LED数码管就可以按照预想的那样达到我们的控制目的。
3.调用程序后LED数码管闪烁过快至眼睛无法看清楚,经过多次摸索终于发现是AT89C52芯片的频率设置过大,尝试着改小频率,直到得到我们所需要的闪烁速度。
4.这次设计实训最大的遗憾是自己虽然想到了按键控制电路,但没能通过汇编源程序实现按键控制功能。
展望:通过这次交通灯的设计、仿真的实践训练,我对Proteus 软件有了一定的认识的同时把单片机中的理论学以致用,也对电路设计及仿真产生了很大的兴趣,在以后的学习和工作中,我会参与更多实践,不断加深和拓展,把所学理论正确地应用于实训实践中,尽我所能去设计、仿真并实现可实用性电路。