课程设计说明书(2012/2013学年第二学期)课程名称:单片机应用题目:交通灯控制器专业班级:电气10-2班学生姓名:赵洪涛学号:100062211指导教师:苗敬利等设计周数:2周设计成绩:2013年7月11日目录11、前言....................................................................22、设计背景................................................................22.1设计任务...........................................................22.2设计方案...........................................................22.2.1电源提供方案................................................22.2.2显示界面方案.................................................32.2.3输入方案.....................................................33、AT89C52简介.............................................................33.1芯片简介.........................................................33.2主要引脚功能......................................................43.3AT89C52中断源....................................................54、单片机交通控制系统设计..................................................64.1单片机交通控制系统的通行方案设计...................................64.2单片机交通控制系统的模块功能要求....................................65、系统硬件总电路构成及原理................................................75.1系统硬件电路构成..................................................75.2系统工作原理.......................................................76、系统软件程序的设计......................................................76.1程序主体设计.......................................................76.2系统软件程序.......................................................97、系统的硬件电路实现.....................................................157.1红绿灯正常运行20秒状态............................................157.2黄灯闪烁5秒状态.................................................157.3红绿灯运行时间延长状态.............................................167.4紧急情况状态......................................................178、硬件电路的测试.........................................................179、项目设计总结...........................................................1810参考文献...............................................................18摘要:近年来随着科技的飞速发展,单片机的应用正在不地走向深入,同时带动传统控制检2测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89S52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。1、前言随着人口快速的增多,交通工具的爆炸性的发展,以及道路资源的有限性,交通控制就应运而生,在人类的生活中,交通扮演着极其重要的角色,人们的出行都无时不刻与交通打着交道。由于计算机技术、自动控制技术和人工智能技术不断发展,城市交通的智能控制有了良好的技术基础,各种交通方案实现的可能性大大提高。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。本文设计的交通灯管理系统在实现了现代交通灯系统的基本功能的基础上,增加了紧急情况(重要车队通过、急救车通过等)发生时手动控制等功能。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。利用单片机控制技术,我们提出了软件和硬件设计方案,并且根据软硬件方案焊电路板,实现了道路的通行及一些紧急情况的处理。2、设计背景2.1设计任务设计交通灯控制器,要求:(1)A道和B道上均有车辆要求通过时,A,B道轮流放行。即A道放行时,B道禁行;(2)用2个数码管显示秒数,简化设计,不同时段显示放行时间和禁行时间。(3)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A,B道均为红灯,紧急车由K1开关模拟。(4)东西和南北各用3个发光二极管,分别是红灯,黄灯,绿灯。(5)上电时,默认红灯时间为10秒,绿灯时间为15秒。设置5个按键,分别为加1,减1,调节切换,紧急状态,开始运行。2.2设计方案2.2.1电源提供方案为使模块稳定工作,须有可靠电源。有两种电源方案可供选择:3方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。此方案的优点是系统简明,节约成本;缺点是输出功率不高。综上所述,我组选择第二种方案。2.2.2显示界面方案该系统要求完成倒计时功能。有二种方案选择:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。综上所述,我组选择第一种方案。2.2.3输入方案方案一:采用8155扩展I/O口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来复杂。方案二:直接在I/O口线上接上按键开关。由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM够用,即选择方案二。3、AT89C52简介3.1芯片简介AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。3.2主要引脚功能4(1)VCC:电源(2)GND:地(3)P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。(4)P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。表2P1口引脚第二功能引脚功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)(5)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。(6)P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。5表3P3口引脚的第二功能端口引脚第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外中断0)P3.3/INT1(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD外部数据存储器读选通)(7)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。DISRTO默认状态下,复位高电平有效。(8)ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。(9)PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。(10)EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器