AT89C52单片机交通灯设计1
基于单片机AT89C52控制的交通灯

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本设计主要分为五大模块输入控制电路、时钟控制电路、片内外程序切换控制、显示电路。
以MSC-51系列单片机IntelAT89C52为中心器件来设计交通灯控制器,实现了AT89C52芯片的P1口设置红、绿灯、黄灯燃亮时间的功能;为了系统稳定可靠采用了74LS14施密特触发器芯片的消抖电路,避免了系统因输入信号抖动产生误操作;显示时间直接通过AT89C52的P3口输出,由NPN驱动LED数码管显示红灯燃亮时间。
AbstractThe intersections vehicle wears shuttle, pedestrian Xi Rang, garage driveway, person's sidewalk, orderly. So depend what to carry out this well arranged order? What to depend is a traffic sign light of automatic conductor system. The control method of the traffic sign light is a lot of. This design is mainly divided into five greatest molds a piece the electric circuit, clock of the importation control a control outside procedure inside the electric circuit, slice to cut over a control and shows electric circuit. Take single slice the machine IntelAT89 C52of the serieses MSC-51s as a center spare part to design transportation light controller, carried out the AT89 C52's P's 1 people's constitution of the chips red, the function in bright time of green light, Huang2 Deng Ran2;For the sake of system stability the credibility adopted a 74 LS14 airtight trigger eliminate of machine chip to tremble electric circuit especially, avoided system because of importation the signal tremble movable property to living a mistake operation; The P 3 people who shows that time directly passes the AT89 C52 output, is driven LED figures a tube by the NPN to show red-light Ran bright time.摘要 (I)Abstract (I)目录........................................................................................................................... I I 第一章绪论.. (1)1.1交通灯设计的意义 (1)1.2交通灯设计的思想 (1)1.3交通灯设计满足的基本功能 (2)第二章总体方案 (3)2.1总体方案设计思想 (3)2.2系统方案选择与比较 (3)2.3系统总体方案论证 (4)第三章硬件设计 (6)3.1 总体设计与描述 (6)3.2 交通灯通行模式及行车方向指示 (6)3.3 主干道单独时间设置功能 (8)3.4 倒计时计数功能及其实现 (8)3.5 各功能模块硬件设计及实现 (9)第四章软件设计 (12)4.1 软件总体流程图 (12)4.2 定时器初始化 (12)4.3 动态显示 (13)4.4 设置状态子程序 (13)第五章系统调试 (15)5.1 系统操作说明 (15)5.2 调试 (15)5.3 调试心得 (19)第六章设计总结 (21)致谢 (22)参考资料 (23)附录 (24)Ⅰ原理图 (24)Ⅱ原程序 (25)第一章绪论1.1交通灯设计的意义交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。
基于STC89C52单片机的交通灯设计

目录1 系统设计 (3)1.1 设计要求 (3)1.2 硬件设计部分 (3)1.2.1 交通灯系统电路 (3)1.2.2 单片机最小系统电路(见附录1) (4)1.2.3 复位电路 (4)1.2.4 晶振电路 (4)1.2.5 74HC573的功能(见附录2) (5)1.2.6 发光二极管 (6)1.2.7 数码管 (6)2 软件设计(见附录3) (7)3 电路原理图的制作 (7)3.1电路原理图的设计 (7)3.2 PCB的制作 (8)结论 (11)参考文献 (12)摘要本次设计系统有交通灯设置电路、单片机、显示电路等构成。
信号灯控制的实现是通过电路与C语言程序的结合来完成,其中信号灯的模拟采用了发光二极管,发光二极管有熄灭、点亮和闪烁三种信号,其中闪烁信号的产生运用了延时程序来实现,而时间倒数方面引进了LED数字显示,克服了人们在等待时的心急的心情,减少了红灯未灭,闯红灯的现象。
电路部分原理图是通过用 Protel 99SE软件绘制设计,C语言程序的设计与调试都在KEIL上完成。
本系统功能设计完善,采用AT89C52单片机为核心,具有实用,方便,灵活的特点。
随着电子技术的广泛应用,车辆日益增多将成为一种发展趋势,所以要有一套安全可靠的交通指示灯。
单片机AT89S52为控制核心,以红、绿、黄三种LED发光管作为直行和左右拐弯以及行人通行的指示,以LED数码管作为倒计时指示,完成了题目要求的所有功能。
在此基础上对系统进行了优化设计,整体性好,人性化强、可靠性高。
关键词:单片机;交通灯;显示1 系统设计1.1 设计要求南北方向红灯与东西方向绿灯同时亮,倒计时30秒,数码管显示;南北方向黄灯与东西方向黄灯亮,倒计时3秒,数码管显示;南北方向绿灯与东西方向红灯亮时,倒计时30秒,数码管显示。
1.2 硬件设计部分根据本设计交通灯的模型和实现的功能,硬件部分可以分为以下两个大的系统:单片机系统、交通灯演示系统。
基于AT89C52单片机的交通灯C语言程序

_nop_(); _nop_(); delay(1); _nop_(); _nop_(); _nop_(); delay(1); } void shu5() { d0=0; d1=0;
d2=0; delay(1); d0=0; d1=1; d2=0; delay(1); d0=1; d1=1; d2=0; delay(1); d0=1; d1=0; d2=1;
d2=0; delay(1); d0=1; d1=0; d2=0; delay(1); d0=0; d1=1; d2=0; delay(1); d0=1; d1=1;
d2=0; delay(1); d0=0; d1=1; d2=1; delay(1); _nop_(); _nop_(); _nop_(); delay(1); _nop_(); _nop_(); _nop_();
基于 AT89C52 单片机的交通灯 C 语言程序
如图,简易交通灯 。 有四个状态 0,1,2,3 数码管为 2 位 7 段共阳数码管,可以通过修改 i,j 的值进而修改倒计时的长 短。 不当地方,敬请批评指正! 图一:十字路口交通灯 图二:状态 0 绿灯:0x42 红灯:0xbd
_nop_(); delay(1); _nop_(); _nop_(); _nop_(); delay(1); _nop_(); _nop_(); _nop_(); delay(1); _nop_(); _nop_();
_nop_(); delay(1); } void shu2() { d0=0; d1=0; d2=0; delay(1); d0=1; d1=0; d2=0; delay(1);
图三:状态 1 绿灯:0x25 红灯:0xda 图四:状态 2 绿灯:0x90 红灯:0x6f 图五:状态 3 绿灯:0x2c 红灯:0xd3
AT89C52单片机智能交通灯的设计

AT89C52单片机智能交通灯的设计引言随着城市汽车保有量的越来越多,城市的交通拥挤问题正逐渐引起人们的注意。
交通灯是交管部分管理城市交通的重要工具。
目前绝大部分交通灯其时间都是设定好的,不管是车流高峰还是低谷,红绿灯的时间都固定不变;还有一些交通灯能根据简单划分的时间段来调整时间,但控制起来都不是很灵活,这使得城市车流的调节不能达到最优。
本文所述设计正是针对这一弊端进行了改进,根据实时车流量对各路口的绿灯时间进行动态调节,大大加强了其灵活性和实时性;软件编程采用了实时操作系统RTX51,在确保实时性要求的同时,简化了复杂的软件设计工作。
1 方案论证图1是一个典型的十字路口示意图。
分别用1、2、3、4表明四个流向的主车道,用a、b、c、p分别表示各主车道的左行车道、直行车道、右行车道以及人行横道。
通过分析很容易得知,除了四个右行车道外,在同一时间,最多只能有两个车道通行,如1a、1b通行时,其它车道都会被阻断。
所以在设计红绿灯时,可以两两组合,共有四组(如la-1b、2a-2b、3a-3b、4a-4b);而各车道的红灯时间和人行横道通停时间都由这四个组合的绿灯窗口时间决定。
本文将以广泛采用的图2所示的通行顺序来讲述智能交通灯的设计。
2 系统软硬件设计本系统硬件上采用上位机和下位机设计,其中下位机四个,均采用AT89C52单片机,分别控制图2所示的四个组合。
AT89C52单片机具有MCS-51内核,片内有8KB Flash、256字节RAM、6个中断源、1个串行口、最高工作频率可达24MHz,完全可以满足本系统的需要。
上位机和下位机之间的串行通信采用RS-485标准接口。
在通信频率为9600bps的情况下,有效通信距离可达2.1km。
基于AT89c52制作的多功能交通灯

基于STC89C52制作的多功能交通灯一、摘要AT89C52单片机具有控制二连体共阴极数码管和发光二极管的输出显示以及检测按键输入的功能。
利用AT89C52单片机模仿制作室外十字路口多功能交通灯,实现室内控制与室外显示的功能。
合理控制交通繁忙,交通特殊情况和恢复交通正常的三种情况。
二、方案设计与验证1.数码管显示部分方案一:利用9013三极管驱动二连体数码管,由于总共用到5个二连体数码管,需要使用40个9013三极管,故舍弃该方案。
方案二:利用4511译码器驱动二连体数码管,可以使用动态扫描法同时驱动5个二连体数码管,只需要使用一个4511译码器,故选择该方案。
2.二连体数码管位码显示方案一:利用软件进行动态扫描使十位数码管同时显示,但程序会过于冗长,故舍弃该方案。
方案二:利用74LS04反向器在硬件上进行动态扫描,同时点亮十个数码管,编写程序简单,故选择该方案。
3.按键模块由于只有五个按键,故使用行列式按键,在程序上使用动态扫描法,测试按键是否按下。
三、总体设计利用proteus设计的整体电路图:1、首先自己画好显示面板、小系统面板和控制面板三部分的电路图。
2、将元器件在实际洞洞板上布局。
四、局部设计1、显示部分用四个共阴极LED显示东西南北方向的时间,用一个LED显示主控制台的选择时间。
并在每一路口有一个红灯、一个黄灯和两个绿灯(其中一绿灯作执行指示灯,另一个作左转指示灯)。
在每一人行道两端均有两个红绿灯,作为人行控制灯。
在主控制台有两灯,分别用于指示正常与繁忙。
2、核心控制部分用89C52单片机作为核心控制,P00——P03与HEF4511相接,使其驱动十个数码管,控制数码管的代码。
P20——P25与74LS04相接,使其控制数码管的位码。
3、主控台部分为实现工作人员智能调控交通指示灯时间,在主控台部分有五个按键实现,有正常指示按键,特殊指示按键,繁忙指示按键以及时间加减按键。
五、测试1.用keil写好程序,利用PROTEUS仿真,电路运行良好2.焊接好硬件电路,用万用表分别检测单片机最小系统,控制面板,显示面板,所有发光二极管和二连体数码管均正常显示。
AT89C52单片机为控制器的多功能交通灯控制系统

AT89C52 单片机为控制器的多功能交通灯控制系统汽车数量越来越多,而现在的红绿灯处的交通灯模式采用的是定时控制,由于车流量是随时变化的,当此时没有车通过,而相对的车要等到此方向的绿灯结束显示红灯才能通过,在时间和空间方面的应变性能较差,这样不仅浪费了时间,还使得相对方向的车辆造成堵车现象。
要想解决城市红绿灯处的大堵车现象,改善原有的红绿灯处交通灯控制系统是很有必要的。
本文以AT89C52 单片机为控制器的交通灯控制系统,该系统通过红外接收器接收信号实现特种车辆(119、120 等)自动放行;通过车辆检测电路采集路况信号,经单片机处理后,分配各车道的绿灯时间,实现车流动态调节,LED 数码管显示通行倒计时;系统除基本交通灯功能外,还具有通行时间手动设置、可倒计时显示、急车强行通过、车流量检测及调整、交通异常状况判别及处理等相关功能。
1、交通控制系统的总体框图设计及原理该交通灯控制系统用单片机直接控制信号灯的状态变化,接入的LED 数码管就可显示倒计时以提醒行使者。
本系统在此基础上加入了违规检测电路和车流量检测电路为单片机采集数据,同时接上蜂鸣器。
本设计以单片机为控制核心,连接成最小系统,由车流量检测模块、违规检测模块和按键设置模块等产生输入,信号灯状态模块、LED 倒计时模块和蜂鸣器状态模块接受输出。
系统的总体框图如图1 所示。
图1 系统的总体框图2、系统硬件总电路构成及工作原理本设计选用AT89C52 单片机及外围器件构成最小控制系统,12 个发光二极管分成4 组红绿黄三色灯构成信号灯指示模块,8 个LED 东西南北各两个构成倒计时显示模块,车流量检测传感器采集流量数据,光敏传感器捕获违规信号,若干按键组成时间设置和模式选择按钮和紧急按钮等,以及用1 个蜂鸣器进行报警。
系统硬件电路构成:单片机为核心,组成一个集车流量采集、处理、自动控制为一身的闭环控制系统。
系统硬件电路由车流量检测电路、单片机、违规检测电路,状态灯,LED 显示,按键,语音提示器组成。
基于AT89S52单片机的交通灯设计

1 交通灯的设计目的及方案介绍1设计课题的目的通过单片机的课程设计,加深和巩固单片机知识,提高综合及灵活运用所学的知识来解决日常生活及工业控制的能力,提高针对知识的需要,选择和查阅其他资料书籍、灵活运用其中知识及自学能力,提高组成系统、编程、制版、调试的全方面能力,通过对课题设计方案的分析、选择、比较,熟悉单片机运用于系统开发、研制的过程,软硬件设计的方法、内容及步骤。
培养发现问题、分析问题和解决问题的能力以及创新能力和创新思维的提高。
1.2设计要求及说明设计一个具有特定功能的十字路口交通灯。
该交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
按开始键则开始工作,按结束键则返回“P.”状态。
要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。
有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。
1.3方案介绍及工作原理1.3.1 方案介绍系统整体框图如图1.1所示:1.3.2 工作原理该系统采用的是使用现有单片机最小的硬件电路和P3口控制交通灯,P2口控制数码管各位,P0口控制数码管各段,P1.0、P1.1口线控制数码管各位和P1.2口接收紧急信号电路集合而成,构成交通灯的总体电路,即交通灯。
通过对单片机编写对应的程序,控制各个部分,达到预期的效果。
2 交通灯的硬件设计及PCB图2.1交通灯原理图电路原理图如附录一,电路原理图由各功能模块组成。
2.2交通灯各模块功能2.2.1 单片机最小系统电路单片机最小系统由CPU,复位电路,振荡电路三部分构成,CPU采用的是Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容的AT89S52芯片。
AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
基于AT89S52单片机交通灯控制系统的方案设计书

一、设计任务与要求用AT89S52单片机控制一个交通信号灯系统,晶振采用12MHZ 。
设A 车道与B 车道交叉组成十字路口,A 是主道,B 是支道。
设计要求如下:用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。
正常情况下,A 、B 两车道轮流放行,A 车道放行50s ,其中5s 用于警告;B 车道放行30s ,其中5s 用于警告。
交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。
在B 车道放行期间,若A 车道有车而B 车道无车,按下开关K1 使 A 车道放行15s ;在 A 车道放行期间,若B 车道有车而A 车道无车,按下开关K1 使B 车道放行15s 。
有紧急车辆通过时,按下K2开关使 A 、B 车道均为红灯,禁行20s 。
二、方案设计与论证 方案一:交通控制系统主要控制A 、B 两车道的交通,以A T89S52单片机为核心芯片,通过控制三色LED 的亮灭来控制各车道的通行;另外通过2个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。
根据设计要求,制定总体设计思想如下:1、正常情况下运行主程序,采用0.5S 延时子程序的反复调用来实现各种定时时间。
2、一道有车而另一道无车时,采用外部中断1执行中断服务程序,并设置中断为低优先级中断。
3、有紧急车辆通过时,采用外部中断0执行中断服务程序,并设置中断为高优先级中断,实现二级中断嵌套。
该电路具有电路简单,设计方便,显示亮度高,耗电较少,也非常的可靠等点。
总体设计框图如图1所示:图1 系统整体设计方框图方案二:采用标准AT89S52单片机作为控制器;通行倒计时显示采用3位数码管;主、次通道及行人指示灯采用双色高亮发光二极管;LED 显示采用动态扫描,以节省端口。
紧急车辆通行采用实时中断完成,识别方法采用手动按钮。
按以上系统构架设计,单片机端口资源刚好满足要求。
该系统具有电路简单,设计方便,显示亮度高耗电少,可靠性高,但是占用单片机资源太多了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录摘要 (2)1 交通信号灯控制系统设计任务和性能指标 (3)1.1 设计任务 (3)1.2 性能指标 (3)2 交通信号灯控制系统设计方案 (3)2.1 设计思路 (3)2.1.1 设计思路 (3)2.1.2 功能设计 (3)2.2 总体设计 (3)2.2.1 通行方案设计 (4)2.2.2 硬件设计方案 (4)2.2.3 软件设计方案 (5)3 交通信号灯控制系统硬件设计 (5)3.1 系统硬件框图 (5)3.2 单元电路设计 (6)3.2.1 单片机最小系统 (6)3.2.2 信号灯显示电路 (7)3.2.3 倒计时显示电路 (7)3.2.4 电路原理图 (8)4 交通信号灯控制系统程序设计 (8)4.1 C语言程序编写 (8)5个人小结 (12)6参考文献 (12)摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本系统采用单片机AT89C52为中心器件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。
本设计系统就是由单片机最小系统、交通灯状态显示系统、LED 数码显示系统、复位电路和按键操作电路等几大部分组成。
系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。
软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。
经过整机调试,实现了对十字路口交通灯的模拟。
1 交通信号灯控制系统设计任务和性能指标1.1设计任务利用单片机设计一个十字路口交通信号灯控制系统,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,并有倒计时系统显示信号灯转换时间。
用红、绿、黄发光二极管作信号灯,两位八段数码管显示时间来控制交通信号灯的变化。
1.2性能指标(1)东西和南北方向的车辆交替通行,任意时刻只有一个方向通行,以黄灯闪烁来转换。
(2)系统开始运行时设置每次放行13秒,其中有3秒是黄灯闪烁提醒行人和车辆禁止通行。
2 交通信号灯控制系统设计方案2.1设计思路2.1.1设计思路(1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。
(2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能。
(3)选择器件,大体分配各个器件及模块的基本功能要求,设计主控电路、显示电路,信号灯状态电路,按键电路等。
(4)进行软件系统的设计,对于本系统,采用C语言编写,深入了解定时器,中断以及延时原理后,完成软件的编写。
2.1.2 功能设计本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,通行时间调整和紧急情况处理等功能。
2.2 总体设计单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。
2.2.1 通行方案设计十字路口分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
其具体状态如图所示。
说明:黑色表示亮,白色表示灭。
交通状态从状态1开始变换,直至状态4然后循环至状态1,周而复始。
S1 东西通行S2 东西禁行过渡状态S3 南北通行S4 南北禁行过渡状态通过对具体的十字路口交通信号灯状态的演示分析,可以把这四个状态归纳如下:状态S1:东西方向绿灯亮,允许通行,南北方向红灯亮,禁止通行;状态S2:东西方向绿灯转黄灯闪烁,允许通行,南北方向红灯亮,禁止通行;状态S3:东西方向红灯亮,禁止通行,南北方向绿灯亮,允许通行;状态S4:东西方向红灯亮,禁止通行,南北方向绿灯转黄灯闪烁,允许通行;依据上述分析,东西的通行时间为状态S1和状态S2的时间之和,南北的通行时间为状态S3和状态S4的时间之和。
2.2.2 硬件设计方案2.2.2.1 AT89C52单片机芯片简介AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
2.2.2.2 AT89C52单片机引脚图本系统选用Atmel公司的AT系列单片机AT89C52为中心器件设计交通信号灯控制器,实现了红绿灯循环点亮,绿灯变红灯中间为黄灯闪烁警示的功能。
每个方向采用红绿黄三色的LED灯的亮灭来模拟信号灯,采用两位八段共阳数码管,显示十字路口通行或禁止的剩余时间。
2.2.3 软件设计方案设计要求为:首先南北方向红灯、东西方向绿灯亮,南北方向红灯13秒、东西方向绿灯9秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间3秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。
南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为9秒,东西方向有黄灯跳转为红灯,时间为13秒。
当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。
进入开始的状态,循环执行。
根据设计要求编写C语言程序。
软件采用KEIL C语言完成。
3 交通信号灯控制系统硬件设计3.1系统硬件框图根据设计的要求,单片机选用AT89C52,其内部带有8KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。
四个方向各采用三个不同色的LED 灯和1个两位的数码管显示,来实现该方向的指示灯的点亮时间倒计时。
按键可以根据系统的需要进行操作。
系统硬件框图3.2单元电路设计3.2.1单片机最小系统对51系列单片机来说,单片机要正常工作,必须具有五个基本电路,也称五个工作条件:1、电源电路,2、时钟电路,3、复位电路,4、程序存储器选择电路,5、外围电路。
因此,单片机最小系统一般应该包括单片机、晶振电路、复位电路、外围电路等。
(1)电源电路设计单片机芯片的第40脚为正电源引脚VCC,一般外接+5V电压。
第20脚为接地引脚GND,常见电源电路设计如下图所示:电源设计(2)时钟电路设计单片机是一种时序电路,必须要有时钟信号才能正常工作。
单片机芯片的18脚(XTAL2)、19脚(XTAL1)分别为片内反向放大器的输出端和输入端,只要在18脚(XTAL2)和19脚(XTAL1)之间接上一个晶振,再加上2个20PF的瓷片电容即可构成单片机所需的AT89C52XTAL1P0.0XTAL2 |P0.5RESP2.0|P2.7时钟电路复位电路信号灯显示倒计时显示按键操时钟电路,本设计就采用图所示时钟电路。
时钟电路(3)复位电路设计单片机芯片的第9脚RST(Reset)是复位信号输入端。
单片机系统在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态等情况下都需要复位。
AT89C52单片机的复位靠外部电路实现,信号从RST引脚输入,高电平有效,只要保持RST引脚高电平2个机器周期,单片机就能正常复位。
复位电路(4)外围电路的设计外围电路的设计主要依据项目要实现的功能,本项目要实现的功能是用单片机控制交通信号灯。
3.2.2交通信号灯显示电路本系统采用LED作为信号灯来使用,单片机的I/O口直接与LED连接。
在十字路口的四组红、黄、绿三色交通灯中,东西方向的同色灯连接在一起,南北方向的同色灯也彼此连接,受单片机AT89C52的P1.0—P1.5控制。
12个LED指示灯采用共阳极的连接方式,因此I/O口输出低电平时,与之相连的LED会亮,输出高电平时,LED熄灭。
3.2.3倒计时显示电路该交通信号灯控制系统在正常工作情况下,为方便提示路上行人及车辆交通灯转换的剩余时间,专门为控制系统提供了一个倒计时的显示装置。
该装置采用2位八段数码管来显示,每个路口需要1个,共4个,在设计电路时,本系统采用用共阳数码管。
3.2.4电路原理图4 交通信号灯控制系统程序设计4.1 C语言程序编写本系统程序采用KEIL C 编程,来控制交通信号灯的亮灭及时长。
程序如下:/*#include<REG51.H> */#include<AT89X51.H>#define uchar unsigned char /*定义字符串类型为无符号型*/uchar code a[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};uchar code b[4]={0x0D,0x0E,0x07,0x0B}; /****P2口,低有效*/uchar code c[4]={0xDE,0xDD,0xF3,0xEB}; /****P1口,低有效*/char SN=10,WE=13;char SN_G=10,WE_G=10,Y=3;uchar i,k=0,count=0;void delay(uchar t);/*定义函数*/void light(); /*定义函数*/void led(); /*定义函数*//*程序初始化*/void init(void){/*12MHz */TMOD=0x01; /**计数器用模式1,为16位计数器*****/TH1=(65536-50000)/256; /*0x3C*/TL1=(65536-50000)%256; /*0xB0*//*计50000个数,用时50ms*/ IT0=1;/*外部中断0为边沿触发方式*/ET0=1;/*允许T0中断*/TR0=1;/*启动计数器*/EA=1;/*CPU开放总中断*/}/*定时函数*/void time1(void) interrupt 1{TH0=0x3c;TL0=0xb0;/*计50000个数,用时50ms*/count++; /*自增运算*/if(count>=20)/*当count大于或等于20时,历时1s,执行程序*/ {SN--;/*自减运算*/WE--;/*自减运算*/count=0;/*清零*/if(SN==0||WE==0)/*当SN=0或者WE=0时,执行程序*/{k++;/*自增运算*/if(k>3)/*当k>3时,执行程序*/k=0;/*清零*/switch(k)/*switch 语句*/{case 0:SN=SN_G,WE=SN_G+Y;break;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/ case 1:SN=Y,WE=Y;break; /*东西南北方向显示时间均为黄灯闪亮时间*/case 2:SN=WE_G+Y,WE=WE_G;break;/*南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/ case 3:SN=Y,WE=Y;break; /*东西南北方向显示时间均为黄灯闪亮时间*/}}}}/*延时t毫秒*/void delay(uchar t){uchar i;for(t;t>0;t--){for(i=2000;i>0;i--){}}}/*交通灯函数*/{P1=c[k];/*交通灯对应着k的值变化*/if(P1==c[1]&&count==0)/*当南北方向亮黄灯且count=0时,执行程序*/ {TH1=(65536-50000)/256;TL1=(65536-50000)%256;/*延时50ms*/P1=0xDF;/*南北方向黄灯熄灭,东西方向亮红灯*/}elseif(P1==c[3]&&count==0)/*当东西方向亮黄灯且count=0时,执行程序*/ {TH1=(65536-300000)/256;TL1=(65536-300000)%256;/*延时50ms*/P1=0xFB;/*南北方向亮红灯,东西方向黄灯熄灭*/}}/*数码管函数*/void led(){P2=b[0],P0=a[SN%10];/*显示南北方向个位*/delay(5);/*延时*/P2=b[1],P0=a[SN/10];/*显示南北方向十位*/delay(5);/*延时*/P2=b[2],P0=a[WE%10];/*显示东西方向个位*/delay(5);/*延时*/P2=b[3],P0=a[WE/10];/*显示东西方向十位*/delay(5); /*延时*/}{init();/*调用程序初始化函数*/for(;;)/*无条件循环*/{light();/*调用交通灯函数*/led(); /*调用数码管函数*/}}5 个人小结这次是很有意义的一次课程设计,从原理图设计到软件仿真,我从中收获了许多。