电子技术综合设计总结报告中国矿业大学信电学院电子综合设计报告-1-目录1、概述··························································21.1、设计背景·····················································21.2、任务要求·····················································22、系统方案比较与选择2.1、AT89S52单片机简介··········································33、硬件设计···················································33.1、系统硬件电路的设计··········································34、软件设计·····················································64.1、交通灯的设计程序流程图·····································64.2、定时器0及中断响应··········································75、系统调试及功能测试············································85.1、软件仿真测试图···············································85.2、仿真步骤·····················································95.3、实物测试·····················································96、课程设计体会··················································107、参考文献······················································10附1:源程序代码··················································11附2:系统原理图··················································16附3:实物图······················································17附4:元器件清单··················································18中国矿业大学信电学院电子综合设计报告-2-1、概述1.1、设计背景如今随着人们生活水平的提高,车辆越来越多,交通事故频繁发生。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。交通灯在城市交通中起着重要的作用,它与人们日常生活密切相关,是人们出行的安全保障。因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。为了解决这些问题,我们更应该提高交通控制和管理水平,合理使用现有交通设施,充分发挥其能力,提高交通效率,促进和谐交通的建立。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。本系统设计一个基于单片机的交通灯控制系统。能方便的对交通灯进行控制,使交通更和谐。1.2、任务要求1)设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;3)黄灯亮时,要求每秒闪亮一次。4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。5)一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统能立即让有车道放行。6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2开关模拟。中国矿业大学信电学院电子综合设计报告-3-2、系统方案比较与选择2.1、AT89S51单片机简介AT89S51是一种低功耗、高性能CMOS8位微控制器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S51具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。鉴于以上的优点本系统采用AT89S51作为主控芯片,实现对整个系统的控制。3、硬件设计3.1、系统硬件电路的设计(1)时钟电路设计图2-1时钟电路原理图如图2-1所示,采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击荡器。其发出的时钟脉冲直接送入片内定时控制部件。中国矿业大学信电学院电子综合设计报告-4-(2)复位电路设计图2-2上电+按钮电平复位电路原理图如图2-2所示,采用上电+按钮电平复位方式,当按下按钮时,RST管脚高电平触发。为保证复位可靠,RC时间常数应大于两个机器周期,一般电容去22uF,电阻取1K。(3)灯控制电路设计图2-3交通灯状态显示电路如图2-3所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。通过软件编程,可使路口交通变化情况为:南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒;在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;黄灯亮时每秒闪亮一次。中国矿业大学信电学院电子综合设计报告-5-(4)倒计时显示电路设计图2-4数码管显示电路原理图如图2-4所示,由一个共阳极四位数码管来实现倒计时。由于P0口输出电流小,需外接上拉电阻,COME端接5V电源。(5)按键控制电路设计图2-5键盘电路原理图如图2-5所示,开光控制由PD1-PD5四个连接到单片机的控制按钮组成。通过软件编程,按下PD1电路进入外部中断响应,数码显示时间将停止倒计时,此时,可通过按钮PD3和PD4设置通行时间,每按一下PD3时间增加1s,而按下PD4时间减少1s。按下PD5将使程序重新进入循环点亮状态。中国矿业大学信电学院电子综合设计报告-6-4、软件设计4.1、交通灯的设计程序流程图南北通行开始中断?中断程序返回?K0=0??K1=0?DX=0?东西通行中断?中断程序NB=0?K0=0?K1=0?返回?NYNYYNNYNNNNNNYYYYYY中国矿业大学信电学院电子综合设计报告-7-4.2、定时器0及中断响应NYNY定时器0初始化开始定时溢出计数初值加一计数初值=99?计数初值=0中国矿业大学信电学院电子综合设计报告-8-5、系统调试及功能测试5.1、软件仿真测试首先将设计好的程序、电路原理图通过软件进行相应的编写、绘制,利用KEIL与PROTEUS软件进行仿真。调试,修改其中的错误,在软件仿真层面上实现其功能。中国矿业大学信电学院电子综合设计报告-9-5.2、仿真步骤(1)根据电路图选择器件连接电路(2)双击AT89S51装入源程序编译生成的HEX文件(3)单击运行按钮运行仿真(4)根据仿真情况与程序实现任务对比,对于不能实现的任务修改并调试程序,重新装载重新运行调试仿真,直到能完全实现所要求的功能为止(5)进一步改进和简化程序在进行调试仿真5.3、实物测试6、课程设计体会通过这次单片机实训课程学习,才深刻体会到自己实际操作能力的匮乏。从刚开始老师对单片机的整体介绍及其应用前景,对单片机产生了浓厚的兴趣,并利用自己的课余时间提前学习有关单片机的基本知识。但空有理路知识,却无半点的实际操作经验。后来在老师的建议下,选择运用单片机设计一个交通灯控制系统,从简单开始,后期逐步复杂化。从给定电路图的分析到实际电路元件的识别、焊接,再到后期的程序设计以及系统调试,初步掌握了运用单片机系统设计特定功能的设计步骤,也对单片机有了更深的体会。了解和掌握了一些简单的编程思想,对单片机各管脚的功能,I/O口的使用条件都有了更深的理解。这次的课程设计让我把单片机的理论知识运用的实践中,实现了理论与实践的相结合,从中更懂得了理论是实践的基础,中国矿业大学信电学院电子综合设计报告-10-实践更能检验理论的真实性,让我受益匪浅。7、参考文献1.《模拟集成电路原理与实用电路》,邮电出版社;2.《模拟集成电路应用》,西北工大出版社;3.《电子技术综合应用》,电子科大出版社;4.《传感器原理及应用》,天津大学出版社;5.《中规模数字集电路的原理及应用》,上海科学技术出版社;6.《中国集成电路大全》,国防工业出版社附录1:源程序代码//#includeREG51.H#includeAT89X51.H//对单片机的口进行了定义#defineuintunsignedint#defineucharunsignedcharucharcodea[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码组合,共阴极ucharcodeb[4]={0xfe,0xfd,0xfb,0xf7};//位码组合低有效ucharcodec[4]={0xcc,0xd4,0x78,0xb8};/*P1绿红、黄红、红绿、红黄*///12MHz//*************************************************************************************ucharNB=25,DX=30,NBG=25,DXG=15,H=5;/*数码管显示值设置*/uchari,k=0,cnt=0,j=0;sbitK0=P3^5;/*支干道通行*/sbitK1=P3^6;/*主干道通行*/sbitK4=P3^7;/*返回*/中国矿业大学信电学院电子综合设计报告-11-sbitK3=P3^2;/*设置时间*/sbitK2=P3^3;/*紧急刹车*/voiddelay(uchart);/*定义延时程序*/voidkey();/*定义键盘程序*/voiddisplay();/*定义显示程序*/voidsettime();/*定义时间设置显示程序*///*************************程序初始*********************************************voidinit(void){TMOD=0x01;/*使用定时器0模式一*/TH0=0x3c;/*(65536-5000)/256*/TL0=0xb0;/*(65536-5000)%256*/IT0=1;//开中断ET0=1;TR0=1;EA=1;EX0=1;EX1=1;P1=c[k];//开启交通灯}//*************************中断0处理程序***************************************voidint0(void)interrupt0//通行时间设置{EA=0;P1=0xd8;/*红灯全