基于某单片机地多功能交通灯

基于某单片机地多功能交通灯

ID:39862288

大小:291.69 KB

页数:18页

时间:2019-07-13

基于某单片机地多功能交通灯_第1页
基于某单片机地多功能交通灯_第2页
基于某单片机地多功能交通灯_第3页
基于某单片机地多功能交通灯_第4页
基于某单片机地多功能交通灯_第5页
资源描述:

《基于某单片机地多功能交通灯》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标准文档基于单片机的交通信号灯设计人员:管天亮,张凡,邓丽蓉,郑兴乐指导老师:钟春良实用文案标准文档目录一、设计目的二、硬件电路设计1、单片机模块设计2、电流放大模块三、软件设计四、仿真电路五、实际电路六、参考文献(设计前请参考电子技术基础数字部分第三章3.6节逻辑门电路使用中的几个实际问题。电子技术基础模拟部分第四章4.5共集电极放大电路)实用文案标准文档一、设计目的通过AT89S51单片机控制东西南北四个方向的红绿灯,同时设置五个按键,当按下K1键,则进入调节绿灯时间的状态,K2是绿灯时间加5秒,K3是绿灯时间减5秒,绿灯

2、最少时间是25秒,最多加到90秒,再按下K1键则退出调节状态;当不按K1键,直接按下K2键则东西通行南北禁止,按下K3键则是南北通行,东西禁止,再按下K1键则恢复原来状态;当按下K4键则将所有的状态恢复成设置的状态;当按下K5键则停止在当前状态。二、硬件电路设计1、单片机模块设计实用文案标准文档本次设计采用的是单片机AT89C51。芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口,如图3.1所示。左边那列逆时针数起,依次为1,2,3.....40,其中芯片的1脚顶上有一个凹点。在单片机的40个引脚中,电源引脚2根,外接晶体振

3、荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。熟悉单片机的拉电流与灌电流的区别,点亮led灯使用的是灌电流驱动图AT89C51管脚图AT89C51单片机共有4组8位可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位,共32根。每一根引脚都可以编程,比如用来控制电机、交通灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能。实用文案标准文档P0口:8位双向I/O口线,名称为P0.0-P0.7;P1口:8位准双向I/O口线,名称为P1.0-P1.7;P2口:8位准双向I/O口线,名称为P2.0-P2

4、.7;P3口:8位准双向I/O口线,名称为P3.0-P3.7。本文单片机模块如图所示,主要是由单片机芯片与晶振和复位电路组成的。是由单片机来控制整个系统,让我们的系统可以正常的运行。2、电流放大模块实用文案标准文档该程序通过共集电极放大电路实现电流的放大功能,由于单片机的输出电流太小,不足以驱动数码管,因此需要通过共集电极放大电路来放大电流。共集电极电路只有电流放大作用,没有电压放大,因此可用来放大电流而不担心单片机被烧毁。将P1.0~P1.4四个IO口接入四个三极管的基极,集电极接电源Vcc,发射级接入两个共阳极数码管位选端

5、。1、数码管显示模块led数码管(LEDSegmentDisplays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。本次实验使用的是共阳极数码管实用文案标准文档一、软件设计该电路的程序设计如下:#include"reg51.h"#defineucharunsignedchar#defineuintunsignedint#defineioP2sbita

6、=P1^6;sbitb=P1^7;sbitc=P3^0;sbitew1=P1^0;sbitew2=P1^1;sbitsn1=P1^2;sbitsn2=P1^3;sbitk1=P3^0;sbitk2=P3^1;实用文案标准文档sbitk3=P3^2;sbitk4=P3^3;sbitk5=P3^4;uchartime=0,sec=0;ucharcodetable[]={0XC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voiddelay(uchari){ucharj;while(

7、i--)for(j=0;j<114;j++);}voidmain(){ucharb=0,i=0;ucharc=1;P1=0x00;EA=1;TMOD=0X01;TH0=0X4c;//定时50msTL0=0X00;ET0=1;TR0=1;io=0xff;while(1){if(sec==60+b)sec=0;if(k1==0){实用文案标准文档delay(10);if(k1==0){while(k1==0);c=++c;sec=0;time=0;}}elseif(c/2){P0=0xff;io=table[(25+b)/10];

8、sn1=1;delay(1);sn1=0;io=0xff;io=table[(25+b)%10];sn2=2;delay(1);sn2=0;io=0xff;if(k2==0){delay(10);if(k2==0){while(k2==0);b=b+5;实用文案标准文档sec

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。