单片机交通灯课程设计(LED显示倒计时)
- 格式:doc
- 大小:35.50 KB
- 文档页数:5
1引言交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。
要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的科技手段加以实现。
本文在对目前交通控制进行深入分析的基础上,运用检测传感、实时调整智能化控制的实现技术,将传感器监测、实时调整车辆通行时间的算法与单片机控制作用相结合,提出了基于单片机的交通控制系统设计方案。
8051单片机的交通灯控制系统由8051单片机、交通灯显示、LED倒计时、车流量检测及调整、违规检测、紧急处理、时间模式手动设置等模块组成。
系统除基本交通灯功能外,还具有通行时间手动设置、可倒计时显示、急车强行通过、车流量检测及调整、交通异常状况判别及处理等相关功能。
理论证明该系统能够简单、经济、有效地疏导交通,提高交通路口的通行能力。
本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,二是进行传感器的硬件电路、显示电路等的设计和基本功能要求。
三是进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,总体上完成了软件的编写.2 设计背景及意义2.1 设计背景随着人口快速的增多,交通工具的爆炸性的发展,以及道路资源的有限性,交通控制就应运而生,在人类的生活、工作环境中,交通扮演着极其重要的角色,人们的出行都无时不刻与交通打着交道。
自18世纪工业革命以来,工业发展带动整个交通运输的发展,从而催生了单独的交通控制学问与管理机构。
交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。
要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的技术手段加以实现。
现代人类科学技术,特别是电子科学技术的发展和成熟能比较好的解决系统建立中硬软件方面要求的技术难题。
目前,交通控制方面的研究能完全实现自动智能化,甚至将整个区域整合成一个统一的系统范围,还能根据正常时段以及特定突发时段的情况进行科学的自动调整。
目录 摘 要 .............................................................................................................................................................. I 第1章 整体设计 ................................................................................................................................. 1 1.1任务与要求 ....................................................................................................................................... 1 1.2系统设计 ............................................................................................................................................ 1 第2章 硬件系统设计 ...................................................................................................................... 3 2.1单片机模块 .................................................................................................................................. 3 2.2显示模块 ........................................................................................................................................ 4 2.3按键模块 ........................................................................................................................................ 5 第3章 系统软件设计 ...................................................................................................................... 6 3.1正常工作模式子程序 ............................................................................................................ 7 3.2延时子程序 .................................................................................................................................. 8 3.3夜间模式子程序 ....................................................................................................................... 9 3.4绿灯闪烁子程序 .................................................................................................................... 10 3.5显示倒计时子程序 ............................................................................................................... 11 第4章 系统测试与实现 ............................................................................................................. 13 4.1汇编源程序 ............................................................................................................................... 13 4.2 PROTEUS仿真 ...................................................................................................................... 13 第5章 课程设计总结 ................................................................................................................... 16 参考文献 ................................................................................................................................................. 17 附录一 交通灯控制系统源程序 ............................................................................................. 18 附录二 系统总电路图 ................................................................................................................... 24 邵阳学院课程设计
第1章总体设计方案1.1.设计思路1.1.1课程设计的目的(1).进一步熟悉和掌握单片机的结构及工作原理。
(2).掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
(3).通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。
(4).通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
(5).通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应用系统的全过程,为今后从事相应开发打下基础。
1.1.2设计任务和内容1设计任务单片机采用用AT89C51芯片,使用LED(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口,南北路口各10秒,黄灯时间3秒)。
2设计内容(1)设计并绘制硬件电路图。
(2)编写程序并将调试好的程序在proteus软件中仿真。
3方案设计与论证显示界面方案该系统要求完成倒计时、状态灯等功能。
按照任务要求采用数码管和MAX7219驱动芯片设计方框图整个设计以AT89C51单片机为核心,由数码管显示,LED数码管显示,MAX驱动芯片。
硬件模块入图2-1。
4交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
指示灯燃亮的方案如表2。
表2说明:(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。
时间为5秒。
(2)黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。
时间为5秒。
(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
5芯片简介1)AT89C51单片机简介AT89C51单片机LED 数码管显示LED 红绿灯 MAX 驱动芯片(2)各引脚功能说明Vcc:+5V 电源电压。
单片机课程设计报告交通灯这个是我亲自做过的保证能用!希望对大家有所帮助!但是不要照抄照搬哦!智能交通灯控制系统设计摘要近年来,随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。
如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。
目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。
关键词:AT89S51,交通规则,交通灯,车流量控制1.设计目的:1、通过交通信号灯控制系统的设计,掌握80C51传输数据的方法,以控制发光二极管的亮与灭以及数码管的显示;2、用80C51作为输出口,控制十二个发光二极管熄灭,模拟交通灯管理.3、通过单片机控制设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高动脑和动手的能力;4、完成控制系统的硬件设计、软件设计、仿真调试。
2.设计内容和功能:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。
用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,绿,灯各一盏;如图所示:1、设计一个十字路口的交通灯控制电路,要求东西方向(主干道)车道和南北方向(从干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。
2、在绿灯转为红灯时,要求黄灯闪烁,才能变换运行车道3、黄灯亮时,要求每秒闪亮一次。
4、紧急情况发生,如消防车、救护车等紧急车辆通过时,要求四个路口同时加亮黄灯闪烁,并且倒计时显示装置关闭,四个路口的信号灯全部变成红灯。
5当东西或南北方向车流量大时,四个路口同时加亮黄灯进行闪烁,并且倒计时显示装置关闭,黄灯闪烁5秒后,只允许东西或南北方向车辆通行。
目录目录第一章课程设计内容与要求分析 (1)1.1 课程设计内容 (1)1.2 课程设计要求分析 (2)1.2.1 系统单元电路组成 (2)第二章控制系统程序设计 (4)第三章单片机原理及应用课程设计总结 (18)参考文献 (19)附录 (20)第一章课程设计内容与要求分析1.1 课程设计内容本题目以89C51单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;利用提供的单元模块构成硬件系统。
交通灯控制系统的设计要求:1)基本功能:要求在一般工作方式下,十字路口为A、B道(A、B道交叉组成十字路口),每道设置红、绿、黄三盏灯,在灯的控制下各道轮流放行。
通行的流程是:B道红灯亮40秒,同时A道绿灯亮30秒,闪烁5秒,A道黄灯亮5秒;然后切换A道红灯亮40秒,同时B道绿灯亮30秒,闪烁5秒;B道黄灯亮5秒。
如此循环。
在A、B道红、绿、黄灯依次点亮时,A、B道对应的两位数码管分别倒计时显示本道红、绿、黄灯点亮的时间。
2)扩展功能:设置自动流量控制功能:即当一道有车而另一道无车(用按键开关S1、S2模拟车辆检测功能)时,使有车车道放行。
设置优先控制功能:当有紧急车辆通过时,用开关S0进行控制,将A、B 道均设定为红灯,第二次按下开关S0后,回复正常运行状态。
1.2 课程设计要求分析1.2.1 系统单元电路组成图1 交通灯外围电路图2 交通灯运行时电路图3 交通灯运行时电路第二章控制系统程序设计#include <reg51.h>unsigned char code dtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳极接法的数字0~9段码表unsigned char code selec[4]={0xFE,0xFD,0xFB,0xF7};//动态显示位选码表unsigned char disp[4];//定义4个显示缓冲单元unsigned char aa[25];sbit Key1=P1^4;//定义四个独立按键sbit Key2=P1^5;sbit Key3=P1^6;sbit Key4=P1^7;sbit YL_ledR=P3^0;//定义Y轴方向左转的红绿黄灯sbit YL_ledY=P3^1;sbit YL_ledG=P3^2;sbit YG_ledR=P3^3;//定义Y轴方向直行的红绿黄灯sbit YG_ledY=P3^4;sbit YG_ledG=P3^5;sbit XL_ledR=P2^0;//定义X轴方向左转的红绿黄sbit XL_ledY=P2^1;sbit XL_ledG=P2^2;sbit XG_ledR=P2^3;//定义X轴方向直行的红绿黄sbit XG_ledY=P2^4;sbit XG_ledG=P2^5;unsigned char flag=13,move_flag; //定义标志位unsigned char XGR,XGY,XGG;unsigned char XLR,XLY,XLG;unsigned char YGR,YGY,YGG;unsigned char YLR,YLY,YLG;unsigned char YYRR,XXRR;unsigned char num;void Delayms(unsigned int x) //定义xms延时函数,x就是形式参数{unsigned int i;unsigned char j;for(i=x;i>0; i--)for(j=110;j>0;j--);}/**************************************************************函数功能:定时器0中断服务函数,显示矩阵按键值**************************************************************/void Time0(void) interrupt 1//"interrupt"声明函数为中断服务函数{unsigned char count;TH0=(65536-50000)/256; //定时器T0的高8位赋初值TL0=(65536-50000)%256;//定时器T0的低8位赋初值if(++count>=20){count=0;YGG--; //Y轴绿灯时间减一XXRR--; //X轴红灯时间减一disp[2]=XXRR%10; //X轴数码管显示Y轴绿灯时间disp[3]=XXRR/10;disp[0]=YGG%10; //Y轴数码管显示X轴红灯时间disp[1]=YGG/10;if(YGG==0) //如果Y抽绿灯时间减为零,Y轴的黄灯开始亮,X轴的数码管显Y轴黄灯时间{disp[0]=YGY%10;disp[1]=YGY/10;YGG=1;YGY--;YG_ledG=1;//Y轴的绿灯熄灭YG_ledY=0;if(YGY==0XFF) //当Y轴黄灯闪烁时间变为零,Y轴红灯亮,黄灯灭,Y数码管显示X轴绿灯时间{ //同时X轴的绿灯亮,红灯灭,X轴数码管显示Y轴红灯时间disp[0]=YLG%10;disp[1]=YLG/10;YGY=0;YLG--;YL_ledG=0;YG_ledR=0;YG_ledY=1;YL_ledR=1;if(YLG==0XFF)//当X轴绿灯时间为零,X轴的绿灯灭,黄灯开始闪烁。
交通灯设计班级:姓名:学号:2016年5月5日1 课程设计总体目标1.1总体结构1.设计一个十字路口交通控制器。
2.开始运行后,先南北绿灯60S(通行60S)、东西红灯65S(禁止65S);然后,南北转黄灯闪烁5S;接着,东西绿灯30S(通行30S),南北红灯35S(禁止35S);最后,东西转黄灯闪烁5S;3.在二极管亮或者闪烁的同时两个方向的数码管显示倒计时,东西向一组数码管,南北向一组数码管。
2 硬件设计包括硬件电路及工作原理描述1.设计思路模拟交通灯控制电路时运用单片机来控制红、黄、绿三色LED灯显示,并通过定时器中断来控制数码管显示倒计时。
红、黄、绿交替闪亮,利用数码管计数显示间隔等,用于管理十字路口的车辆及行人通过,计时牌显示路口通行转换剩余时间。
2.单片机总控制电路如下图:STC89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,STC89C51在众多嵌入式控制应用系统中得到广泛应用。
3.74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
交通灯系统设计0 引言 交通在人们日常生活中占有重要的地位,交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
本系统采用单片机AT89S52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。
本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。
1 系统基本组成及工作原理1.1 系统基本组成系统以AT89C51作为控制交通灯系统的核心,分为数码管显示,模拟交通信号灯显示,外接石英晶体和微调电容,复位电路四部分,总体设计结构如图1所示。
其中数码管显示部分包含了东西向和南北向各一个数码管,以及用于驱动数码管显示的74LS14和74LS245等。
交通信号灯部分包含了12个发光二极管和12个0.1K 电阻。
外接石英晶体采用的是一个12MHZ 的晶振和两个22uF 电容,用于为内部时钟电路提供脉冲。
复位电路部分采用的是微分型复位电路。
图1:总体设计结构图1.2 系统工作原理两个数码管分别作为南北向和东西向的倒计时显示数码管,四个方向,每个方向均有红色,绿色,黄色发光二级管各一个。
开始是东西向禁行,南北向通行,因此东西向亮红灯,南北向亮绿灯,同时东西向数码管开始25秒倒计时,南北向开始30秒倒计时。
当东西向数码管倒数到0时,此时南北向数码管恰好倒数到5秒,接下来两个数码管同时进行4秒倒数,同时南北向绿灯灭,黄灯闪烁,东西向依旧红灯,代表南北向即将进入禁行状态。
待两个数码管均倒数到0以后,此时交通灯切换,变成东西向绿灯,南北向红灯,同时东西向数码管进行30秒倒计时,南北向数码管进行25秒倒计时。
同样是待南北向数码管倒数到0时,两数码管同时进行4秒倒计时,同时东西向绿灯熄灭,黄灯闪烁,南北向依旧红灯,代表东西向即将进入禁行状态。
以此过程为一周期,周而复始的运行。
2 系统硬件设计2.1 数码管显示电路设计利用单片机的P0口作为两个两位数码管的段选口,P2.0,P2.1作为南北向两位数码管的位选口,P2.6,P2.7作为东西向两位数码管的位选口。
单片机原理课程结业报告题目(8):十字路口交通灯控制学号:******YYY姓名:YYY一、设计要求设计一个十字路口交通灯控制器。
用单片机控制LED灯模拟指示。
模拟东西方向的十字路口交通信号控制情况。
东西向通行时间为80s,南北向通行时间为60s,缓冲时间为3s。
二、设计原理利用定时器T0产生每10ms一次的中断,每100次中断为1s。
对两个方向分别显示红、绿、黄灯,已经相应的剩余时间即可。
值得注意的是,需要意识到,A方向红灯时间=B方向绿灯时间+黄灯缓冲时间这一常识。
三、设计思路及电路图1.设计思路本设计采以用单片机AT89C52作为控制器,通行时间或等待时间通过数码管以倒计时方式显示,同时单片机P1口控制交通灯(红灯、黄灯、绿灯)的正常的替换工作,如果有意外发生(交通事故)就会产生中断,东西南北红灯全亮。
系统设计框图1如下:图1 系统框图以下四图所示为红黄绿灯规则的状态图:NSWE红绿黄红绿黄NWE红绿黄红绿黄图2 状态S1南北通行60S 东西禁止图3 状态S2南北转黄灯NW E红绿绿黄NW红绿红图4 状态S3南北禁止东西通行80S 图5 状态S4东西绿灯转黄灯共四种状态,分别设定为S1、S2、S3、S42,交通灯以这四种状态为一个周期,循环执行如图6所示。
如果有意外发生,去处理中断,红灯全亮,时间10S。
开始S2S1S4S3图6 交通灯状态循环2.电路图四、核心代码设计思路及程序流程图1.核心代码设计思路核心代码设计思路流程图2.设计流程图中断子程序显示子程序N定时器中断子程序倒计时子程序五、Proteus仿真图用Proteus进行仿真,在仿真过程中达到了预期的要求,东西方向开通是,进行80S的倒计时,然后是3S的缓冲倒计时,最后是60S 的南北开通倒计时,依次往复循环。
具体的仿真效果图如下:六、总结本设计以AT89C51系列单片机为核心,充分利用了AT89C51和8255A芯片的I/O引脚,以LED数码管作为倒计时指示,该设计很好地完成了设计的各项要求,主要体现如下:主干道和次干道可以分开设置时间功能,使控制更加灵活;以上所有功能均在城市交道口模型上得到很好地实现,该设计在确保功能实现的基础上,充分考虑了控制系统操作方便、可靠性高、稳定性好等要求。
十字路口交通灯控制一、设计任务及题目要求利用JD51开发板上彩色LED灯做出符合普通十字路口通行逻辑的交通灯,1.东西绿-南北红、东西红-南北绿;2.LED绿-红切换时,黄灯亮并延时3秒;3.数码管前两位显示东西向量倒计时,后两位显示南北向量倒计时。
二、工作原理及设计思路在JD51电路板上有红、绿、黄三种颜色LED灯,自定义选取两组彩灯对其进行逻辑控制。
工作时,先南北绿灯16S、东西红灯19S,然后,南北绿灯转黄灯3S;接着,东西绿灯15S,南北红灯18S,东西绿灯转黄灯3S。
在LED亮的同时两个方向的数码管显示倒计时,东西向一组数码管,南北向一组数码管。
三、硬件电路设计及描述使用JD51电路板上P1^7口的红色LED,P1^6口的黄色LED,P1^5口的绿色LED表示东西向指示灯,P1^4口的红色LED,P1^3口的黄色LED,P1^2口的绿色LED表示南北向指示灯,四位数码管的前两位显示东西向量倒计时,后两位显示南北向量倒计时。
四、软件设计流程及描述五、程序和注释C语言程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned int//定义位变量sbit RED_A=P1^7; //东西向指示灯sbit YELLOW_A=P1^6;sbit GREEN_A=P1^5;sbit RED_B=P1^4; //南北向指示灯sbit YELLOW_B=P1^3;sbit GREEN_B=P1^2;sbit en=P2^5; //573片选使能uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳0-9不带小数点数表uchar code table_d[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //共阳0-9带小数点数表uchar time[4]={0,0,0,0};//数码管显示00.00初值uchar timec[4]={1,6,1,9};//南北绿初值 16.19uchar timeb[4]={1,5,1,8};//东西绿初值15.18 红灯比绿灯长三秒uchar cp=0;//计数初值int n=0;//C语言延时程序void DelayMS(uint x){ uchar i;while(x--)for(i=0;i<120;i++);//数码管动态扫描程序void display(uchar *p){int i,j=0xFE;//第一位选通for(i=0;i<4;i++){P2=j;P0=*p;DelayMS(3);j=(j<<1)|0x01;//第二位选通if(j==0xEF);p++;}}//中断初始化函数void timer0_initialize(void){ EA=0;//关闭中断TR0=0;//停止计数TMOD=0x01;//T0工作在方式一TL0=0x00;//装入低八位初值TH0=0xEE;//装入低八位初值,定时器溢出产生中断5msPT0=1;//T0中断优先级调制最高ET0=1;//开启T0中断EA=1;//开启总中断TR0=1;//开始计数}//中断服务函数void timer0_isr(void) interrupt 1{ int k;//控制亮灯时间k++;if ((k>=200)&&(k<200*(16+1)))//1秒到16秒,东西绿16秒,南北红16秒{ RED_A=1;YELLOW_A=1;GREEN_A=0;RED_B=0;YELLOW_B=1;GREEN_B=1;}if ((k>=200*(16+1))&&(k<200*(16+4+1)))//16秒到19秒,东西黄3秒,南北红3秒{ RED_A=1;YELLOW_A=0;GREEN_A=1;RED_B=0;YELLOW_B=1;GREEN_B=1;}if ((k>=200*(16+4+1))&&(k<200*(16+4+1+15))) //接下来15秒,东西红15秒,南北绿15秒{ RED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=1;YELLOW_B=1;GREEN_B=0;}if ((k>=200*(16+4+1+15)))//接下来3秒,东西红3秒,南北黄3秒{ RED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=1;YELLOW_B=0;GREEN_B=1;if ((k==200*(16+4+1+18))){ k=0;}}TR0=0;cp++;//数码管逻辑判断if(cp==200){cp=0;if( (time[0]!=0)&&(time[2]!=0)&&(time[1]==0)&&(time[3]==0) ) //非0位-1,为0位变9{time[1]=9;time[3]=9;time[0]--;time[2]--;}else if((time[0]!=0)&&(time[2]!=0)&&(time[1]==0)&&(time[3]!=0)){time[1]=9;time[3]--;time[0]--;}else if((time[0]!=0)&&(time[2]!=0)&&(time[1]!=0)&&(time[3]==0)) {time[1]--;time[3]=9;time[2]--;}else if((time[1]!=0)&&(time[3]!=0)){time[1]--;time[3]--;}else if((time[3]!=0)&&(time[0]==0)&&(time[1]==0)&&(time[2]==0))//熄灭的灯为3. 0变成3{time[0]=0;time[1]=3;time[1]--;time[3]--;}else if((time[3]!=0)&&(time[0]!=0)&&(time[1]==0)&&(time[2]==0)){time[0]--;time[1]=9;time[2]=0;time[3]--;}else if((time[3]!=0)&&(time[0]!=0)&&(time[1]==0)&&(time[2]==0)){time[0]--;time[1]=9;time[2]=0;time[3]--;}else if((time[3]==0)&&(time[0]==0)&&(time[1]!=0)&&(time[2]!=0)){time[0]=0;time[1]--;time[2]--;time[3]=9;}else if((time[3]==0)&&(time[0]==0)&&(time[1]!=0)&&(time[2]==0)) {time[1]--;time[3]=3;time[3]--;}//东西绿与南北绿的转换else if((time[3]==0)&&(time[0]==0)&&(time[1]==0)&&(time[2]==0)) {if(n==0){ time[0]=timec[0];time[1]=timec[1];time[2]=timec[2];time[3]=timec[3];n++;}else if(n==1){time[0]=timeb[0];time[1]=timeb[1];time[2]=timeb[2];time[3]=timeb[3];n=0;}}else{while(1);}}timer0_initialize();}//主函数void main (void){uchar i,dpldata[4];timer0_initialize();en=1;while(1){ for(i=0;i<4;i++) //数码管第二位用带小数点的数表,隔开东西与南北的倒计时{ if(i==1){dpldata[i]=table_d[time[i]];}else{dpldata[i]=table[time[i]];}}display(dpldata);}}汇编语言程序:ORG 0000HJMP MAIN//中断入口地址ORG 000BHMOV TL0,#0B0H//装入初值MOV TH0,#3CHDJNZ R2,EXIT_T0//用寄存器R2装溢出的次数MOV R2,#20 //溢出20次为1秒DEC R3//东西方向计数寄存器DEC R4 //南北方向计数寄存器EXIT_T0:RETIMAIN:MOV TMOD,#01H//T0工作在方式一MOV TH0,#3CH//装入初值MOV TL0,#0B0HMOV R2,#20//设置R2初值为20SETB TR0 //开始计数SETB ET0 //开启T0中断SETB EA//开启总中断MOV SP,#60H//堆栈指针的地址N_B:MOV P1,#0CFH//设置P1口的值MOV R3,#16 //南北绿16SMOV R4,#19 //东西红19SNB_W1:CJNE R3,#0,NB_DISP//判断南北方向绿灯倒计时是否结束,不为0跳到数码管显示SJMP N_B_YNB_DISP:CALL DISPLAYSJMP NB_W1N_B_Y:CPL P1.5//熄灭南北绿灯NB_W2:MOV R3,#0CJNE R4,#0,NB_DISP2//判断东西红灯是否结束JMP D_XNB_DISP2:CPL P1.6CALL DISPLAYSJMP NB_W2D_X:MOV P1,#07BHMOV R3,#18 //东西红18sMOV R4,#15 //南北绿15SDX_W1:CJNE R4,#0,DX_DISPSJMP D_X_YDX_DISP:CALL DISPLAYSJMP DX_W1D_X_Y:CPL P1.2DX_W2:MOV R4,#0CJNE R3,#0,DX_DISP2JMP N_BDX_DISP2:CPL P1.3CALL DISPLAYSJMP DX_W2DISPLAY:MOV DPTR,#TAB1 //数表中的值送入DPTR MOV A,R3MOV B,#10DIV AB//倒计时/10MOVC A,@A+DPTR//数表送到A中MOV P0,A//A送到P0SETB p2^0//实现位选SETB p2^2MOV P2,#0FEHMOV P2,#0FFHMOV A,BMOVC A,@A+DPTRMOV P0,ASETB p2^0SETB p2^2MOV P2,#0FDHMOV P2,#0FFHMOV A,R4MOV B,#10DIV ABMOVC A,@A+DPTRMOV P0,ASETB p2^0SETB p2^2MOV P2,#0FBHMOV P2,#0FFHMOV A,BMOVC A,@A+DPTRMOV P0,ASETB p2^0SETB p2^2MOV P2,#0F7HMOV P2,#0FFHSETB p2^0SETB p2^2RETTAB1://数码管数表DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90HEND六、实验结果七、实验心得“纸上得来终觉浅,绝知此事要躬行。
河南理工大学电子设计综合训练报告交通灯控制系统姓名:学号:专业班级:指导老师:所在学院:电气工程与自动化学院2010年05月20日摘要本设计是开发了基于单片机的交通灯系统。
该设计与单片机专业知识结合紧密,结合实际情况阐述了交通灯控制系统的工作原理,给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。
硬件的设计采用80ATC52单片机为核心器件。
通过中断扩展实现交通灯系统的特殊情况的快速转换,基本实现了任务书所要求的各种功能,实现了利用单片机控制交通灯和记时显示成本低,电路简单等优势。
本作品的可以达到的功能如下:1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。
2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;3)黄灯亮时,要求每秒闪亮一次。
4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。
5)一道有车而另一道无车(实验时用开关 K0 和 K1 控制),交通灯控制系统能立即让有车道放行。
6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。
目录1 概述 ...................................................................................................................... - 4 -1.1关于单片机........................................................................................................................ - 4 - 1.2关于红绿灯........................................................................................................................ - 5 -1.3设计内容及具体任务........................................................................................................ - 5 -2 系统总体方案及硬件设计 .................................................................................. - 5 -2.1设计思路:........................................................................................................................ - 5 - 2.2设计原理分析.................................................................................................................... - 6 - 2.3单片机的选择.................................................................................................................... - 7 - 2.4时钟电路模块.................................................................................................................... - 8 - 2.5复位电路模块.................................................................................................................... - 8 - 2.6交通灯信号控制电路........................................................................................................ - 8 - 2.7LED数码管显示接口电路................................................................................................ - 9 - 2.8开关电路............................................................................................................................ - 9 - 3软件设计 ............................................................................................................. - 10 -3.1程序总体流程图.............................................................................................................. - 11 - 3.2查表所用表格部分.......................................................................................................... - 11 - 3.3初始化部分...................................................................................................................... - 12 - 3.4中断程序.......................................................................................................................... - 12 -3.5中断处理程序.................................................................................................................. - 12 -4 Proteus软件仿真 ............................................................................................... - 16 -5课程设计体会 ..................................................................................................... - 18 -参考文献 ................................................................................................................ - 18 -附1:源程序代码 ................................................................................................. - 19 -附2:系统原理图 ................................................................................................. - 27 -1 概述1.1关于单片机单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机交通灯课程设计交通信号灯设计随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。
如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。
目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。
二、任务分析与设计思路1、任务分析:本次设计要求:运用所学单片机原理、模拟和数字电路等方面的知识,设计出一台交通信号灯,模拟路口交通信号。
交通灯要求如下:1)交通信号灯能够控制东西、南北两个方向的交通,红绿黄灯用对应颜色的发光二极管代替;2)用四个2位数码管分别显示东、南、西、北方向的通行时间,东西或南北通行时间为25秒,红绿灯切换中间黄灯闪烁5秒。
目前,我们接触到的交通灯都位于十字路口,假设实际情况为东西南北走向的十字路口,如下图:东西南北各三盏灯,每三盏分别为红、黄、绿三种颜色,总共十二盏灯,而实际情况下,东西方向灯亮灭一致,南北方向灯亮灭一致,故只需要按东西为一组,南北为一组,两组交错亮灭来设计控制系统,即可达到交通灯系统的控制目的。
根据以上分析那么只需要控制东南或者西北六盏灯亮灭规律就能实现控制,另外两组对应一致就行了。
根据设计要求,要求东西或者南北通行25秒,红绿灯切换中间黄灯闪烁5秒。
那么要求绿灯亮放行,放行线,绿灯持续亮(通行时间)25秒,黄灯亮(警告提醒时间)5秒,红灯亮禁止通行,禁止线,为了简化设计,也为25秒。
切换过程东西南北均为黄灯闪烁。
2、设计思路基于完成以上任务分析,结合所学有关知识,尤其是本学期所学关于单片机的中断系统和定时/计数器的相关知识及应用,我们知道对于红、绿、黄两组各三盏灯的控制,可以通过把这六盏灯分别接到单片机的六个输出引脚,若用P1口进行输出,则分配如下:AT89C51P1.0P1.1P1.2P1.3P1.4P1.5L1L2L3L4L5L6(东西红)(东西黄)(东西绿)(南北红)(南北黄)(南北绿)LED显示分布通过对P1口P0~P5编程从而实现控制。
基于单片机交通灯课程设计简介本文档旨在介绍一种基于单片机的交通灯课程设计方案。
交通灯是城市交通中至关重要的设施,通过控制交通流量,能够确保交通的顺畅与安全。
本文档将介绍设计的整体概念、硬件模块和软件实现。
设计概念本课程设计基于单片机来实现交通灯的控制逻辑。
通过一个简单的电路,连接到单片机的引脚上,我们可以实现对交通灯的控制。
课程设计的目标是让学生掌握使用单片机进行控制的基本原理和方法。
硬件模块设计中使用的硬件模块主要包括以下几个部分:1.单片机:使用一款适合初学者的单片机,例如Arduino Uno。
2.LED灯组:使用红、黄、绿三色的LED灯来模拟交通灯的状态。
3.电阻:用于限制电流,保护LED灯的正常工作。
这些硬件模块可以通过简单的电路连接起来,以实现交通灯的控制。
软件实现交通灯控制的软件实现主要涉及以下几个方面:1.引脚配置:通过代码设置单片机的引脚模式,将其设置为数字输出模式。
2.灯状态控制:通过代码控制单片机的输出电平,以控制LED灯的亮灭。
3.延时函数:通过代码实现延时函数,用于控制交通灯的时间间隔。
4.交通灯状态切换:通过控制交通灯亮灭的时间和顺序,实现交通灯状态的切换。
通过以上步骤的组合,可以实现交通灯的控制逻辑。
代码示例下面是一个简单的代码示例,展示如何使用单片机控制交通灯的状态切换:int redLedPin = 2;int yellowLedPin = 3;int greenLedPin = 4;void setup() {pinMode(redLedPin, OUTPUT);pinMode(yellowLedPin, OUTPUT);pinMode(greenLedPin, OUTPUT);}void loop() {digitalWrite(redLedPin, HIGH); // 红灯亮 delay(5000); // 延时5秒digitalWrite(redLedPin, LOW); // 红灯灭 digitalWrite(greenLedPin, HIGH); // 绿灯亮 delay(5000); // 延时5秒digitalWrite(greenLedPin, LOW); // 绿灯灭 digitalWrite(yellowLedPin, HIGH); // 黄灯亮 delay(2000); // 延时2秒digitalWrite(yellowLedPin, LOW); // 黄灯灭}在上述示例代码中,我们将红、黄、绿三色LED灯的引脚分别连接到单片机的引脚2、3、4上,并通过代码控制引脚的电平,实现交通灯的状态切换。
测控技术与仪器专业课程设计报告题目:基于单片机原理的交通信号灯设计2021 年 7 月目录一、设计目的 (2)2. 设计任务和要求 (2)三、设计原理分析 (2)4. 硬件资源及其配置 (3)五。
硬件图 (6)6. 程序框图 (7)七、程序 (8): 8. 调试运行 (13)9. 仿真截图 (13)10. 设计经验 (15)一、设计目的1 、通过单片机课程设计,掌握汇编语言的编程方法,理论联系实际,提高我们的大脑和动手能力。
2 、通过红绿灯控制系统的设计,掌握定时器/计数器和中断的使用,编写简单的程序,最终提高我们的逻辑抽象能力。
二、设计任务及要求任务:设计一个能够控制十二个交通灯的模拟系统要求:用单片机的定时器使路口的红绿灯交替亮灭,用LED灯显示倒计时时间。
1.东西绿灯亮,南北红灯亮2,黄灯亮3,东西红灯亮,南北绿灯亮三、设计原理分析1.首先,了解实际红绿灯的变化规律。
假设一个路口如上图所示,那么方向是东南西北。
初始状态0:东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮,黄灯亮,南北红灯亮;:东西红灯亮黄灯,南北绿灯亮黄灯。
一段时间后,循环回到状态0。
中间可以通过中断按钮产生中断,跳转到中断程序执行中断。
2 、红绿灯,东、西、北、南应有四组灯,但由于同一条道路上的两组灯具有相同的显示条件,所以只需要两组。
因此,使用了单片机部门的I/O。
端口上P1端口的6个引脚可以控制6个信号灯。
3 、通过编写程序模拟红绿灯的管理,实现对发光二极管的控制。
延时一段时间后,灯的显示会根据红绿灯的显示规则改变状态。
4 、倒计时时间显示功能可在原有交通信号灯系统编制依据上,通过延迟时间发送显示,实现功能扩展。
5、中断可以通过脉冲中断编写中断程序来实现。
4. 硬件资源及其分配主要使用硬件:P1口、P3口、LED数码管、LED发光二极管、定时器T0硬件配置:1 、端口P1:作为输出端口,连接发光二极管。
其状态及对应的十六进制值如2 、P3口的P3.0(RXD)和P3.1(TXD)有特殊用途,数据(倒计时)从RXD端输入,TXD端输出。
目录1设计任务------------------------------------------------------------------- 1 2 设计方案 ------------------------------------------------------------------ 12.1任务分析------------------------------------------------------------- 12.2方案设计------------------------------------------------------------- 12.3硬件方案------------------------------------------------------------- 12.4软件方案------------------------------------------------------------- 23 系统硬件设计-------------------------------------------------------------- 33.1单片机的最小系统 --------------------------------------------------- 33.2电源电路设计 -------------------------------------------------------- 33.3数码管显示电路------------------------------------------------------ 34 系统软件设计-------------------------------------------------------------- 44.1 主程序设计 ---------------------------------------------------------- 44.2系统程序------------------------------------------------------------- 45 调试及性能分析 ----------------------------------------------------------- 45.1软件调试------------------------------------------------------------- 45.2硬件调试------------------------------------------------------------- 45.3系统功能调试 -------------------------------------------------------- 56 遇到的问题及解决 --------------------------------------------------------- 57 心得体会 ------------------------------------------------------------------ 5 附录: ----------------------------------------------------------------------- 6 总结 ------------------------------------------------------------------------ 101设计任务利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
课程设计任务书学生姓名:王凯专业班级:电子科学与技术0901班指导教师:吴友宇工作单位:信息工程学院题目: 交通信号灯控制器的设计初始条件:本设计既可以使用集成集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。
本设计也可以使用单片机系统构建交通信号灯控制器。
用数码管显示时间计数值,用红、黄、绿LED作信号灯。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:①要求甲车道和乙车道两条交叉道路上的车辆交替运行(以红绿灯指示),每次通行时间设为0—30秒(可预置);变更车道以前,黄灯先亮5秒钟,黄灯亮时,要求每秒钟闪亮一次;两个车道均以减计数方式显示时间。
其余部分可根据情况自行发挥。
②确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述基本原理。
③绘制总体电路原理图。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、2011 年7 月3 日集中,作课设具体实施计划与课程设计报告格式的要求说明。
2、2011 年7 月3 日,查阅相关资料,学习电路的工作原理。
2、2011年7 月4 日至2011 年7 月5日,方案选择和电路设计。
2、2011 年7 月6日至2011 年7 月7 日,电路调试和设计说明书撰写。
3、2011 年7 月8 日上交课程设计成果及报告,同时进行答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日系主任(或责任教师)签名:年月日目录摘要 (6)交通信号灯控制器的设计 (7)1 任务要求与设计 (7)1.1 设计目的 (7)1.2 设计任务和内容 (7)1.2.1设计任务 (7)1.2.2设计内容 (7)2 总体方案比较 (8)2.1 方案论证 (8)2.2 方案选择 (9)3 总体硬件电路设计及核心器件介绍 (10)3.1总体设计 (10)4单元电路模块设计 (11)4.1复位电路、晶振电路 (11)4.2 LED数码管显示电路 (11)4.3 仿真原理图 (12)5软件编程设计 (13)5.1 设计思想 (13)5.2 程序框图..................... 错误!未定义书签。
毕业设计基于单片机的交通信号的灯控制系统一. 综合实训的主要内容 1.设计任务设计一单片机控制的交通信号灯系统,模拟城市十字路口交通信号灯功能。
2.基本功能要求2.1 交通信号控制直行车道红黄绿灯控制、左行车道绿灯控制、人行横道红绿灯控制。
2.2 通行时间显示数码管倒计时显示通行时间。
2.3 时间参数设置存储按键实现通行时间的设置,并存储到EEPROM (24C02)芯片中。
二. 硬件方案设计与论证 1. 显示模块设计1.1倒计时时间显示设计思想:由于该系统要求完成倒计时显示通行时间的功能,且考虑到实际的交通系统中车辆及行人通行时间不会超过一分钟,基于以上原因,我们考虑完全采用数码管显示,四个路口分别采用一个二位共阴极数码管进行显示。
(其实物图见附录1图5.3)图2.1 数码管原理图原理图分析:为了显示数字或字符,必须对数字或字符进行编码。
七段数码管GND abcde fg dp gf ed c ba(a)(a,b,c,d,e,f,g)加上一个小数点(dp),共计8段,构成一个字节,通过对这八段给予高低平使二极管导通或截止,从而显示不同的数字或字符。
系统中所使用的是2位共阴数码管(实物图见附录),其管脚从左上方起顺时针依次为1,a,b,e,d,2,g,f,dp,c。
1.2 状态灯显示设计思想:由于该系统要求完成状态灯显示的功能,我们把各个路口的红灯和黄灯设成直行和左拐两个通行方式所共有,也就是说,一个路口只需四个状态灯,一个直行通行的绿灯,一个左拐通行的绿灯,一个共有的红灯,一个共有的黄灯,人行横道采用红绿灯控制,综上所述,我们共使用16个LED绿灯,12个LED 红灯,4个LED黄灯来完成状态灯显示功能。
2.控制模块设计2.1 设计思想由于本系统结构简单,实现较容易,不需要大量的外围扩展,所以我们采用STC89C51单片机作为主控制器,STC89C51单片机具有体积小,功耗低,控制能力强,价格低、扩展灵活,使用方便等特点,其最小系统由振荡电路、复位电路构成。
单片机交通灯课程设计(LED显示倒计时).txt27信念的力量在于即使身处逆境,亦能帮助你鼓起前进的船帆;信念的魅力在于即使遇到险运,亦能召唤你鼓起生活的勇气;信念的伟大在于即使遭遇不幸,亦能促使你保持崇高的心灵。
本文由ID很难想啊贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,日常的交通堵塞成为人们司空见惯而又不得不忍受的问题。
在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。
对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。
交通灯控制系统由 80C51 单片机、键盘、LED 显示、交通灯延时组成。
系统除具有基本交通灯功能外,还具有时间设置、 LED 信息显示功能,市交通实现有效控制。
目录一序言...... 3 1.1 交通灯的形成...... 4 1.2 单片机的发展历程...... 4 1.3 芯片简介...... 5 1.4 技术指标及设计要求...... 7 二硬件电路的设计及描述...... 9 2.1MCS-51 单片机内部结构...... 9 2.2 MCS-51 单片机芯片引脚位置及功能符号......12 2.3 51 系列单片机运行的硬件条件......13 2.4 单片机的特点与应用......14 三软件设计流程及描述......15 3.1 软件设计......15 3.2 电路连接分配......16 3.3 主程序流程图......17 四源程序代码......18 体会总结......22 体会总结参考文献 (23)2一序言1.1 交通灯的形成当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在 19 世纪就已出现了。
1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914 年始安装于纽约市 5 号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968 年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告3信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
我们设计的单片机控制交通灯就是基于信号灯。
1.2 单片机的发展历程单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
在 MCS-51 系列单片机中,有两个子系列:51 子系列和 52 子系列。
每个子系列有诺干中型号。
51 系列有 8051、8751 和 8031 三个型号,后来经过改进产生了 80c51、87c51、80c31 三个型号; 52 系列有 5021、8752、 8032 三个型号,改进后的型号是 80c52/87c52、 80c32。
改进后的型号更加省电。
52 系列比对应的 51 系列增加了定时器 T2 并将内部程序存贮器增加到 8KB。
Inter 公司停止生产 MCS-51 系列单片机之后将生产权转让给了许多其他公司,于是出现了许多与Mcs-51 兼容的单片机。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和 I/O 接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
4单片机经过 1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它们的 CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
1.3 芯片简介MSCMSC-51 芯片简介 80C51 是 INTEL 公司 MCS-51 系列单片机中最基本的产品,它采用 INTEL 公司可靠的 CHMOS 工艺技术制造的高性能 8 位单片机,属于标准的 MCS-51 的HCMOS 产品。
它结合了 HMOS 的高速和高密度技术及 CHMOS 的低功耗特征,它继承和扩展了 MCS-48 单片机的体系结构和指令系统。
8051 是 MCS-51 系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
8051 单片机包含中央处理器、程序存储器 (ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码,CPU 负责控制、指挥和调5度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(RAM):8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字型表。
程序存储器(ROM): 8051 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始数据或表格。
定时/计数器(ROM): 8051 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
并行输入输出(I/O)口: 8051 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),用于对外部数据的传输。
全双工串行口:68051 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
中断系统: 8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。
时钟电路: 8051 内置最高频率达 12MHz 的时钟电路,用于产生整个单片机运行的脉冲时序,但 8051 单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿 (Princeton)结构。
INTEL 的 MCS-51 系列单片机采用的是哈佛结构的形式,而后续产品 16 位的MCS-96 系列单片机则采用普林斯顿结构。
1.4 技术指标设计一个十字路口的交通灯控制电路,每条道路上各配有一组7红、黄、绿交通信号灯,其中红灯亮,表示该道路禁止通行;黄灯亮表示该道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯表示该道路允许通行。
该电路自动控制十字路口两组红、黄、绿交通灯的状态转换,实现十字路口自动化。
1.5 设计要求1、利用两种颜色的 4 个发光二极管模拟路口的交通灯。
2、交通灯切换时间为 50 秒,在 LED 数码管上显示剩余时间。
8二硬件电路的设计及描述2.1MCS-51 单片机内部结构在 MCS-51 系列单片机中, 2 个系列: 51 系列和有子 52 子系列。
每个系列有若干种型号。
51 系列有 8051、8751、8031、 87C51、和 80C31。
:9分析上图,并按其功能部件划分可以看出,MCS-51 系列单片机是由 8 大部分组成的。
这 8 大部分是: 1.一个 8 位中央处理器 CPU(有成为微处理器) CPU 的内部结构是有运算器和控制器组成,是单片机的核心部件。
其中包括算术逻辑运算单元、ALU、累加器 ACC、程序状态字寄存器 PSW、堆栈指针 SP、寄存器 SP、寄存器 B、程序计数器(指令指针)PC、指令寄存器 IR、暂存器等部件。
2.128 个字节的片内数据存储器 RAM 片内数据存储器用于存放数据、运算结果。
3.4KB 的片内程序存储器 ROM 或 EPROM 用于存放程序、原始数据和表格。
现在的改进产品里一般都换成了 Flash 存储器。
4.18 个特殊功能寄存器 SFR。
CPU 内部包含了一些外围电路的控制寄存器、状态寄存器以及数据输入/输出寄存器,这些外围电路的寄存器构成了 CPU 内部的特殊功能寄存器。
18 个特殊功能寄存器 SFR 有 3 个是 16 位的,共占了 21 个字节。
5.4 个 8 位并行输入输出 I/O 接口。
10P0 口P0.0~P0.7输入与输出分时的传送地址低 8位与数据线 P1 口 P2 口 P3 口入端 P3.1—TXD:串行口输出端 P3.1—TXD:串行口输出端 P3.2— P3.3—:外部中断 0 中断请求输入端:外部中断 1 中断请求输入端P1.0~P1.7 P2.0~P2.7 P3.0~P3.7 输入与输出输入与输出输入与输出无第二功能传送地址的高 8 位 P3.0—RXD:串行口输P3.4—T0:定时器/计数器 0 外部输入端 P3.5—T1:定时器/计数器 1 外部输入端 P3.6— P3.7—:外部数据存储器写选通信号:外部数据存储器读选通信号P0 口、P1 口、P2 口、P3 口(共 32 线),用于并行输入或输出数据。
6.1 个串行I/O 接口,完成单片机与其他微机之间的串行通信。
117.2 个 16 位定时器/计数器 T0、T1。
8.一个具有 5 个(52 子系列为 6 个或 7 个)中断源,2 个可编程优先级的中断系统。
它可以接收外部中断申请、定时器/计数器中断申请和串行口终端申请。
2.2 MCS-51 单片机芯片引脚位置及功能符号如下图所示。
单片机芯片引脚位置及功能符号如下图所示。
MCS-51 系统的引脚说明: MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,图二是它们的引脚配置,40 个引脚中,12正电源和底线两根,外置石英振荡器的时钟线两根,组 8 位共 32 4 个 I/O 口,中断口线与 P3 口线复用。