资源目录
压缩包内文档预览:(预览前20页/共46页)
编号:512486
类型:共享资源
大小:478.54KB
格式:ZIP
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
单片机自动控制交通灯及时间显示资料,毕业设计
- 内容简介:
-
第 1 页 共 46 页 1 摘 要 根据 8051单片机的特点及交通灯在实际控制中的特点,本文提出一种用单片机 自动控制交通灯及时间显示的方法。同时给出了 软硬件设计方法 ,设计过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要技术问题都有涉足。 本文对十字路口状态 预设为两种,一种是正常状态,另一种是故障或紧急状态,并分别用黄、红、绿色灯的不同组合来表示。本文介绍了控制基本原理以及控制的表现,同时也 介绍了城市交通信息系统的设计目标 , 开发途径及其系统结构与功能和数据地理编码、建库 , 同时 , 论述了系统中交通现状、交通管理 、交通规划及背景信息查询模块的建造及应用。介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。 关键词: 8051单片机 ; 交通灯 ; 自动控制 ; 时间显示器 ; 软件 ; 硬件 ; 定时器 ; 延时 ;外部中断 Abstract According to the feature of SCM8051 and the characteristics of traffic lights in real control,the article puts forward the method of using sigle-chip microcomputer to control automatically the traffic signal lights and time-show.The method of realization of hardware has also been given,the whole process included hardware circuit designing and program designing,in which some important technique problem that may meet during the use of Singlechip involved.In this paper, the state of crossing was designed as two states.One is normal,another breackdown or urgent,which are expressed with different colour lamp named yellow、 red and green.The basic principle and method of controlling are introduced.In this paper, the design goals, development ways, system structure, system functions, geographic nts 第 2 页 共 46 页 2 codes and data base of the Urban Traffic Information System (U T IS) were presented. Furthermore, the development and the application tests of the traffic situation model, the traffic management model, the traffic plan model and the background information inquirement model of U T IS were discussed.This paper introduces the development scheme of three-colour programmable traffic signal time indicator used in the level-crossing of our city,and gives its power supply,load construction made by LED and time detection of traffic lamp colour a reasonable optimize structure.The reliability of Product is substantially improved while the cost is reduced. Key Words:SCM8051; traffic lights; automatic control; time indicator; hardwore; softwore timer; delay; external interrupt 引言 交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路口 。考虑到单片机具有 物美价廉、功能强、使用方便灵活、可靠性高等特点 ,拟采用 MCS - 51系列的单片机来实现十字路口交通信号灯的控制。 正常 情况下 , 十字路口的红绿灯应交替变换 , 考虑紧急情况下 ,如有救护车或警车到来时 , 应优先让其通过 。 在本文中 , 用发光二极管来模拟信号灯 ,救护车的优先通过请求信号由外部中断技术来模拟 。 要求使用 8051定时器 / 计数器 0作为定时器 , 假设南北和东西的通车时间都为 30 s , 外部中断的延时为 10 s , 要求对通行时间进行倒计时 , 从 P1 口输出,在 LED上显示 并进行递减。以此来实现十字路口交通灯的指示功能。 nts 第 3 页 共 46 页 3 交通灯在安全行车过程中起着十分重要的作用 , 现在交通灯一般设在十字路口 , 在醒目位置用红、绿、黄三种颜色的指示灯 , 加上一个倒计时的显示计时器来控制行车 , 对于一般情况下的安全行车、车辆分流发挥着作用 , 但根据实际行车过程中出现的情况 , 主要有如下几个缺点 : 1两车道让车轮流放行时间相同且固定 , 在十字路口 , 经常一个车道为主干道 ,车辆较多 , 放行时间应该长些 ; 另一车道为副干道 , 车辆较少 ,放行时间短些。 2 没有考虑紧急车通过时 , 两车道应采取的措施 , 譬如 , 有消防车通过执行紧急任务时 , 两车道的车都应停止 , 让紧急车通过。根据行车过程中出现的实际情况 , 如何全面有效地利用交通灯指示交通情况 , 本人尝试用单片机来控 制交通灯 , 在软、硬件方面采取一些改进措施 , 使交通灯在控制中灵活而有效。 传统的交通灯控制系统 , 采用的基本上是 3种控制方式。手按 : 交警在岗亭值守 ,人为进行红绿灯改变 ; 黄闪 : 夜间无人值守时 , 用每秒 1次的黄灯闪亮 , 提醒司机安全驾驶 ; 程控 : 以 60s 作为一个时间单位。某一方面 (例南北方向 ) 红黄绿三灯的工作程序分别是 : 红灯先亮 30s, 然后绿灯亮 28s, 再绿灯闪亮 3s (每秒 1次 ) , 最后黄灯亮 2s。此时 , 另一方向 (东西方向 ) 红黄绿三灯的工作顺序相应为 : 绿灯亮 25s, 绿灯 闪亮 3s (每秒 1次 ) , 黄灯亮 2s, 最后红灯亮 30s。此后以 60s 作为时间单位进行上述的反复循环 , 较为合理地解决了十字路口的交通调度问题。但红绿灯的工作顺序及时间都是固定的 , 缺乏灵活性。采用该 3种方式能解决一般岗亭的交通灯控制。但重点岗亭仍需要有 2人以上同时值班 , 保证有事要处理时 , 仍能保留一名交警负责对交通灯的控制。而此时若想采用程控方式 , 交警将无法对交通灯再人为地加以管理。难以再科学地指挥车辆的通行 , 有效地解决交通堵塞问题。例如当南北方向车流量很大时 , 程控方式下的南北方向绿灯无法保证 开放更长的时间 , 以缓解交通拥挤的问题 。 当前,交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车、摩托车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机动车、行人来往非常混乱,为了在叉口的各条干道实现合理的科学分流。本人根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,提出了一种用 MCS-51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,具有一定的推广意义。 nts 第 4 页 共 46 页 4 一 交通信号灯硬件电路的设计 1.1 交通信号灯的作用及工作原理: 一般情况下,红绿灯设在十字路口,或在多干道的叉口上,目的是为了调整 叉口的交通秩序使各干道来往车辆能够有条不紊地行驶,否则将造成意想不到的严重后果。当然在叉口设置合理的红绿灯后,也可大大减少交通管理部门的人力、物力。 叉口交通信号等的基本作用: 红灯亮表示车辆、行人禁止通行,绿灯亮表示车辆、行人可以通行,绿灯转换成红灯前几秒,可用黄灯亮来暗示驾驶员或行人即将禁止通行。该系统的屏幕时间显示用倒计时 方式表示红绿灯的 切换时间,时间显示器的作用是协助红绿灯工作,跟随红、绿灯反复地进行切换。目的是为了使驾驶员和行人能够看见红绿等亮的时间还剩几秒以便停车线以内的驾驶员和行人能够更清楚地知道此时该继续通行或减速,才不会使 驾驶员盲目地加速或减速停车而阻碍 另一干道车辆或行人的通行,nts 第 5 页 共 46 页 5 从而可以提高叉口车辆及行人的流通率,当然也可以减少事故的发生,为交通安全提供保障。 交通信号灯的工作原理:如图 1示, 当 A、 B组红灯亮绿灯灭;则 C、 D组绿灯亮红灯灭。对 A、 B组或 C、 D组而言,每当绿灯亮转换成红灯亮前几秒(具体多长时间视实际情况而定)黄灯亮 ,当绿灯灭时黄灯也灭。 1.2 设计要求 首先 ,要了解实际交通灯的变化规律 . 假设一个十字路口为东西南北走向 . 初始状态 0东西方向 绿灯通车 ,南北方向 红灯 ,延时 30 s. 转状态 1 ,东西方向黄灯亮,南北方向红灯 按 1HZ的频率 闪烁 ,延时 5s . 再转状态 2 ,东西 方向红 灯 亮 ,南北 方向绿 灯 通车 ,延时20 s. 转状态 3 ,东西 方向红灯 按 1HZ的频率 闪烁,南北方向黄灯亮 ,延时 5 s . 最后循环至状态 0. 这里的延时采用定时器 0延时 . 其次 ,当有紧急救护车出现时 ,应使东西南北四个方向全亮红灯 ,并延时 10 s , 以便急救车通过 ,同时对通行时间进行倒计时 ,从 P1口 及 P3口 输出在发光二极管 ,使用 8051 定时器 / 计数器 0作为定时器实现子程序延时 .技术上可用外部中断 0发出一单脉冲向CPU申请中断 . 再次 ,一般交通信号灯控制程序中使用软件延时 ,软件延时是靠执行一个循环程序以进行时间延迟 . 软件定时的特点是时间精确 ,且不需外加硬件电路 . 但软件定时要占用 CPU ,增加 CPU 开销 ,因此软件定时的时间不宜太长 .本程序使用定时器 / 计数器 0来定时 ,定时电路已经集成在芯片中 ,这种由硬件电路完成 ,不占 CPU 时间 . 它通过对系统 时钟脉冲的计数来实现 ,即每个机器周期产生一个计数脉冲 ,也就是每个机器周期计数器加 1. 计数值通过程序设定 ,改变计数值 ,也就改变了定时时间 ,使用起来既灵活又方便 . 1.3 设计 方法 选用 MCS-51 单片机来 实现,根据设计要求,交通信号灯控制器的外部输出信号为主、副车道红、黄、绿灯共 12个驱动信号;编程使相应位复 /置位来实现信号灯的亮nts 第 6 页 共 46 页 6 /灭控制,使得十字路口的红、绿灯交替点亮;在灯色交换时,黄灯闪烁提醒。 设计要求有紧急车辆通过时,十字路口均显示红灯。可以通过软件中断来完成紧急任务,定义 T0 为 计数 中断并为下降 沿触发,编写对应中断向量子程序和中断服务程序,完成中断处理。 设计还对定时控制有所要求。对于精确定时,应该用计数器 加以控制,硬件实现复杂度增加。考虑到该设计对时间精度要求不高,所以采用软件定时可以大大简化电路。先计算出程序单部执行的时间,设置 循环 参数,利用 if语句按设计要求完成定时控制。 二 系统组成 2.1 控制要求 主、支干道交替通行,主干道每次放行 30秒,支干道每次放行 20秒; 绿灯亮时表示可以通行,红灯亮时表示禁止通 行; 每次绿灯变红灯时,黄灯先亮 5秒(此时另一干道上的红灯不变); 十字路口要求有数字显示,作为时间提示,以便人们更直观地把握时间,具体 要求主、支干道通行时间及黄灯亮的时间均以秒为单位做减数器; 在黄灯亮时,原红灯按 1HZ的频率闪烁; 当有急救车到达时,路口的信号灯全部变红,让急救车通过。假定急救车通过 时间为 10s,急救车通过后,交通灯恢复先前状态。 2.2 硬件控制线路图 nts 第 7 页 共 46 页 7 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e vi s i o nS i z eBD a t e : 1 8- M a y - 20 05 S he e t o f F i l e : D : 0 10 22 08 41 j i a ot o ng de ng 11 . d db D r a w n B y :E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10VCC40GND20I C 1A T 8 9S 51C23 0PC33 0PY11 2M H Z+5R E S E TC41 0V FS2S W - P BR11 0KGND +5123456789J31 0K+5123456789J45 60+5D1LEDD2LEDD3LEDD4LEDD5LEDD6LEDD7LEDD8LED+5+5GNDD9LEDD 1 0LEDD 1 1LEDD 1 2LEDR41 00R73 30R51 00R31 00+5+5+5RESET+51122S1S W - P BR64 . 7K+5GND12J2C O N 2 GND+5R21 00D 1 3LEDGNDS1S2S3S4S5S6S7S8P 20P 21P 22P 23P 24P 25P 26P 27C11 04 P FGND+5GND123456789J1100e1d2dp3c4g5s16s47a8f9s310s211b12U1L E D 8e1d2dp3c4g5s16s47a8f9s310s211b12U2L E D 8P 20P 21P 22P 23P 24P 25P 26P 27P 20P 21P 22P 23P 24P 25P 26P 27S1S2S3S4S5S6S7S81 23 45 67 89 10J P 1H E A D E R 5 X 2P 15P 16P 17P 15P 16P 17R E S E TGND+5图 2原理图 2.3 工作原理 采用单片机的 I/O口 P1口 和 P3直接和交通灯连接 , 控制程序放在 MCS- 51单 片机如8051的 ROM中 , 在十字路口的四组红、黄、绿交通灯中 , 受单片机 P1.0 P1.7和 P3.0、P3.1、 P3.3、 P3.7 控制 , 由于交通灯为发光二极管且阳极通过限流电阻和电源正极连接 , 因此 I/O口输出低电平时 , 与之相连的相应指示灯会亮 , I/O口输出高电平时 , 相应指示灯会灭。紧急车请求通过的信号由人工控制 , 以中断方式输入单片机 , 无紧急车通过时 , 中断引脚 INT0 通过电阻和电源正极连接为高电平 , 不产生中断请求 , 单片机执行主程序 , 有紧急车通过时 , 中断引脚采用人工方法接地为低电平 , 产生中断请求 , 单片机执行中断服务程序 , 让紧急车通过 , 紧急车通过后 , 中断引脚变为高电平 , 返回主程序。由于倒计时显示装置已普遍采用 , 因此本文未引入探讨。 2.4 器件和原理 2.4.1.什么是单片机 单片机 是将中央处理器( CPU)、随机存储器( RAM)、只读存储器( ROM或 EPROM)、定 时 器 芯 片 和 一 些 输 入 / 输 出 接 口 电 路 集 成 在 一 个 芯 片 上 的 微 控 制 器( Microcontroller)。 中央处理器包括运算器、控制器和寄存器 3个主要部分,是单片机的核心。 存储器按工作方式 可以分为两大类:随机存储器 RAM和只读存储器 ROM。 RAM可被CUP 随机地读写,断电后存储的内容消失; ROM 中的信息只能被读取,一般用于存放固定的程序。 ROM中的内容只能用编程器专用设备写入。 输入 /输出接口( I/O 接口)是单片机的重要组成部分。程序、数据以及现场信息需要通过输入设备送到单片机,计算结果需要通过输出设备输出到外设。常用的输入有nts 第 8 页 共 46 页 8 按键、键盘、 A/D等,输出设备一般有 LED、电机等。 为了方便理解,我们可以将单片机和 PC 机进行一个比较。一台能够工作的计算机要由 CPU、 RAM、 ROM、输入 /输出设备等几个部分组成。在 PC 机上这些部分被分成若干块芯片,安装在主板上。而单片机相当于集成了以上所有芯片的一块集成电路芯片。有一些单片机中除了上述基本的功能,还集成了其他部分功能,如 A/D、 D/A 等。一个标准的 89C51单片机的 引脚 功能图如图 3所示。 图 3 89C51单片机及其引脚 1 AT89C51 单片机性能介绍 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器( FPEROM Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能 8位 CPU和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 2 主要特性: 1.与 MCS-51 兼容 2.4K字节可编程闪烁存储器 3.寿命: 1000写 /擦循环 4.数据保留时间: 10年 5.全静态工作: 0Hz-24Hz 6.三级程序存储器 锁定 7.128*8位内部 RAM 8.32可编程 I/O线 1 2 3 4ABCD4321DCBATitleNumber RevisionSizeBDate: 27-Jun-2002 Sheet of File: C:Client98Sheet_1.Sch Drawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U?SMGnts 第 9 页 共 46 页 9 9.两个 16位定时器 /计数器 10.5个中断源 11.可编程串行通道 12.低功耗的闲置和掉电模式 13.片内振荡器和时钟电路 3 管脚说明: VCC:供电电压。 GND:接地。 P0口: P0口为一个 8位漏级开路双向 I/O口,每脚可吸收 8TTL门电流。当P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH进行 校验时, P0输出原码,此时 P0外部必须被拉高。 P1 口: 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”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3口: P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL 门电流。当 P3口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由 于外部下拉为低电平, P3口将 输出电流( ILL)这是由于上拉的缘故。 P3口也可作为 AT89C51的一些特殊功能口,如下表 2-1所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0外部输入) P3.5 T1(记时器 1外部输入) nts 第 10 页 共 46 页 10 P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡 器复位器件时,要保持 RST 脚两个机器周期的高电平时间 . ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE的输出可在 SFR8EH地址上置 0。此时, ALE只有在执行 MOVX, MOVC指令是 ALE才起作用。另外,该引脚被略微拉高。如 果微处理器在外部执行状态 ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1时, /EA将内部锁定为 RESET;当 /EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.4.2 什么是单片机系统 单片机系统的基本结构框图如图 4所示。从图中可以看出,对于一个典型的单片机系统而言,主要由单片机、晶振和复位电路、输入控制电路、输出显示电路以及外围功能器件 5个部分组成 。 除了上文中介绍过的单片机外,单片机系统中的其他 4个部分的主要作用和器件如下。 晶振和复位电路:单片机 系统的必要组成部分,控制单片机的机器周期和功能复位。 输入 控制:是指在一定要求下,采取 何种形式的控制方式来实现单片机不同功能的转换,以及控制指令以何种方式传送到单片机。常用的输入控制方法有按键、矩阵键盘、串行通信等方式。 nts 第 11 页 共 46 页 11 图 4 单片机系统的基本组成 输出显示:是 指单片机将需要显示的数据发送到 LED、液晶等显示模块,并控制LED 等显示模块按照一定的格式显示的功能。此外,输出对象还有电机、传感器等特殊的功能器件。 外围功能器件:单片机只是控制器件,对应与一定的设计要求,需要加入特定功能的器件。例如外部存储器,单片机通过 对外部存储器的读写操作,完成对数据的存储器的读写操作,完成对数据的存储和读取,从而扩展单片机的存储单元和数据。此外,常用的外围器件还有 A/D、 D/A、 74LS07门电路以及特定功能的传感器等。 单片机的最简单系统是指单片机能正常工作所必须的外围元件,主要由单片机、晶振电路和复位电路构成。而输入 /输出部分则通过单片机的 I/O口实现。 2.4.3 单片机系统的应用 单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体 化产品中,都有重要的用途。其主要的用途可以分为以下方面 。 显示:通过单片机控制发光二极管或是液晶,显示特定的图形和字符。 机电控制:用单片机控制机电产品做定时或定向的动作。 检测:通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生。 通信:通过 RS-232串行通信或者是 USB 通信,传输数据和信号。 科学计算:用来实现简单的算法。 那么单片机是不是解决上述应用的惟一选择呢?当然不是!目前,在自动控制中,一般有 3种选择,分别是嵌入式微机、 DSP和单片机,他们的性能比较如表 2-2所示。 表 2-2 嵌入式 微机、 DSP、单片机性能比较 指标 嵌入式微机 DSP 单片机 运算速度 一般 快 慢 信息处理量 大 大 小 晶振、复位电路 输入控制 输出显示 外围功能器件 单片机 nts 第 12 页 共 46 页 12 体积和重量 大 小 小 系统集成度 高 一般 低 开发成本 适中 高 低 典型器件 SUPERDX型嵌入式模块 DSP-56800 TMS320C54X MCS-51 MCS-98 单片机最明显的优点是价格便宜,从几元人民币到几十元人民币。这是因为这类芯片的生产量很大,技术也很成熟。 其次,单片机的体积也远小于其他两种方案。单片机本身一般用 40 脚封装,当然功能多一些的单片机也有引脚比 较多的,如 68 引脚,功能少的只有 10 多个或 20 多个引脚,有的甚至只有 8 只引脚。 当然,单片机无论在速度还是容量方面都远小于其他两种方案,但是实际上工作中并不是任何需要计算机的场合都要求计算机有很高的性能。例如,控制电冰箱温度的控制器就不需要使用嵌入式系统,用一片 51 就可以轻松实现。所以应用的关键是看是否够用,是否有很好的性能价格比。 51系列的单片机已经面世十多年,依然没有被淘汰,还在不断的发展中,这就说明是它有广阔的应用前景。 2.5 部分电路功能 2.5.1 晶振电路 简单地说,没有晶振,就没有时 钟周期 ,没有时钟周期,就无法执行程序代码,单片机就无法工作。 单片机工作时,是一条一条地从 ROM中取指令 ,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。一个机器周期包括 12个时钟周期。如果一个单片机选择了 12MHz晶振,它的时钟周期是 1/12us,它的一个机器周期是 12*( 1/12) us,也就是 1us。 MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较慢,得要 2个机器周期,还有两条指令要 4个机器周期才行。为了衡量指令执行时间 的长短,又 引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。 例如,当需要计算 DJNZ 指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为 12MHZ,则一个机器周期就是 1us。而 DJNZ指令是双周期指令,所以执行一次要 2us。如果该指令需要执行 500次,正好 1000us,也就是 1ms。 机器周期不仅对于指令执行有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了 12MHz 晶振,那么当定时器的数值加 1时,实际经过的时间就是 1us, 这就是单片机的定时原理 。 1、晶振的选择 nts 第 13 页 共 46 页 13 晶振一般分为晶体振荡器和晶体谐振器 。在单片机系统中,晶体振荡器将外围的电容集成到振荡器的内部,无需再设计晶振电路,只需要将电源加载到晶振上,晶振就可以起振,并通过两个引脚输出到单片机的晶振引脚上。 一般的,由于 晶体振荡器的体积较大,价格较贵,在实际使用中,还可以选择晶体谐振器,也就是常说的立式晶振。该晶振需要外部的晶振电路才可以起振,但是由于该电路非常简单,并且使用灵活,在单片机系统中也有广泛地应用。 2、通用的晶振电路 单片机的晶振电路是一种典型电路,分为内部时钟方式和外部时钟方式两种 。内部时钟方式的电路如图 4 所示。 图 4 单片机的内部晶振电路 内部始终的晶振频率一般都选择在 4MHz 12MHz之间 ,外接两个谐振电容。该电容的典型值为 30PF,但是在 实际应用时,需要根据实际起振情况选择。 如果单片机的时钟必须 使用某一个外接的时钟信号,就不要外接晶振。由于此时的外接晶振引脚上没有晶振信号输入,内部的时钟电路将停振。这种方式称为外部时钟方式。图 5给出了两种外部时钟的电路,可以根据不同的单片机型号选择不同的电路。 nts 第 14 页 共 46 页 14 HMOS型 单片机 CHMOS型单片机 图 5 单片机的外部晶振电路 3、 振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 2.5.2 复位电路 简单地说,单片机的复位就和计算机的重起一样的概念。任何单片机在工作之前都要 有个复位的过程,复位对单片机来说,是程序还没有开始执行,是在做准备工作。一般的复位只需要 5ms的时间。 复位引脚 RST/Vpd 通过片内一个施密特触发器(抑制噪声作用)与片内复位电路相连,施密特触发器的输出,在每个机器周期的 S5P2 有复位电路采样依次。当振荡电路工作,并且在 RST 引脚加上一个至少保持 2 个机器周期的高电平时,就能使 8051 完成一次复位。按上面所说, 时间不少于 5ms。为了达到这个要求,需要在外部设计复位电路。 复位电路的实现可以有很多种方法,但是从功能上一般分为两种: 一种是电源复位,即外部的复位电 路在系统通上电源之后直接使单片机工作,单片机的起停通过电源控制;另一种方法是在复位电路中设计按键开关,通过按键开关触发复位电平,控制单片机的复位。 1、通用的复位电路 和晶振电路一样 ,复位电路也是单片机系统的典型外部电路。基本的复位电路的原理图如图 6所示。 nts 第 15 页 共 46 页 15 图 6 单片机的复位电路 从原理上,一般采用上电复位嗲路。这种复位电路的工作原理是:通电时,电容两端相当于是短路,于是 RST 引脚上为高电平,然后电源通过电阻对电容充电, RST 端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。 2、改进 型的复位电路 对于 有着丰富电路设计经验的读者而言,可以根据自己的需要,定制满足实际要求的电路。这里,给出了一种根据实际需要设计的上电复位电路,如图 7 所示。 图 7 改进型的复位电路 2.5.3 信号灯控制电路 外围器件选择的是发光二极管,发光二极管在其两端的电压差超出其导通压降时开始工作,发光二极管的导通压降一般为 1.7V 1.9V。此外,工作电流要满足该二极管的工作电流。满足电流和电压的要求,发光二极管就可以发光了。单片机系统中往往是数字信号,不是 5V 就是 0V,所以只要将二极管的正负极和电源对应上就可 以了。但还需在发光二极管和单片机连接时加一个限流电阻,这个电阻的作用在于限制通过二极管的nts 第 16 页 共 46 页 16 电流,从而达到减少功耗或者满足端口对最大电流的限制。 图 8 信号灯控制和时间显示电路 一般二极管的点亮电流为 5mA 至 10mA,在 5V驱动时,厂家多采用 470 欧的限流电阻,在电路中采用了 1K 的电阻,电流也就 3 5mA。当然为了更亮一点,可以减小电阻值,当然,二极管的电流不要超出单片机的 I/O 最大电流。 发光二极管的参数分成三大类:一是电参数;二是光参数;三是极限参数。 电参数 发光二极管的电参数主要有下列几项。 正向电压 Vf。它是指:在给发光二极管加入规定的正向电流时,发光二极管正极与负极引脚之间的电压降。 发向耐压 Vr。它是指:保证发光二极管不出现反向击穿时所允许给发光二极管加的最大反向电压。 反向漏电流 Ir。它是指:在给发光二极管加上规定的反向偏置电压时,流过发光二极管的反向电流,即从负极流向正极的电流。 结电容 Co。它是指:发光二极管 PN 结的结电容,一般为小于 100PF,此结电容愈小 愈好。 光参数 发光二极管的光参数主要有发光峰值波长、半峰宽度和发光强度。其中发光强度是发光二极管的一项重要光参数,它表征了发光二极管发光时的亮度。 极限参数 发光二极管的极限参数关系到发光二极管的安全使用,在使用过程中若超过极限参数,发光二极管将会损坏。发光二极管的极限参数主要有两项:一是极限功率 Pm;二是极限工作电流 Im。在小电流发光二极管中,极限电流一般小于 5MA。 nts 第 17 页 共 46 页 17 发光二极管的三种参数中,除光参数是它特有的外,其他两项参数的含义与普通二极管相同。 2.5.4 LED显示及显示接口 单片机应 用系统中,使用的显示器主要有 LED(发光二极管显示器 )和 LCD(液晶显示器 )。这两种显示器成本低廉,配置灵活,与单片机接口放便。近年来也开始配置简易形式的 CRT接口,可以较方使池进行图形显示。 数码管在该电路中主要是显示单片机的输出数据、状态等,因而,作为外围典型器件,数码管显示是反映系统输出和操纵输入的有效器件。数码管具备数字接口,可以很方便地和单片机系统连接;数码管的体积小,重量轻,并且共好低,是一种理想的显示单片机数据输出内容的期间,在单片机系统中有着重要的作用。显示电路如图 8所示。 1 LED显示器结 构与原理 LED 显示块是由发光二极管显示字段的显示器件,在单片机应用系统中通常使用的是七段 LED。 这种显示块有共阴极与共阳极两种,如图 9 所示。共阴极 LED 显示块的发光级管阴极共地。如图中 (c)所示,当某个发光二极管的阳极为高电平时,发光二极管点亮;共阳极 LED显示块的发光二极管阳极并接。如图中 (b)所示。图中 (a)为七段码显示器的实际外观与引脚连接图,另外两只没有标出的引脚是共阴或者共阳引脚,实际连接中接地 (共阴 )或者接 +5伏 (共阳 )。 图 9 LED的管脚和电路原理 通常的七段显示器(也有人称为七节显 示屏)是由八个发光二极管所组成的,因此也被叫做八段显示器。其中包括七个细长条形的 LED 及小数点行的 LED,显示器的每一段或没一划都有其名称,分别是英文小写的 a 到 f,以及小数点 dp( DECIMAL POINT)。七段显示器可以显示包括小数点的 0到 9数字与部分的英文字母。 在近年来,由于生产器件的工艺的进步,也出现了十六段码 LED显示器和点阵式单色和双色显示器,这些 LED显木器被广泛应用于电梯、大屏幕 LED显示器、公共汽车报站器、车站车次显示等领域,特别是点阵式双色显示器的出现,极大的方便了汉字的显示和图形显示, 为其在网民经济的领域的应用拓宽了道路。 以共阳极的七段显示器为例,若想要显示数字 1时,就要使 b划与 c划点亮,在电路上我们会把共同点接到正电源端( +5V),标示 b与 c的地方经过限流电阻到地,就可nts 第 18 页 共 46 页 18 以显示数字 1。如果是单个的数码管,七段显示器是直接点亮的,亦即用 8 位去推动一个七段显示器。如果有多位数字要显示时,可以用扫描的方式显示,以节省控制脚位。 七段显示块与单片机接口非常容易。只要将一个 8 位并行输出门与显示块的发光二极管引脚相连即可。 8位并行输出门输出不同的字节数据即可获得不同的数字或字符,其段码如表 2-3所示。通常将控制发光二极管的 8位字节数据称为段选码。共阳极与共阴极的段选码义为补数。 表 2-3 七段 LED 码的显示码 2. LED是如何显示单片机数据的 用单片机驱动 LED 数码管有很多种方法,按显示方式分,有静态显示和动态显示。首先介绍静态显示方法。 静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再控制 LED,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的 CUP时间少。静态显示中,没一个显示器都要占用单独的具有锁存功能的 I/O接口,该接口用于笔划段 字形 代 码。这样单片机 只要把显示的字形代码发送到接口电路,该字段就可以显示发送的字形。要显示新的数据时,单片机再发送新的字形码。 另一种方法是动态扫描显示。动态扫描的方法是用其接口电路把所有显示器的 8个笔划段 a-h同名端连在一起,而没一个显示器的公共极 COM各自独立地受 I/O线控制。CPU 向字段输出口送出字形码时,所有显示器接口接收到相同的字形码,但究竟是哪个显示器亮,则取决于 COM 端,而这一端是有 I/O 控制的,由单片机决定何时显示哪一位了。 动态扫描用分时的方法轮流控制各个显示器的 COM端,使各个显示器轮流点亮。 在轮流点亮扫描过程中,没位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。 3静态显示和动态显示的比较 nts 第 19 页 共 46 页 19 这两种显示方式各有 利弊:静态显示虽然数据显示稳定,占用很少的 CPU时间,但每个 显示单元都需要单独的显示驱动电路,使用的电路硬件较多;动态显示需要 CPU时刻对显示器进行数据刷新,显示数据有闪烁感,占用的 CPU时间多,但使用的硬件少,能节省线路板空间。 在一般较为简单的系统中,为了降低成本,动态显示方案具备一定的实用性,也是目前单片机数码管显示中较为 常用的一种显示方法。动态显示法是目前各种单片计算机采用的流行方法。其优点是烟碱简单。“动态”由软件实现。 三、交通信号灯软件的系统编程 3.1 单片机的 C 语言程序设计 c 语言程序设计是单片机开发、应用的重要趋势之一。目前,支持硬断点的单片机仿真器已能很好地进行 c语言程序调试,为单片机编程使用 c语言提供了便利条件。 编译型程序设计语言 c的优点已为大家熟知:既有多种高级语言的特点,又具备汇编语言的功能:有丰富的库函数、运算速度快、编译效率高、可移植性好,而且可以实现对系统硬件的直接控制;具有完善的 模块程序结构,支持广泛采用的由顶向下结构化程序设汁,为软件开发中采用模块化设计方法提供了有效支持;可以大大缩短目标系统软件的开发周期,软件的可读件明显增加,便于改进、扩充,研制规模更大、性能更完备的系统。 3.2 C 语言与 MCS 51 3.2.1 MCS 51酌编程语言 支持 MCS 51单片机编程的语言除了前面学过的汇编语言外,还有三种: BASIC、PL/M和 C。 BASIC语言简单易学,适用于对编程效率或运行速度要求不高的场合, 8052单片机片内就固化了 BASIC语言解释器。但是 BASIC采用浮点运算,导致程序复杂且执行时间长,即使 BASIC编译器也未能解决这个问题。 PL/M可以说是“高级汇编语言”,详细控制着代码的生成。但对 MCS-51系列, PL/M 不支持复杂的算术运算和浮点变量,也没有丰富的库函数。 用 C语言进行单片机程序设计,编译器能自动完成变量的存储单元的分配,编程者可以专过于应用软件的设计大大加快开发速度,可以对单片机常用的接口芯片编制通用的驱动函数,对常用的功能模块、算法等编制相应的函数,还可以很容易地进行信号处理算法和程序的移植,有利于产品中单片机的重 新选型和软件设计水平的提高、与国外嵌入式 系 统的程序设计接轨。 与汇编语言相比, C 语言程序在开发速度、软件质量、结构严谨、程序可靠性等方
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。