单片机控制红绿灯系统_第1页
单片机控制红绿灯系统_第2页
单片机控制红绿灯系统_第3页
单片机控制红绿灯系统_第4页
单片机控制红绿灯系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关键词:AT89C51;7448,LED2方案论证2.1设计任务设计基于单片机的智能交通红绿灯控制系统,要求能通过按键或遥控器设置系统参数,系统运行时,“倒计时等信息"能通过数码管或点阵发光管显示,设计时应考虑交通红绿灯控制的易操作性及智能性。以单片机的最小系统为基础设计硬件,用汇编语言、或C语言设计软件。通过本设计可以培养学生分析问题和解决问题的能力,掌握Mcs51单片机的硬件与软件设计方法,从而将学到的理论知识应用于实践中,为将来走向社会奠定良好的基础.东西(A)、南北(B)两干道交于一个十字路口,各干道有一组红、黄、绿三个指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行,黄灯亮时车辆及行人小心通过。红灯的设计时间为45秒,绿灯为40秒,黄灯为5秒。2.2方案介绍方案1设计思想:采用分模块设计的思想,程序设计实现的基本思想是一个计数器,选择一个单片机,其内部为一个计数,是十六进制计数器,模块化后,通过设置或程序清除来实现状态的转换,由于每一个模块的计数多不是相同,这里的各模块是以预置数和计数器计数共同来实现的,所以要考虑增加一个置数模块,其主要功能细分为,对不同的状态输入要产生相应状态的下一个状态的预置数,如图中A道和B道,分别为次干道的置数选择和主干道的置数选择。方案2设计思想:由两个传感器监视南北方向即A道与东西方向即B道的车辆来往情况,设开关K=1为有车通过,K=0为没有车通过。则有以下四种情况:Ka=1时:Kb=0,表示A有车B没有车,则仅通行B道:Kb=1,表示A有车B有车,则优先通行A道;Ka=0时:Kb=0表示A没有车B也没有车,同样优先通行A道;Kb=1表示A没有车B有车,则仅通行B道。方案比较:方案1用了模块设计,而方案2采用逻辑设计,相比之下1有较强的可读性和较强的可修改性,而2则在设计上显得较简单,设计纯朴,便于测试,它的优势则在于提供了一条较为便捷的解决方案。2首先将许多逻辑关系简化到极点,而后将其一起集成用较少的芯片去完成所需功能。我们最终的设计应该尽量使用模块化设计。对工程设计人员来说,将来的产品无论从修改还是升级考虑对有好处,但另外我们又需将设计简单化,因此我觉得在设计初期尽可能的简单化设计,而一旦设计的各项测试通过了,在有可能的条件下将设计模块化,所以本设计以第一方案为主进行.我们最终的设计应该尽量使用模块化设计.对工程设计人员来说,将来的产品无论从修改还是升级考虑对有好处,但另外我们又需将设计简单化,因此我觉得在设计初期尽可能的简单化设计,而一旦设计的各项测试通过了,在有可能的条件下将设计模块化,所以本设计以第一方案为主进行。3交通灯系统硬件设计3.1单片机概述单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。通常,单片机由单个集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等.因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。3.2系统构成电路板一块,AT89S51单片机一片,7448芯片2片,七段数码管八个。发光二极管20个(8个绿的,8个红的,4个黄的用于交通控制),100欧姆电阻20个,2个按键,2个开关,51K欧姆电阻2个,5V稳定电源1个,3个电容2个单刀单掷开关等。系统结构框图:图3—1系统结构框图系统工作流程:(1)程序初始,通过两个传感器来判断南北与东西方向车辆通行情况。(2)情况判定后由AT89S51单片机p1口及部分p2口输出二进制信号控制红绿黄灯亮的情况。(3)确定那些灯亮后,由对应的七段数码管来进行到计时显示。由p0口输出来控制七段数码管的显示,而p2口的高四位则用来控制数码管显示时的个位和十位(4)系统是否需要紧急工作状态,而此任务由外部中断来实现.(5)LED采用5V的直流电来驱动,低电平。3.3芯片选择与介绍3.3.1AT89S51芯片选用的AT89S51与同系列的AT89C51在功能上有明显的提高,最突出是的可以实现在线的编程.用于实现系统的总的控制.其主要功能列举如下:1)为一般控制应用的8位单片机2)晶片内部具有时钟振荡器(传统最高工作频率可至33MHz)3)内部程式存储器(ROM)为4KB4)内部数据存储器(RAM)为128B5)外部程序存储器可扩充至64KB6)外部数据存储器可扩充至64KB7)32条双向输入输出线,且每条均可以单独做I/O的控制8)6个中断向量源9)2组独立的16位定时器10)1个全双工串行通信端口11)8751及8752单芯片具有数据保密的功能12)单芯片提供位逻辑运算指令图3-1AT89C51芯片3。3.27448芯片介绍7448七段显示译码器输出高电平有效,用以驱动共阴极显示器.该集成显示译码器设有多个辅助控制端,以增强器件的功能,可将单片机输出的四位二进制数转换成10进制数与七段数码管显示对应,用于显示0-9的数字.图3—27448芯片其中LT为测试输入。3.3.3红绿LED信号显示灯及七段数码显示管LED灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮.如下图:图3-3红绿LED信号显示灯而七段数码管的显示不同的字形如SP,g,f,e,d,c,b,a管角上加上OFEH所以SP上为0伏,不亮其余为TTL高电平,全亮则显示为8。采用共阴极连接:表3-4七段数码管的显示显示数值abcdefgdop驱动代码(16进制)0111111110FCH10000011060H2110110100DAH3111100100F2H40110011066H5101101100B6H6101111100BEH7111000000E0H8111111100FEH9111101100F6H3.3.4交通灯控制线路图图3-5原理图4交通灯软件设计4。1程序设计流程图程序设计框图图4-1程序设计框图4。2延时的设定延时方法可以有两种一种是利用AT89S51内部定时器的溢出中断来确定1秒的时间,另一种是采用软件延时的方法。实现1ms秒的方法:我们采用在主程序中设定一个初值为0的软件计数器和使T1定时1毫秒相应程序代码:D1MS:MOVR7,#250;1MS延时程序DJNZR7,$RET4.3子程序的实现A道通车情况:START1:MOVTEMP,#25MOVP1,#0F3HLOOP1:ACALLDELAYDECTEMPMOVA,TEMPMOVP0,TEMPJNBP1.6,START3JNBP1.7,START11CJNEA,#0,NEXT1LJMPSTART2NEXT1:LJMPLOOP1START11:MOVTEMP,#65MOVP1,#0F3HLOOP11:ACALLDELAYDECTEMPMOVA,TEMPMOVP0,TEMPJNBP1。6,START33JNBP1.7,START1CJNEA,#0,NEXT11LJMPSTART11NEXT11:LJMPLOOP11START2:MOVP1,#0F5HMOVTEMN,#05LOOP2:ACALLDELAY1DECTEMNMOVA,TEMNCJNEA,#0,NEXT2LJMPSTART3NEXT2:LJMPLOOP2B道通车情况:START3:MOVTEMP,#25MOVP1,#0DEHLOOP3:ACALLDELAYDECTEMPMOVA,TEMPMOVP0,TEMPJNBP1.6,START1JNBP1。7,START33CJNEA,#0,NEXT3LJMPSTART4NEXT3:LJMPLOOP3START33:MOVTEMP,#65MOVP1,#0DEHLOOP33:ACALLDELAYDECTEMPMOVA,TEMPMOVP0,TEMPJNBP1.6,START11JNBP1。7,START3CJNEA,#0,NEXT33LJMPSTART4NEXT33:LJMPLOOP33START4:MOVP1,#0EEHMOVTEMN,#05LOOP4:ACALLDELAY1中断情况即紧急情况:ORG0000HTEMPEQU24HTEMNEQU25HLJMPMAINORG0003HLJMPT0_INTORG0013HLJMPTI_INTT0_INT:MOVA,P1PUSHACCMOVP1,#0FFHMOVP1,#0F3HMOVP0,#00HJNBP3。2,$POPACCMOVP1,ACCRETITI_INT:MOVA,P1PUSHACCMOVP1,#0FFHMOVP1,#0DEHMOVP0,#00HJNBP3。3,$POPACCMOVP1,ARETI5实验仿真5。1仿真图根据对称性选用部分对称元件仿真,ﻩ图5—1仿真图5。2实验步骤5.2.1编写程序代码程序代码分为几个模块:中断模块,循环模块,延时模块。原程序实现:ORG0000HTEMPEQU24HTEMNEQU25HLJMPMAINORG0003HLJMPT0_INTORG0013HLJMPTI_INTT0_INT:MOVA,P1PUSHACCMOVP1,#0FFHMOVP1,#0F3HMOVP0,#00HJNBP3.2,$POPACCMOVP1,ACCRETITI_INT:MOVA,P1PUSHACCMOVP1,#0FFHMOVP1,#0DEHMOVP0,#00HJNBP3.3,$POPACCMOVP1,ARETIMAIN:SETBEASETBEX0SETBEX1CLRF0START1:MOVTEMP,#25MOVP1,#0F3HLOOP1:ACALLDELAYDECTEMPMOVA,TEMPMOVP0,TEMPJNBP1。6,START3JNBP1。7,START11CJNEA,#0,NEXT1LJMPSTART2NEXT1:LJMPLOOP1START11:MOVTEMP,#65MOVP1,#0F3HLOOP11:ACALLDELAYDECTEMPMOVA,TEMPMOVP0,TEMPJNBP1.6,START33JNBP1.7,START1CJNEA,#0,NEXT11LJMPSTART11NEXT11:LJMPLOOP11START2:MOVP1,#0F5HMOVTEMN,#05LOOP2:ACALLDELAY1DECTEMNMOVA,TEMNCJNEA,#0,NEXT2LJMPSTART3NEXT2:LJMPLOOP2START3:MOVTEMP,#25MOVP1,#0DEHLOOP3:ACALLDELAYDECTEMPMOVA,TEMPMOVP0,TEMPJNBP1.6,START1JNBP1.7,START33CJNEA,#0,NEXT3LJMPSTART4NEXT3:LJMPLOOP3START33:MOVTEMP,#65MOVP1,#0DEHLOOP33:ACALLDELAYDECTEMPMOVA,TEMPMOVP0,TEMPJNBP1。6,START11JNBP1.7,START3CJNEA,#0,NEXT33LJMPSTART4NEXT33:LJMPLOOP33START4:MOVP1,#0EEHMOVTEMN,#05LOOP4:ACALLDELAY1DECTEMNMOVA,TEMNCJNEA,#0,NEXT4LJMPSTART1NEXT4:LJMPLOOP4RETIDELAY:MOVA,TEMPMOVB,#10DIVABMOVR5,AMOVR6,BMOVR0,#10L0:MOVR1,#250L1:MOVA,R5MOVP0,ACLRP2.4ACALLDIMSSETBP2.4MOVA,R6MOVP0,R6CLRP2.5ACALLDIMSSETBP2。5DECR1DJNZR1,L1DECR0DJNZR0,L0RETIDELAY1:MOVA,TEMNMOVB,#10DIVABMOVR5,AMOVR6,BMOVR2,#10L2:MOVR3,#250L3:MOVA,R5MOVP0,ACLRP2。4ACALLDIMSSETBP2.4MOVA,R6MOVP0,R6CLRP2.5ACALLDIMSSETBP2.5DECR3DJNZR3,L3DECR2DJNZR2,L2RETIDELAY11:MOVA,TEMPMOVB,#10DIVABMOVR5,AMOVR6,BMOVR0,#10Y0:MOVR1,#250Y1:MOVA,R5MOVP2,ACLRP2。6ACALLDIMSSETBP2.6MOVA,R6MOVP2,R6CLRP2.7ACALLDIMSSETBP2。7DECR1DJNZR1,Y1DECR0DJNZR0,Y0RETIDIMS:MOVR7,#250DJNZR7,$RETEND5.2.2按照系统硬件连线图连接好系统并调试1)调试程序=1\*GB2\*MERGEFORMAT⑴打开仿真软件,新建文件;=2\*GB2\*MERGEFORMAT⑵选择芯片;=3\*GB2\*MERGEFORMAT⑶新建文档,把编写好代码写入文档并保存了ASM文件;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论