单片机课程设计基于8255A的交通灯控制系统_第1页
单片机课程设计基于8255A的交通灯控制系统_第2页
单片机课程设计基于8255A的交通灯控制系统_第3页
单片机课程设计基于8255A的交通灯控制系统_第4页
单片机课程设计基于8255A的交通灯控制系统_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、 烟 台 南 山 学 院单片机课程设计题目 基于8255a的交通灯控制系统 姓 名: 所在学院: 自动化工程学院 所学专业: 自动化 班 级: 08工程02班 学 号: 200806709048 指导教师: 完成时间: 2010.12.22 课程设计任务书 一、基本情况 学时:2周 学分:2学分 适应班级:08工程2二、课程设计的意义、性质、目标、要求1意义课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不少的,是非

2、常必要的。2性质课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。3目标通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。4要求(1)课程设计的基本要求单片机课程设计的主要内容包括:理论设计与撰写设计报告等。其中理论设计又包括选择总体方案,硬件系统设计、软件系统设计;硬件设计包括单元电路,选择元器件及计算参数等;软件设计包括模块化层次结构图,程序流程图。程序设计是课程设计的关键环节,通过进一步完善程序设计,使之达到课题所要求

3、的指标。课程设计的最后要求是写出设计总结报告,把设计内容进行全面的总结,若有实践条件,把实践内容上升到理论高度。(2)课程设计的教学要求单片机课程设计的教学采用相对集中的方式进行,以班为单位全班学生集中到设计室进行。做到实训教学课堂化,严格考勤制度,在实训期间(两周)累计旷课达到6节以上,或者迟到、早退累计达到8次以上的学生,该课程考核按不及格处理。在实训期间需要外出查找资料,必须在指定的时间内方可外出。 课程设计的任务相对分散,每35名学生组成一个小组,完成一个课题的设计。小组成员既有分工、又要协作,同一小组的成员之间可以相互探讨、协商,可以互相借鉴或参考别人的设计方法和经验。但每个学生必须

4、单独完成设计任务,要有完整的设计资料,独立撰写设计报告,设计报告雷同率超过50%的课程设计考核按不及格处理。三、课程设计题目及设计过程(一)基于8255a十字路口交通灯控制系统的设计 利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只led数码管显示十字路口两个方向的剩余时间。要求能用按键设置两个方向的通行时间(绿灯点亮的时间)和暂缓通行时间(黄灯点亮的时间),系统的工作符合一般交通灯控制要求。 (二)设计过程1、设计要求 十字交叉路口的交通灯控制系统的结构如图1.1所示。往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄灭。用两个数码管来显示被点亮的指示灯还

5、将点亮多久。往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。当南北方向为绿灯和黄灯时,东西向的红灯点亮禁止通行;而东西方向为绿灯和黄灯时,南北向的红灯点亮禁止通行。南北东西图1.1 十字路口交通灯控制示意图假设南北方向为主干道,通行时间为60秒,东西方向是次干道,通行时间为80秒,黄灯点亮的时间均为5秒,则其工作方式如表1.1所示循环点亮信号灯。表1.1 交通信号灯工作方式南北向绿灯亮60秒黄灯亮5秒红灯亮80秒东西向红灯亮60绿灯亮80秒黄灯亮5秒具体设计要求如下:1、设计一交通灯控制系统,其结构如图1.1所示,工作方式满足上述要求。2、主干道和次干道的通行时间

6、及黄灯点亮的时间可以手动设置。3、在没有手动设置通行时间时,系统自动按表1.1的模式进行工作。 2、设计要点(1)硬件设计:1)单片机选用可自行选定,建议选用与8051兼容的单片机,存储器、i/o口的扩展视所选单片机与设计要求定。2)led显示系统:南北向和东西向各采用2个数码管计时,对该方向的指示灯的点亮时间进行倒计时,最长计时范围为99秒。设计时可利用单片机的p0口和p1口作为字段和片选信号输出,经驱动芯片后驱动数码管显示倒计时时间,数码管采用动态扫描方式显示。3)键盘系统:设置3个程序按键:设置键、增加键、减少键,键盘读取方式自行确定。另需配置一个非程序按键:系统复位键。4)电源供电系统

7、:系统采用220v电源供电,应设计相应的稳压电源电路。 (2)本系统的工作流程:1)接通电源时或系统复位后,系统按程序给定的时间工作,即南北向通行60秒,东西向通行80秒,黄灯亮5秒,工作模式如表1.1所示。首先南北向通行,然后东西向通行,如此循环。2)通行时间的设置:当需要更改主、次干道的通行时间时,可以用“设置键、增加键、减少键”进行设置。(3) 软件设计: 1)系统资源分配:为了便于程序的设计、阅读及修改,需要先对系统的存储器资源进行分配和说明。2)软件模块:根据上述工作流程和设计要求,软件设计可以分为以下几个功能模块: 主程序:初始化及键盘监控。 计时程序模块:为定时器的中断服务子程序

8、。 显示程序模块:完成12个发光二极管(实际上只需驱动6个)和4个led数码管的显示驱动。 键盘扫描程序模块:判断是否有键按下,并求取键号。 键处理程序模块:分别是“设置键”、“增加键”、“减少键”的处理子程序。3、硬件设计硬件设计的要求:(1)确定元器件的型号及参数。(2)画出硬件设计的结构框图。见附录2(3)画出各部分电路的原理图,并说明各部分电路的工作原理设计依据;画出完整的原理图。(4)列出元器件清单。4、软件设计根据设计要点,软件设计首先应对系统资源进行进行分配和说明。为了增加程序的可读性,理清程序的编写思路,建议程序采用模块化结构。 软件设计的要求:(1)画出整个控制系统的程序流程

9、图。(2)画出各功能部分的程序流程图,并能够编写相应的原程序。四、设计报告设计完成后,必须撰写课程设计报告。设计报告必须独立完成,格式符合要求,文字(不含图形、程序)不少于3000字,图形绘制规范报告书用a4纸书写,装订成册。设计报告的格式如下: 1、封面 2、内容提要(摘要) 3、目录 4、正文(1) 所作题目的意义、本人所做的工作及系统的主要功能; (2) 硬件电路设计及描述;1)确定元器件的型号及参数。2)画出完整的原理图。3)列出元器件清单。 (3) 软件设计流程及描述; 5、心得体会(总结)6、参考文献 7、附录(源程序代码)8、有关图纸五、进度安排单片机课程设计共安排2周,合计80

10、学时,具体分配如下:实习动员及准备工作: 2学时总体方案设计: 10学时硬件设计: 16学时软件设计: 20学时撰写设计报告: 12学时答辩与总结: 8学时教师辅导: 12学时六、考核方法单片机课程设计的考核方式为考查,考核结果为优秀、良好、中等、及格和不及格五等,分数在90-100之间为优秀,80-89分之间为良好,70-79分之间为中等,60-69分之间为及格,60分以下为不及格。 考核分三个方面进行:平时表现20%;设计过程25%;设计报告 40%;设计答辩15%。有下列情形之一者,课程设计考核按不及格处理: 1、设计期间累计迟到、早退达8次;2、设计期间累计旷课达6节; 3、设计报告雷

11、同率超过50%或无设计报告;4、不能完成设计任务,达不到设计要求。摘 要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用msc-51 系列单片机atsc51 和可编程并行i/o 接口芯片8255a 为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051

12、 片的p1 口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5 秒时黄灯闪烁警示(交通灯信号通过pa 口输出,显示时间直接通过8255 的pc 口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。summay in recent years, with the rapid development of science and technology, the application of scm is unceasingly thorough, it causes the traditional control test

13、technology increasingly updates. in real-time detection and automatic control of single-chip microcomputer application system, often as a core component to use, only microcontroller aspects knowledge is not enough, should according to specific hardware structure, software and hardware combined with

14、perfect.crossroads transports, pedestrian bustling, garage lanes and pedestrian humanitarian, in an orderly way. then rely on what to achieve this in order? lean is traffic lights automatic command system. traffic lights control many ways. the system uses the msc - 51 series microcontroller atsc51 a

15、nd programmable parallel i/o interface chip 8255a centered device to design and realize the traffic light controller can according to actual traffic through the 8051 piece of red and green light p1 mouth settings crystalline time function; traffic lights circulation lighted, with 5 seconds countdown

16、 yellow lights flashing warning signals through pa mouth (traffic lights, display time directly through the output 8255 pc mouth output to the two-seat digital tube), vehicle red light alarm, green time can be detected by double bits of cars and digital pipe display. this system is practical, simple

17、 operation and function expansion is strong.目录绪 论21单片机概述31.1 单片机概述31.1.1单片机的概述31.1.2单片机和微处理器的简介31.2 芯片简介41.2.1 mcs-51 芯片简介41.2.2 8255 芯片简介72 系统硬件设计82.1 交通管理的方案论证82.2 单片机系统硬件设计10221 单片机交通灯的系统总框图:10222 单片机交通灯线路图 (附录2)11223 单片机交通灯系统工作过程分析113 控制器的软件设计113.1 1 秒内各时间段的分析设定113.2 计数器硬件延时113.2.1 计数器初值计算113.2.

18、2 计算公式123.2.3 秒时间分析法123.2.4 1 秒时间分析法的相应程序代码123.3 单片机交通灯软件延时133.4 各时间段信号灯的显示133.4.1 8051 并行口的扩展133.4.2 信号灯显示原理:143.4.3 8255pa 口输出信号接信号灯:143.4.4 8255 输出信号与数码管的连接:143.4.5 8255 与8051 的连接:153.5 交通灯控制流程设计163.5.2 程序源代码 (见附录1)17结 论18总结体会19参考文献20附录1程序源代码21附录2 硬件图25绪 论 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见有效的手段。但这一技术在

19、19 世纪就已出现了。 1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。 1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光

20、束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。 1单片机概述1.1 单片机概述 1.1.1单

21、片机的概述 所谓单片机,即把组成微型计算机的各个功能部件,如中央处理器cpu、随机存储器ram、只读存储器rom、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。因此单片机早期的含义为单片微型计算机(single chip microcomputer),直接译为单片机,并一直沿用至今。 由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的。随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如adc、dac、高速i/o 口、pwm、wdt 等。这些对外电路及外设接口已经突破了微型计算

22、机(microcomputer) 传统的体系结构,所以更为确切反映单片机本质的名称应是微控制器。 单片机是单芯片形态作为嵌入式应用的计算机,它有惟一的、专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行的特点,因此单片机又称之为嵌入式微控制器(embedded micro controller)。它是一个典型的嵌入式应用计算机系统。目前按单片机内部数据通道的宽度,把它们分为4 位、8 位、16 位及32 位单片机。 1.1.2单片机和微处理器的简介 随着大规模与超大规模集成电路技术的快速发展,微计算机技术形成了两大分支:微处理器(micro pr

23、ocessor unit,mpu)和单片机(micro controller unit,mcu)。 微处理器mpu 是微型计算机的核心部件,它的性能决定了微型计算机的性能。通用型的计算机已从早期的数值计算、数据处理发展到当今的人工智能阶段。它不仅可以处理文字、字符、图形、图像等信息,而且还可以处理音频、视频等信息,并正向多媒体、人工智能、数字模拟和仿真、网络通信等方向发展。它的存储容量和运算速度正在以惊人的速度发展。高性能的32 位、64 位微型计算机系统正向中、大型计算机挑战。 单片机mcu 主要用于控制领域。它构成的检测控制系统应该有实时的、快速的外部响应,应该能迅速采集到大量数据,能在做

24、出正确的逻辑推理和判断后实现对被控制对象参数的调整与控制。单片机的发展直接利用了mpu 的成果,也发展了16 位、32 位的机型。但它的发展方向是高性能、高可靠性、低功耗、低电压、低噪音和低成本。目前,单片机的主流仍是以8 位机为主,16 位、32 位机为辅。单片机的发展主要还是表现在其接口性能不断满足多种多样检测控制对象的要求上,尤其突出表现在它的控制功能上构成各种专用的控制器和多机控制系统。 1.1.3单片机和嵌入式系统 面向检测控制对象,嵌入到应用系统中去的计算机系统称之为嵌入式系统。实时性是它的主要特征,从形式上可将嵌入式系统分为系统级、板级和芯片级。 1.2 芯片简介 1.2.1 m

25、cs-51 芯片简介 mcs-51 单片机内部结构:8051 是mcs-51 系列单片机的典型产品,它包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别进行简单介绍: 中央处理器:中央处理器(cpu)是整个单片机的核心部件,是8 位数据宽度的处理器,能处理8 位二进制数据或代码,cpu 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(ram):8051 内部有128 个8 位用户数据存储单元和128 个专用寄存器单元,它们是统一编址的,

26、专用寄存器只能用于存放控制指令数据, 用户只能访问,而不能用于存放用户数据,所以,用户能使用的ram 只有128 个,可存放读写的数据,运算的中间结果或用户定义的字型表。 图 1-1 8051 内部结构程序存储器(rom):8051 共有4096 个8 位掩膜rom,用于存放用户程序, 原始数据或表格。 定时/计数器(rom):8051 有两个16 位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(i/o)口:8051 共有4 组8 位i/o 口(p0、 p1、p2 或p3),用于对外部数据的传输。 全双工串行口:8051 内置一个全双工串行通信口,用于与其它设备

27、间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 中断系统:8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2 级的优先级别选择。 时钟电路:8051 内置最高频率达12mhz 的时钟电路,用于产生整个单片机运行的脉冲时序,但8051 单片机需外置振荡电容。 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式, 即哈佛(harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(princeton)结构。intel 的mcs-51 系列单片机采用的是

28、哈佛结构的形式,而后续产品16 位的mcs-96 系列单片机则采用普林斯顿结构。 下图是mcs-51 系列单片机的内部结构示意图1-2。图1-2 mcs-51 结构框图mcs-51 的引脚说明:mcs-51 系列单片机中的8031、8051 及8751 均采用40pin 封装的双列直接dip 结构,右图是它们的引脚配置,40 个引脚中, 正电源和地线两根,外置石英振荡器的时钟线两根,4 组8 位共32 个i/o 口, 中断口线与p3 口线复用。现在我们对这些引脚的功能加以说明: 图1-3 mcs-51 dip 引脚说明:图1-3 mcs-51 dip引脚说明mcs-51 的引脚说明:mcs-5

29、1 系列单片机中的8031、8051 及8751 均采 用 40pin 封装的双列直接dip 结构,右图是它们的引脚配置,40 个引脚中, 正电源和地线两根,外置石英振荡器的时钟线两根,4 组8 位共32 个i/o 口, 中断口线与p3 口线复用。 现在我们对这些引脚的功能加以说明:如图1-3 pin9:reset/vpd 复位信号复用脚,当8051 通电,时钟电路开始工作,在reset 引脚上出现24 个时钟周期以上的高电平,系统即初始复位。初始化后, 程序计数器pc 指向0000h,p0-p3 输出口全部为高电平,堆栈指针写入07h, 其它专用寄存器被清“0”。reset 由高电平下降为低

30、电平后,系统即从0000h 地址开始执行程序。然而,初始复位不改变ram(包括工作寄存器r0-r7)的状态,8051 的初始态。 8051 的复位方式可以是自动复位,也可以是手动复位,见下图1-4。此外, reset/vpd 还是一复用脚,vcc 掉电其间,此脚可接上备用电源,以保证单片机内部ram 的数据不丢失。 pin30:ale/ prog 当访问外部程序器时,ale(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ale 端将有一个1/6 时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出 更有一个特点,当访问外部程序存储器,ale 会

31、跳过一个脉冲。 如果单片机是eprom,在编程其间, prog 将用于输入编程脉冲。图1-4 8051 的复位方式 图1-4 8051 的复位方式图1-5 内外时钟方式 :图1-5 内外时钟方式 :pin29: pesn 当访问外部程序存储器时,此脚输出负脉冲选通信号,pc 的16 位地址数据将出现在p0 和p2 口上,外部程序存储器则把指令数据放到p0 口上,由cpu 读入并执行。 pin31:ea/vpp 程序存储器的内外部选通线,8051 和8751 单片机,内置有4kb 的程序存储器,当ea 为高电平并且程序地址小于4kb 时,读取内部程序存储器指令数据,而超过4kb 地址则读取外部指

32、令数据。如ea 为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,ea 端必须接地。 在编程时,ea/vpp 脚还需加上21v 的编程电压。 1.2.2 8255 芯片简介 8255 引脚功能简介: reset:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有i/o 口均被置成输入方式。 cs:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255 与cpu 进行通讯。 rd:读信号线,当这个输入引脚为低电平时,允许8255 通过数据总线向cpu 发送数据或状态信息,即cpu 从8255 读取信息或数据。 w

33、r:写入信号,当这个输入引脚为低电平时,允许cpu 将数据或控制字写入8255。 d0d7:三态双向数据总线,8255 与cpu 数据传送的通道,当cpu 执行输入输出指令时,通过它实现8 位数据的读/写操作,控制字和状态信息也通过数据总线传送。 pa0pa7:端口a 输入输出线,一个8 位的数据输出锁存器/缓冲器, 一个8 位的数据输入锁存器。 pb0pb7:端口b 输入输出线,一个8 位的i/o 锁存器, 一个8 位的输入输出缓冲器。 pc0pc7:端口c 输入输出线,一个8 位的数据输出锁存器/缓冲器, 一个8 位的数据输入缓冲器。端口c 可以通过工作方式设定而分成2 个4 位的端口,

34、每个4 位的端口包含一个4 位的锁存器,分别与端口a 和端口b 配合使用,可作为控制信号输出或状态信号输入端口 。a1、a0:端口地址总线,8255 中有端口a、b、c 和一个内部控制字寄存器共4 个端口,由a0、a1 输入地址信号来寻址。 1.2.3 74ls373 简介 74ls373 是一种带三态门的8d 锁存器,其图1-6 示:其中:1d-8d 为8 个输入端,1q-8q 为8 个输出端,le 为数据打入端。其中,当le 为“1”时, 锁存器输出状态同输入状态;当le 由“1”变“0”时,数据 打入锁存器; oe 为输出允许端:当oe=0 时,三态门打开;当oe=1 时,三态门关闭,输

35、出高阻。 图1-6 管脚示意图图1-6 管脚示意图2 系统硬件设计2.1 交通管理的方案论证 交通灯通过有规律的变换红灯和绿灯的亮与灭控制车辆的通行,这是交通灯的基本功能。整个系统主要有:南北红灯、南北黄灯、南北绿灯、东西红灯、东黄灯、东西绿灯,各灯由各芯片控制。东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯亮的方案表2-1 指示灯燃亮的方案 表2-1 说明: (1)当东西方向为红灯,此道车辆禁

36、止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为60 秒。(2)黄灯闪烁5 秒,警示车辆和行人红、绿灯的状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为80 秒。东西方向车流大通行时间长。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车流量动态设定红绿灯初始值。 60s 5s 80s 5s 东西道红灯亮黄灯亮绿灯亮黄灯亮 南北道绿灯亮黄灯亮红灯亮黄灯亮图 2-1 为交通灯的示意图。图2-1 十字路口交通灯示意图由图2-1 知:交通灯经四步动作完成一个周期。即

37、交通灯东西绿灯亮东西绿灯闪东西黄灯亮东西红灯亮(南北红灯亮南北黄灯亮 南北 图2-2 交通灯状态示意图如图2-2:绿灯亮南北绿灯闪)其动作时序图2.2 单片机系统硬件设计选用设备:8051单片机一片,8255 并行通用接口芯片一片,74ls07 两片,max692看门狗一片,共阴极的七段数码管两个双向晶闸管若干,7805 三端稳压电源一个,红、黄、绿交通灯各两个, 开关键盘、连线若干。221 单片机交通灯的系统总框图:如图2-3:图2-3 系统总框222 单片机交通灯线路图 (附录2) 223 单片机交通灯系统工作过程分析 1. 开关键盘输入交通灯初始时间,通过8051 单片机p1 输入到系统

38、2. 由8051 单片机的定时器每秒钟通过p0 口向8255 的数据口送信息, 由8255 的pa 口显示红、绿、黄灯的燃亮情况;由8255 的pc 口显示每个灯的燃亮时间。3. 8051 通过 设置各个信号等的燃亮时间、通过8031 设置,绿、红时间分别为60 秒、80 秒循环由8051 的 p0 口向8255 的数据口输出。4.通过8051 单片机的p3.0 位来控制系统是工作或设置初值,当.牌位0 就对系统进行初始化,为1 系统就开始工作。 5. 红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3s 后然后恢复正常。 6. 增加每次绿灯时间车流量检测的功能,并且通过查询p2.0 端

39、口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。 7. 绿灯时间倒计时完毕,重新循环。3 控制器的软件设计3.1 1 秒内各时间段的分析设定 延时方法可以有两种:一中是利用mcs-51 内部定时器才生溢出中断来确定1 秒的时间,另一种是采用软延时的方法。3.2 计数器硬件延时3.2.1 计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到th 和tl 中的。他是以加法记数的,并能从全1 到全0 时自动产生溢出中断请求。因此, 我们可以把计数器记满为零所需的计数值设定为c 和计数初值设定为tc 可得到如下计算通式: c=mc (3-1)式中,m

40、 为计数器摸值,该值和计数器工作方式有关。在方式0 时m 为213 ; 在方式1 时m 的值为216;在方式2 和3时 为28。3.2.2 计算公式t=(mtc)*t 计数或tcmtt 计数 (3-2)t 计数是单片机时钟周期tclk的12 倍;tc 为定时初值如单片机的主脉冲频率为tclk=12mhz,经过12 分频:方式0 tmax213 微秒8.192 毫秒,方式1 tmax216 微秒65.536 毫秒。 显然秒钟已经超过了计数器的最大定时间,所以我们采用定时器和软件相结合的办法才能解决这个问题。3.2.3 秒时间分析法 我们采用在主程序中设定一个初值为20 的软件计数器和使t0 定时

41、50 毫秒这样每当to 到50 毫秒时cpu 就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,cpu 先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序。3.2.4 1 秒时间分析法的相应程序代码 1 主程序 定时器需定时50 毫秒,故to 工作于方式1。初值: tcm-t t 计数 21650ms/1us=15536=3cboh org 1000h start: movtmod,#01h; 令to 为定时器方式1 mov th0,#3ch; 装入定时器初值 mov tl0,#0boh; mov ie,#82h; 开to 中断 setb tr0;

42、 启动to 计数器 mov ro,#14h; 软件计数器赋初值loop: sjmp$; 等待中断2 中断服务子程序 org ooobh ajmp brto org oobh brto:djnz ro,next ajmp time; 跳转到时间及信号灯显示子程序 djnz:mov ro,#14;恢复ro 值 mov th0, #3ch; 重装入定时器初值 mov tl0, #0boh; mov ie, #82h reti end 3.3 单片机交通灯软件延时 mcs-51 的工作频率为2-12mhz,我们选用的8031 单片机的工作频率为6mhz。机器周期与主频有关,机器周期是主频的12 倍,所

43、以一个机器周期的时间为12(1/6m)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1 秒的时间。 具体的延时程序分析: delay:mov r4,#08h 延时1 秒子程序 de2:lcall delay1 djnz r4,de2 ret delay1:mov r6,#0 延时125ms 子程序 mov r5,#0 de1: djnz r5,$ djnz r6,de1 ret mov rn,#data 字节数数为2 机器周期数为1 所以此指令的执行时间为2ms delay1 为一个双重循坏循 环次数为256256=65536 所以延时时间=655362=1

44、31072us 约为125us delay r4 设置的初值为8 主延时程序循环8 次,所以125us8=1 秒,由于单片机的运行速度很快其他的指令执行时间可以忽略不计。3.4 各时间段信号灯的显示3.4.1 8051 并行口的扩展 8051 虽然有4 个8 位i/o 端口,但真正能提供借用的只有p1 口,因为p2 和p0 口通常用于传送外部传送地址和数据,p3 口也有它的第二功能。因此,8031 通常需要扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个i/o 端口,显然8031 的端口是不够,需要扩展。 扩展的方法有两种:(1)借用外部ram 地

45、址来扩展i/o 端口; (2)采用i/o 接口新片来扩充。我们用8255 并行接口信片来扩展i/o 端口。3.4.2 信号灯显示原理: 当定时器定时为1 秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值,重新进入循环。 3.4.3 8255pa 口输出信号接信号灯: 由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光, 所以可以用置位方法点亮红,绿,黄发光二极管。3.4.4 8255 输出信号与数码管的连接: led 灯的显示

46、原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 sp,g,f,e,d,c,b,a 管角上加上7fh所以sp上为0伏,不亮其余为ttl高电平,全亮则显示为8 采用共阴级连接: 其中:pc7pb7 -sp 接地表 3-1 驱动代码表3.4.5 8255 与8051 的连接: 用 8051 的p0 口的p0.7 连接8255 的片选信号cs, 我们用8031 的地址采用全译码方式,当p0.7 =0 时片选有效, 其他无效,p0.1 用于选择8255 端口3.5 交通灯控制流程设计图 3-2 控制流程图 图3-3 程序流程图3.5.2 程序源代码 (见附录1)结 论比较传

47、统的定时交通灯控制与智能交通灯控制,可知后者的最大优点在于减缓滞流现象,也不会出现空道占时的情形,提高了公路交通通行率,较全球定位系统而言成本更低,特别适合繁忙的、未立交的交通路口,更适合于四个以上的路口,也可方便连网。单片机技术在提供系统可靠性方面所做的努力与发展。提醒用户在单片机选型、单片机应用系统设计以及制造工艺等方面应注意什么,以实现高可靠性的单片机应用系统。单片机监控系统汽车行驶记录仪所实现的主要功能:记录汽车停车前2秒内的行驶速度,并能实时地显示汽车行驶的状态信息,同时还对汽车的超速行驶进行报警并记录一天之内的超速次数。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能

48、控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮在全社会大规模地兴起。学习单片机的最有效方法就是理论与实践结合。通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面而系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。 本设计就是充分利用了8051 和8255 芯片的i/o引脚。系统统采用msc-51 系列单片机intel8051 和可编程并行i/o 接口芯片8255a 为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8031 芯片的

49、p1 口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5 秒时黄灯闪烁警示(交通灯信号通过pa 口输出,显示时间直接通过8255 的pc 口输出至双位数码管); 车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。总结体会通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不

50、轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。还要谢谢老师的细心指导和同学的帮助。才能使我完成的这么顺利参考文献1.黄继昌等. 传感器工作原理及应用实例m, 北京:人民邮电出版社,1998.2.张万忠. 可编程控制器应用技术m, 北京:化学工业出版社,2001.3.英r.j.索尔特.

51、道路交通分析与设计m. 张佐周等译, 北京:中国建筑工业出版社,1982.4.戴佳 苗龙 陈斌51单片机应用系统开发典型实例m,中国电力出版社,1995.5.周航慈单片机应用程序设计技术m,北京航空航天大学出版社,2003.6.胡汉才单片机原理及其接口技术m,清华大学出版社,2002.7.余发山单片机原理及应用技术m,中国矿业大学出版社,2004.附录1程序源代码org 0000h ; 主程序的入口地址 ljmp main ; 跳转到主程序的开始处 org 0003h ; 外部中断0 的中断程序入口地址org 000bh ; 定时器0 的中断程序入口地址 ljmp t0_int; 跳转到中断服

52、务程序处 org 0013h; 外部中断1 的中断程序入口地址main : mov sp,#50h mov ie,#8eh ; cpu 开中断,允许t0 中断,t1 中断和外部中断1 中断 mov tmod,#51h; 设置t1 为计数方式,t0 为定时方式,且都工作于模式1 mov th1,#00h ; t1 计数器清零 mov tl1,#00h setb tr1; 启动t1 计时器 setb ex1; 允许int1 中断 setb it1; 选择边沿触发方式 mov dptr ,#0003h mov a, #80h ; 给8255 赋初值,8255 工作于方式0 movx dptr, a

53、again: jb p3.1,n0 ; 判断是否要设定东西方向红绿灯时间的初值,若p3.1为1 则跳转 mov a,p1 jb p1.7,red ; 判断p1.7 是否为1,若为1 则设定红灯时间,否则设定绿灯时间 mov r0,#00h ; r0 清零 mov r0,a ; 存入东西方向绿灯初始时间 mov r3,a lcall disp1 lcall delay ajmp again red: mov a,p1 anl a,#7fh ; p1.7 置0 mov r7,#00h ; r7 清零 mov r7,a ; 存入东西方向红灯初始时间 mov r3,a lcall disp1 lcall delay ajmp again n0: setb tr0; 启动t0 计时器 mov 76h,r7 ; 红灯时间存入76h n00: mov a,76h ; 东西方向禁止,南北方向通行 mov r3,a mov dptr,#0000h; 置8255a 口,东西方向红灯亮,南北方向绿灯亮 mov a,#0ddh movx dptr, a n01: jb p2.0,b0 n02: setb p3.0 cjne r3,#00h,n01; 比较r3 中的值是否为0,不为0 转到当前指令处执行;-黄灯闪烁5 秒程序- n1: s

温馨提示

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

评论

0/150

提交评论