基于89C51单片机的交通灯课程方案设计书报告_第1页
基于89C51单片机的交通灯课程方案设计书报告_第2页
基于89C51单片机的交通灯课程方案设计书报告_第3页
基于89C51单片机的交通灯课程方案设计书报告_第4页
基于89C51单片机的交通灯课程方案设计书报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计说明书题目十字路口交通灯设计学院名称电气工程学院指导教师唐耀庚职称教授班级自动化091班学号20094460122学生姓名易辉2012年6月16日十字路口交通灯数字显示系统摘要本设计是交通信号灯控制系统,随着社会的不断的进步,社会的不断发展。交通也日渐复杂,交通的自动化也不断更新,交通的一些指挥系统光靠人来完成是远远不够的,这就需要设计各种交通指挥自动化系统来完成这些复杂的工作。从而使交通指挥系统更加有秩序,更加安全。至此本人设计了交通信号灯控制系统,来指挥十字路口车辆的停通,使红绿灯指挥系统实现自动化,无人化。该交通灯控制系统控制的是东西和南北两个方向上的车辆通行,此系统核心元件为单

2、片机AT89C51,单片机)的低电压,高性能CM0S8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。此设计的硬件电路不是很复杂,关键在于软件的设计,即程序的编写。本设计采用的程序编写语言为现在流行的C语言,简单又便于阅读。编写程序的原则是:1.满足设计的要求。2.尽量采用最好,最有效的算法

3、。3.编写时应尽量用最简洁的语言。编写好源程序后,采用keil软件对其进行编译,使其生成单片机可以识别的.hex文件,再把此文件导入单片机89C51中即可。关键词:交通指示灯;单片机;控制目录TOC o 1-5 h z概述3设计背景31.2设计任务3系统总体方案及硬件设计4AT89S52单片机简介4系统硬件电路的设计4软件设计73.1交通灯的设计程序流程图73.2定时器0及中断响应8Proteus软件仿真104.1仿真电路图10仿真步骤10课程设计体会11参考文献11附1:源程序代码12附2:系统原理图181引言随着社会的发展,人们生活水平的改善,私家车越来越多。车流量的增加给交通带来了极大的

4、压力,也使得交通安全日益严峻。而交通灯则成为疏通车辆,缓解交通压力,减少交通事故,维护交通安全,制定交通规则最常见和最有效的手段。十字路口是生活中常见的交通路线,而十字路口也是车流量较多,导致车辆堵塞教为严重的交通路口,因此,十字路口交通灯成了交通路线上最常见的交通设备。红灯停绿灯行成了每个人口熟能详的交通规则。在很久以前,交通灯仅仅只是通过简单的时序电路控制红绿灯的切换,这导致了人们对时间把握的不准确,如行人和司机不能正确的把握交通灯的变换,从而出现不必要的交通事故。由单片机控制的十字路口交通灯具有时间倒计时显示、绿灯闪烁警示、黄灯示意减速停车等功能,完善了交通灯功能,减少交通事故,做到了更

5、好的改善交通环境,维护人们生命和财产安全,为创造美好城市交通形象发挥了不可替代的作用。2十字路口交通灯设计2.1设计目标十字路口交通灯设计要求通过89C51单片机的控制,实现十字路口交通灯的切换和倒计时显示。东西(A)、南北(B)两干道交于一个十字路口,各干道有一组红、绿、黄三个指示灯,指挥车辆和行人安全通行。红灯的设计时间为25秒,绿灯20秒后闪烁警示,然后绿灯灭,黄灯亮2S。要求两干道交通灯显示正确,时间显示不错乱。2.2设计流程图程序设计确定为交通灯后,根据设计要求,通过ISIS画出电路图,由电路图和设计要求通过keil编写汇编语句并调试,调试成功生成*.HEX文件,打开ISIS选择单片

6、机将*.HEX文件添加进源文件,然后进行调试,调试成功,则完成设计。硬件设计2.3.1核心元件介绍(AT89C51)AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1主要特性:·。

7、与MCS-51兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口

8、:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内

9、部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INTO(外部中断0)P3.3/INT1(外部中断1)P3.4TO(记时器0外部输入)P3.5T1(

10、记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在

11、执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的

12、输入。XTAL2:来自反向振荡器的输出。3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。黄、绿各四个),5伏电源一个。2.3.2系统工作流程(1)程序设置初始时间,通过89C52单片机内部相应寄存器来实现。(2)有89C52单片机的定时器每秒通过P3.0口向74LS164的数据端口发送信息,由74LS164的输出口显示南北红、绿、黄灯的燃亮时间情况。(3)

13、程序设计将东西方向的燃亮时间十位数由P1口输出,个位数由P0口输出。(89C52只有一个串行输出端口,其余数据有简单I/O口输出。)(4)89C52通过程序设置各个信号灯的燃亮时间,通过程序设置黄绿灯时间依次为2s,20s,25s循环,由89C52的P3口向74LS163的数据口输出。(5)通过89C52单片机的P3口来控制系统的工作。2.3.3硬件选择调试(1)焊接时注意各个器件的引脚处,注意区分各个电阻与电容的数值要仔细看清楚,每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的的地方。(2)在设计电路时为节省引线数目利用P1.3作为电源驱动led但是这样驱动的led亮度有限尤其是绿灯几乎不亮,所以测了一下高电平下的P1.3得知为2V左右所以改为5V电源。(3)在编写延时程序时尤其当延时常数太大时仿真时程序易死,所以使用定时器定时中断的方法,然后对定时计数以次延时。总结通过本次课程设计较系统地掌握有关单片机控制的设计思想和设计方法,主要对AT89C52的结构、功能、内部资源等了解并对其进行测试和加以应用的知识得到学习。由于是在我们只有两个星期的课程设计,我做的是24秒倒计时,所以对定时器/计数器有了一定的掌握。这个秒表倒计时设计写程序时,我都会在在每条指令后都写好注释,以便在程序出错的检查过程中可以更容易查找得到。这个设计的一些内容是在网上找的,

温馨提示

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

评论

0/150

提交评论