题目交通灯控制系统设计指导教师娄智、蔡建英学生姓名陈敏、倪梦洁专业交通安全与智能控制班级093511.主要内容本课程是利用单片机最小系统设计交通灯,单片机最小系统包括:复位电路、外部晶振、低位地址锁存等。该课程应该据有的功能是:具有显示红绿交通灯功能,可以设置外部操作能对计时器直接复位启动。2.需求分析红绿交通灯是我们日常生活经常见到也是必不可少的,随着城市社会经济的发展,城市道路交通供给和需求的矛盾日益突出,并引发很多交通问题。本文根据城市交通的特点和面临的交通问题,提出基于交通灯控制的城市交通流动态管理系统。3.设计思想本课程设计是基于AT89C51设计的红绿交通灯。用AT89C51与电阻、电容、开关等组成单片机的最小系统,AT89C52单片机的P1口驱动其中三个作为驱动端口驱动红绿交通灯亮与灭。P1口是单纯的通用8位准双向I/O端口,每位可驱动4个TTL负载。作为通用I/O端口,与P0端口的区别在于内部具有上拉电阻,所以输出时不用外接上拉电阻。4.实现方法(1)在设计中利用软件程序延时的方法来控制红(绿)的亮的时间。考虑延时时间较长所以先用T0产生终端然后通过计数的方法来实现延时。利用P1口的P1.1、P1.2、P1.3作为红绿灯控制端口。(2)南北向的绿灯连在一块,东西向的红灯连在一块,他们一块与P1.1相连。同样南北向的红灯连在一块,东西向的绿灯连在一块,他们一块与P1.2相连,四个黄灯连在一块与P1.3相连。(3)程序流程图:图1程序流程图5.芯片介绍1.AT89C52芯片AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL开始南北红东西绿延时15s黄灯亮南北绿东西红黄灯亮延时15s公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。主要功能特性:•兼容MCS51指令系统•8k可反复擦写(1000次)FlashROM•32个双向I/O口•256x8bit内部RAM•3个16位可编程定时/计数器中断•时钟频率0-24MHz•2个串行中断•可编程UART串行通道•2个外部中断源•共6个中断源•2个读写中断口线•3级加密位•低功耗空闲和掉电模式•软件设置睡眠和唤醒功能图2.AT89C52芯片所需硬件:AT89S52芯片9x15万能线路板一块40PIC坐一个9针排阻一个红黄绿LED灯各4各12M晶振一个电阻(0.1K~1K)12各电容(10~50uf)5个DC接口开关6.实现过程1.单片机最小系统RETA9A10A11A12A13A14A15RTINT0INT1T0T1WRRDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7A8A0A1A2A3A4A5A6A7A13A14A15Y0Y1Y2Y3Y4Y5Y6Y7D3D4D5D6D7D0D1D2D3D4D5D6D7D2D1D0XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U180C51PACKAGE=DIL40PROGRAM=..\..\单片机学习\led_8\led8\8led.hexCLOCK=12MHzD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274LS373X1CRYSTALC122pC222pC31uFR11KALEALEA1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U474LS138图3单片机最小系统单片机系统需要实验板一块,电容8个,电阻3个,12兆晶振一个,按钮一个,40管教插槽一个,IC插座若干,导线若干,小led灯一个,AT80C52芯片一片等单片机系统包括单片机、晶振电路、复位电路。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号.为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。2.系统连线(1)把“单片机系统”区域中的P1.0-P1.2端口用3芯排线连接到交通灯显示模块区域中的端口上。(2)把“单片机系统”的地与电源与电源的地与电源相连接。把led的vcc与电源相连。P1.0P1.2P1.0P1.1P1.2P1.2P1.1P1.0P1.2P1.1P1.0P1.1D1LEDD2LEDD3LEDD4LEDD5LEDD6LEDD7LEDD8LEDD9LEDD10LEDD11LEDD12LEDR2330R3330R4330R5330R6330R7330R8330R9330R10330R11330R12330R13330图4显示模块电路图焊接图7.调试与总结1.调试(1)焊接时注意各个器件的引脚处,注意区分各个电阻与电容的数值要仔细看清楚,每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的的地方。(2)在设计电路时为节省引线数目利用P1.3作为电源驱动led但是这样驱动的led亮度有限尤其是绿灯几乎不亮,所以测了一下高电平下的P1.3得知为2V左右所以改为5V电源。(3)在编写延时程序时尤其当延时常数太大时仿真时程序易死,所以使用定时器定时中断的方法,然后对定时计数以次延时。2.总结通过本次课程设计较系统地掌握有关单片机控制的设计思想和设计方法,主要对AT89C52的结构、功能、内部资源等了解并对其进行测试和加以应用的知识得到学习。由于是在我们只有一个星期的课程设计,所以对定时器/计数器有了一定的掌握。这个秒表倒计时设计写程序时,我都会在在每条指令后都写好注释,以便在程序出错的检查过程中可以更容易查找得到。这个设计的一些内容是在网上找的,自己做了一些的改动,在上网找资料的同时也学到了许多东西,找到了很多学习单片机的网站,里面的内容都比较适合我们初学者去学,有些网站还专门介绍这种单片机的类型、用法、功能等等。其实我们平时不懂就应该自己去学习去弄明白,通过这个课程设计,使我发现,原来小小的一片单片机有这么强大的功能,能应用于各种领域。都是觉得很神奇,人类都的聪明啊。我应该在自己以后的学习中,不仅要有刻苦努力,要有钻研精神,还要有创新,对自己感兴趣的一定要用心去学。附录:C语言程序代码:#includereg52.hpower=1;#includestdio.h}#includeintrins.h}sbitSred_Egeeen=P1^1;sbitSyellow_Eyellow=P1^2;sbitSgreen_Ered=P1^3;//定义南北、东西向端口voiddelay(unsignedchark);//函数声明unsignedcharcount;//定义全局变量voidtime0_int(void)interrupt1{count=count+1;}voidmain(void){TMOD=0X00;//工作方式08.192msTH0=0X00;TL0=0X00;EA=1;ET0=1;TR0=1;while(1){count=0;Sred_Egeeen=0;Syellow_Eyellow=1;Sgreen_Ered=1;do{;}while(count=250);//南北红灯,东西绿灯Sred_Egeeen=1;Syellow_Eyellow=0;Sgreen_Ered=1;count=0;do{;}while(count=40);//黄灯切换Sred_Egeeen=1;Syellow_Eyellow=1;Sgreen_Ered=0;count=0;do{;}while(count=250);//南北绿灯,东西红灯*/