《单片机原理及应用毕业课程设计-交通灯控制系统设计.doc》由会员分享,可在线阅读,更多相关《单片机原理及应用毕业课程设计-交通灯控制系统设计.doc(27页珍藏版)》请在金锄头文库上搜索。
1、 摘要单片机原理及应用课程设计 - 交通灯控制系统设计 摘 要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、紧急情况中断系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟
2、实现了十字路口可能出现的状况。软件上采用C51编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。关键词: AT89C51 8255A 74LS164 LED 交通灯 程序 目录目 录任务书i摘 要ii第一章 绪 论11.1 概述11.2 设计目的11.3 设计任务和内容1第二章 总体设计及核心器件简介22.1总体设计22.2 AT89C5122.3 8255A42.4 74LS16452.5 X50457第三章 单元电路模块设计113.1复位电路113.3晶振电路113.4 I/O口扩展电路123.5 LED数码管显示电路123.6
3、交通灯状态显示电路143.7 紧急情况中断电路153.8 总体设计原理图及功能介绍16第四章 软件编程设计174.1 设计思想174.2 程序框图174.3 源程序17第五章 设计心得和存在问题21参考文献24 第一章 绪论第一章 绪 论1.1 概述近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有
4、明显效果。1.2 设计目的(1)加强对单片机和C51语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。(2)用单片机模拟实现具体应用,使个人设计能够真正使用。(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。(4)提高利用已学知识分析和解决问题的能力。(5)提高实践动手能力。1.3 设计任务和内容1.3.1设计任务结合教材及参考资料,用AT89C51单片机模拟实现十字路口的交通灯亮灭、倒计时显示、紧急情况处理等功能。1.3.2设计内容(1)填写设计任务书。(2)进行总体设计,画出原理图。(3)用Protel软件画出PCB板并制板。(4)
5、焊接器件和芯片。(5)编写并调试程序。24 第二章 总体设计及核心器件简介第二章 总体设计及核心器件简介2.1总体设计整个设计以AT89C51单片机为核心,由I/O口扩展,LED数码管显示,紧急情况中断电路,watchdog复位电路组成。硬件模块入图3-1。AT89C51单片机I/0口扩展LED数码管显示中断系统复位电路图21 硬件模块2.2 AT89C511AT89C51单片机简介AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价
6、格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。图22 89C51内部结构图与EEPROM相比较,FPEROM大大缩短了存储内容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C系列的优越性。它还有128*8Bit的片内RAM;32根I/O线
7、;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作范围:0Hz24MHz。2管脚功能AT89C51单片机为40引脚芯片如图23所示。I/O口线: P0、P1、P2、P3共四个八位P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出, 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。P1口是专门供用户使用的I/O口, 是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时, P口也可以作为用户I/O口线使用, P
8、2口也是准双向口。P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能。作为第一功能使用时操作同P1口。P3口的第二功能如表21。图2-3 89C51引脚图控制口线: PSEN (片外取控制)、AL E( 地址锁存控制)、EA (片外储器选择)、RE2SET (复位控制) ;电源及时钟: CCC、VSS; XTAL 1, XTAL 2表2-1 引脚功能表2.3 8255A8255A是Intel公司生产的可编程输入输出接口芯片,它具有3个8位的并I/O口,具有三种工作方式,可通过程序改变其功能,因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。8
9、255有三种基本工作方式,三种工作方式由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供.三个端口中PC口被分为两个部分,上半部分随PA口称为A组,下半部分随PB口称为B组.其中PA口可工作与方式0、1和2,而PB口只能工作在方式0和1。8255共有40个引脚,采用双列直插式封装。其引脚图如图2-4所示,各引脚功能如下:图2-4 8255A引脚图D0-D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。CS:片选信号线,低电平有效,表示芯片被选中。RD:读出信号线,低电平有效,控制数据的读出。WR:写入信号线,低电平有效,控制数据的写入。Vcc:+5V电源。PA0-PA
10、7:A口输入/输出线。PB0-PB7:B口输入/输出线。PC0-PC7:C口输入/输出线。RESET:复位信号线。A1、A0:地址线,用来选择8255内部端口。GND:地线。2.4 74LS16474LS164引脚定义如图2-5所示,其真值表如表2-2所示,其功能是将外部输入的串行数据转化为8位的并行数据输出具有锁寸功能。A、B端为串行数据输入端,QA QH为数据输出端,CLK为外部时钟输入端,CLR为清零端。图2-5 74LS164引脚图表2-2 74LS164真值表 输入输出CLEARCLOCKA BQA QB QHLX X XL L LHL X XQA0 QB0 QH0H H HH QA
11、n QGnH L XL QAn QGnH X LL QAn QGn注 QA0、 QB0、QH0为在稳态输入条件建立之前QA 、QB 和QH相应的电平;QAn 、QGn 为在最近的时钟转换前QA或QG的电平,表示移1位。74LS164内部功能图如图2-6所示:图2-6 74LS164内部功能图2.5 X5045 X5045是一种集看门狗、电压监控和串行EEPROM 三种功能于一身的可编程电路。这种组合设计减少了电路对电路板空间的需求。X5045中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU 作出反应。X5045提供了三个时间值供用户选择
12、使用。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。X5045的存储器与CPU 可通过串行通信方式接口,共有4096个位,可以按512 x 8个字节来放置数据。1 引脚介绍CS/WDI:片选输入/看门狗复位输入;SO:串行输出;WP:写保护输入;RESET:复位输出;SCK:同步时钟输入;SI:串行输入。 图2-7 X5045引脚图 Vss:地;Vcc:电源;2 工作原理 2.1 上电复位 向X5045加电时会激活其内部的上电复位电路,从而使RESET 引脚有效。该信号可避免系统微处理器在电压不足或振荡器未稳定的情
13、况下工作。当VCC 超过器件的Vtrip门限值时,电路将在200ms(典型)延时后释放RESET 以允许系统开始工作。 2.2 低电压监视 工作时, X5045对VCC 电平进行监测,若电源电压跌落至预置的最小Vtrip以下时,系统即确认RESET,从而避免微处理器在电源失效或断开的情况下工作。当RESET 被确认后,该RESET 信号将一直保持有效,直到电压跌到低于1V 。而当VCC 返回并超过Vtrip达200ms时,系统重新开始工作。 2.3 看门狗定时器看门狗定时器的作用是通过监视WDI输入来监视微处理器是否激活。由于微处理器必须周期性的触发CS/WDI引脚以避免RESET 信号激活而
14、使电路复位,所以CS/WDI引脚必须在看门狗超时时间终止之前受到由高至低信号的触发。2.4 重新设置VCC 门限X5045/45出厂时设置的标准VCC 门限电压为Vtrip,但在应用时,如果标准值不恰当,用户可以重新调整。2.5 SPI串行存储器器件存储器部分是带块锁保护的CMOS串行EEPROM 阵列,阵列的内部组织是x8 位。X5045可提供最少为1000,000次擦写和100年的数据保存期,并具有串行外围接口(SPI)和软件协议的特点,允许工作在简单的四总线上。X5045主要是通过一个8 位的指令寄存器来控制器件的工作,其指令代码通过SI输入端(MSB在前)写入寄存器。表2-3所列为X5045的指令格式及其操作。表2-3 X5045的指令格式及其操作