1、 分类号 密级 UDC 毕 业 设 计 基于 AT89C51 的十字路口 交通灯的设计 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名:日 期:指导教师签名:日 期:使用授权说明使用授权说明 本人完全了
2、解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日 期:学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的
3、法律后果由本人承担。作者签名:日期:年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年 月 日 导师签名:日期:年 月 日 指导教师评阅书指导教师评阅书 指导教师评价:指导教师评价:一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格 2、学
4、生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格 5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范?优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)?优 良 中 及格 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有
5、创意?优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩:优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”)指导教师:指导教师:(签名)单位:单位:(盖章)年年 月月 日日 评阅教师评阅书评阅教师评阅书 评阅教师评价:评阅教师评价:一、论文(设计)质量一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范?优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)?优 良 中 及格 不及格 二、论文(设计)水平二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优
6、 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意?优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 建议成绩:建议成绩:优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”)评阅教师:评阅教师:(签名)单位:单位:(盖章)年年 月月 日日 教研室(或答辩小组)及教学系意见教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价:教研室(或答辩小组)评价:一、答辩过程一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格 2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格 3、学
7、生答辩过程中的精神状态 优 良 中 及格 不及格 二、论文(设计)质量二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范?优 良 中 及格 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)?优 良 中 及格 不及格 三、论文(设计)水平三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2、论文的观念是否有新意?设计是否有创意?优 良 中 及格 不及格 3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格 评定成绩:评定成绩:优优 良良 中中 及格及格 不及格不及格 (在所选等级前的内画“”)教研室主任(或
8、答辩小组组长):教研室主任(或答辩小组组长):(签名)年年 月月 日日 教学系意见:教学系意见:系主任:系主任:(签名)年年 月月 日日 基于 AT89C51 的十字路口交通灯的设计 摘 要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本文研究的是以 AT89C51 单片机为控制器的智能交通灯控制系统,通过车辆检测电路采集路况信号,经单片机处理后,分配各车道的绿灯时间,实现车流动态调节,并由 74HC244 驱动
9、 LED 数码管显示通行倒计时;左拐、右拐、直行及行人的通行指示灯采用双色高亮度发光二极管。本设计是以软件和硬件相结合的方式来实现,文中给出了具体的硬件电路图和软件流程图及程序源码。关 键 词:交通灯;AT89C51;74HC244;LED Design of crossroads traffic lamp based on the AT89C51 Abstract In recent years,with the rapid development of science and technology,the application of SCM is going deep,driving t
10、he traditional detection techniques to renew day by day.In the real-time examination and in the automatic control monolithic integrated circuit application system,the monolithic integrated circuit often took a core part uses.The monolithic integrated circuit aspect knowledge is only insufficient,but
11、 should also act according to the concrete hardware architecture software and hardware union,to be improved.This study is based on AT89C51 as the controller of the intelligent traffic light control system.Collecting traffic information by the vehicle detection circuit,treated by the MCU,assigning gr
12、een time of each lane to achieve dynamic adjustment of traffic by the 74HC244 driving the passage of LED digital display the countdown.The traffic light of turn left,turn right,straight and pedestrian adopt with two-color high-brightness light-emitting diodes.The design is based on software and hard
13、ware combination to achieve.The paper gives a detailed circuit diagram of hardware and software flow chart and program soure code.Keywords:traffic light;AT89C51;74HC244;LED 目录 1 引言.1 1.1 课题的背景及意义.1 1.2 关于本案.2 2 总体设计方案.2 2.1 设计思路.2 2.2 方案选择.2 2.3 总体方案设计.3 3 系统硬件设计.3 3.1 系统硬件框图及工作原理.3 3.2 芯片选择及引脚说明.4
14、3.3 各模块电路.10 3.4 LED 显示接口电路.13 4 系统程序设计.14 4.1 程序设计思路及流程图.14 4.2 存储器及 I/O 口接口地址.17 4.3 LED 显示电路有关编程.17 5 交通灯控制系统的调试.18 5.1 调试方法.18 5.2 调试及性能分析.18 6 测量结果.19 7 结束语.19 参考文献.20 致谢.21 附录.22 基于 AT89C51 的十字路口交通灯的设计 1 引言 1.1 课题的背景及意义 在人类的生活、工作环境中,交通扮演着极其重要的角色,人们无时无刻不与交通打交道。随着我国国民经济的迅速发展和人口的快速增加,人们对各种交通车辆的需求
15、更是越来越大,交通工具的迅猛发展以及道路资源的局限性,给城市交通带来巨大的压力,交通拥堵问题已成为影响现代城市可持续发展的重要因素。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的技术手段加以实现。作为车辆通行瓶颈所在的十字路口,通过研究其车辆通行规律,找出提高其车辆通行效率,对缓解交通拥堵,提高道路畅通率具有十分现实的意义。国内的在十字路口的交通灯,一般用红、绿、黄三种颜色的指示灯和一个倒计时的显示计时器来控制行车。且绝大多数交通灯的时间都是设定好的。现在十字路口的交通灯存在着两车道的车辆轮流放行时间相同且固定,一般主干道车辆较多,放行时间长些;副干道车辆较少,放行时间短
16、些的问题,甚至可能出现一条车道上排着很长的车队,而另一条车道上没有车辆的情况;再者没有考虑到当有紧急车辆(如 119、120)通过时,两车道应自动转为特种车辆放行,其他车辆禁止通行的状态;还有欠缺对盲人这个特殊群体穿过道口时所遇困难的考虑2。传统的交通灯控制系统存在的这些缺点,说明传统的交通灯控制系统已经不能适应当前城市交通发展的要求,不能最高效地利用城市的交通道路资源。城市交通控制系统是一个综合度高而又复杂的问题,关系到政策、机构、体制、管理、成本、基础设施建设和投资各方面问题。道路交通控制系统在近百年的发展中,经历了从手动到自动、从无感应控制到有感应控制、从固定配时到灵活配时、从单点控制到
17、干线控制、从区域控制到网络控制的长远发展历程。我国的交通是从新中国成立之后才开始发展的,起步较晚,但随着我国经济和社会高速发展对交通的需求急剧增加,对原有交通控制系统提出了严峻的挑战。城市交通发展的规划应在广泛借鉴和吸取国外先进经验的基础上,结合我国城市交通运输的现状和存在的问题,建立并健全适合我国交通的城市交通控制系统。近年来,国家虽然不断加大城市道路建设的力度,但仍赶不上城市机动车的增长速度,我国城市仍普遍存在道路面积偏低的问题,这也是制约着我国大城市发展的一个重要原因。随着交通需求越来越旺盛,车多、路多了,但运营成了瓶颈,运输效率逐步下降。我国与发达国家在车辆、道路、交通管理系统、人工智
18、能技术在交通管制中的应用、信息采集和提取等方面存在着很大的差距。由于交通控制系统不健全等原因,我国交通道口的交通事故率居高不下,且随着城市交通运量逐年的增长,城市车流行驶速度逐年基于 AT89C51 的十字路口交通灯的设计 下降,这些都是由于交通通行不佳。1.2 关于本案 针对整个交通控制系统的发展状况,本设计根据道路交通拥挤,十字路口经常出现拥堵的情况,运用智能、集成,且功能强大的单片机芯片为控制核心,设计出了十字路口智能交通灯控制系统,以改善十字路口实时通行状况。本设计与传统交通灯比较,有以下几点改进措施:1)可根据十字路口的各道口车流量自动调节通行时间;2)拥有车流量检测电路和特种车辆自
19、动通行控制模块,设计紧急切换开关;3)进行软件系统的设计,采用汇编语言编写,简单、方便。智能交通灯控制系统将有效地解决日趋严重的道路拥挤现象,缓解城市的交通压力,减少交通事故发生率;减少了交通管理人员的大部分工作量,并为人们的出行节省了大量时间,创造出更多的社会价值,提高经济效益。2 总体设计方案 2.1 设计思路 交通灯一般设置在十字路口,用红、绿两种颜色的指示灯,并加上显示倒计时的计时器来控制车辆通行。采用标准 AT89C51 单片机作为控制器,采用 3 位 LED 数码管显示通行倒计时;左拐、右拐、直行及行人的通行指示灯采用的是高亮发光二极管;LED 显示采用动态扫描,以节省端口数。该系
20、统具有电路简单,设计方便,显示亮度高,耗电少,可靠性高等优点 2.2 方案选择 能实现此电路的方法很多,我们根据实际将范围定在以下几个比较切合我们的方案中。第一种方案:采用数字电子技术实现。用基本的 555 芯片(利用单稳态实现定时),计数芯片(如 74LS163,74LS160 等)完成计时功能,控制电路芯片,译码芯片(如 74LS138)等基本芯片,结合电阻,电容等基本元件,通过逻辑电路实现交通灯的功能。第二种方案:使用单片可编程来实现交通灯的功能。利用单片机的外围扩展,显示电路构成基本硬件。然后编程实现对定时,控制,显示电路的控制,然后调试,完成设基于 AT89C51 的十字路口交通灯的
21、设计 计。结合实际情况,根据毕业设计任务书的要求,我们经过讨论和论证,最终一致选用第二种方案的设计思路对交通灯控制系统进行设计。2.3 总体方案设计 本设计研究的是基于 AT89C51 单片机的交通灯智能控制系统。根据交通控制系统的设计原理,阐述了硬件和软件方面开发的整个过程。主控系统采用 AT89C51 单片机作为控制器,控制通行倒计时及右拐、右拐、直行、行人的通行,占用端口少,耗电也最小。系统电源采用独立的+5V 稳压电源,有各种成熟电路可供选用,使此方案可靠稳定。该设计可直接在 I/O 口上接按键开关,精简并优化了电路。结合实际情况,显示界面采用点阵 LED 数码管动态扫描的方法,满足了
22、倒计时的时间显示输出和状态灯提示信息输出的要求,减少系统的复杂度。3 系统硬件设计 3.1 系统硬件框图及工作原理(1)硬件框图 该交通灯控制系统有以下几个部分组成:车辆检测、单片机、驱动和显示电路。如图 2-1 所示:图 2-1 系统硬件组成总框图 P1 P2 AT89C51 P0 RST P3 南北通行灯 东西通行灯 LED 驱动器 3 位 LED 显示器 车辆检测电路 上电复位 自动/手动键盘 基于 AT89C51 的十字路口交通灯的设计 (2)系统工作原理 本系统运用单片机对交通灯控制系统实施控制,通过直接控制信号灯的状态变化,指挥交通的具体运行,运用了 LED 数码管显示倒计时以提醒
23、行驶者,更具人性化。在此基础上,加入了特种车辆自动通行控制模块和车流量检测电路为系统采集数据,经单片机进行具体处理,及时调整通行方向。由此,本设计系统以单片机为控制核心,构成最小系统,根据特种车辆自动通行控制模块、车辆检测模块和按键设置模块等产生输入,由信号灯状态模块,LED 倒计时模块输出。系统进入工作状态,LED 数码管实时显示数据倒计时,执行交通灯状态显示控制,在此过程中若有控制信号和实时车流量检测信号,可对异常状态进行实时控制,随时调用中断,达到修正通行时间满足不同时间不同路况的需求。3.2 芯片选择及引脚说明 AT89C51 是一种高效微控制器,它是美国 ATMEL 公司生产的低电压
24、,高性能 CMOS8位单片机,片内含 4Kbytes 的可反复擦写的 Flash 只读程序存储器(FPEROMFlash Programmable and Erasable Read Only Memory)和 1288 位的随机存取数据存储器(RAM),该器件采用 ATMEL 公司的高密度、非易失性存储技术生产,它与 MCS-51 系统产品兼容,AT89C51 单片机功能强大,具有 8Kb 中央处理器(CPU)和 4KbFlash 程序存储器,性价比高,可应用于很多要求高性价比的场合,灵活地应用于各个控制领域。3.2.1AT89C51 的引脚功能 AT89C51 为双列直插(DIP)式封装的
25、 51 单片机芯片,有 40 条引脚,其引脚示意及功能分类如图 3-2 所示。图 3-2 89C51 单片机引脚图 基于 AT89C51 的十字路口交通灯的设计 各引脚功能说明如下:(1)主电源引脚 Vcc(40 脚):接+5(120)V 电源正端;Vss(20 脚):接地。(2)I/O 引脚 P0 口(3932 脚):P0.0P0.7 统称为 P0 口。P0 口是一组 8 位漏极开路型双向 I/O口,分时复用为低 8 位地址总线和双向数据总线。作为输出口用时,每位能吸收电流的方式驱动 8 个逻辑门电路,对端口 P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器时,这组端口线分时转换
26、地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 FLASH 编程时,P0 口作为原码输入口,当 Flash 进行校验时,P0 口输出原码,此时 P0 外部必须被拉高。P1 口(18 脚):P1.0P1.7 统称为 P1 口,可作为准双向 I/O 口使用。P1 是一个带内部上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。P1 口被外部下拉为低电平时,输出电流,是因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在Flash 编程和校验时,P1 口作为第八位地址接收。P
27、2 口(2128 脚):P2.0P2.7 统称为 P2 口,一般作为准双向 I/O 使用。P2 是一个带内部上拉电阻的 8 位双向 I/O 口。P2 的输出缓冲器可驱动 4 个 TTL 逻辑门电路。当对P2 端口写“1”时,内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在接有片外存储器或扩展 I/O 口且寻址范围超过 256B 时,P2 口用作高 8 位地址总线。当给出地址为“1”时,它就利用内部上拉优势,当对外部八位地址数据存储器进行读/写时,P2 口便输出其特殊功能寄存器的内容。在 FLASH 编程和
28、校验时,P2 口接收高八位地址信号和控制信号。P3 口(1017 脚):P3.0P3.7 统称为 P3 口。P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口的输出缓冲器可驱动 4 个 TTL 逻辑门电路接收输出电流。当 P3 口写“1”时,通过内部的上拉电阻上拉为高电平并作为输入口。此时由于外部下拉为低电平,P3 口将输出电流(IIL)。除作为准双向 I/O 口使用外,还可以将每一位用于第二功能,而且 P3 口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。P3 口第二功能祥见表 3-1 :基于 AT89C51 的十字路口交通灯的设计 表 3-1 P3 口第二功能表
29、口线 第二功能 信号名称 P3.0 RXD 串行数据接受 P3.1 TXD 串行数据发送 P3.2 I N T 0 外中断 0 申请 P3.3 I N T 1 外中断 1 申请 P3.4 T0 定时器/计数器 0 计数输入 P3.5 T1 定时器/计数器 1 计数输入 P3.6 W R 外部数据存储器写选通 P3.7 R D 外部数据存储器读选通(3)外接晶体引脚 XTAL1(19 脚):它在单片机内部是一个反向放大器的输入端,构成了片内振荡器。当采用外部时钟时,HMOS 单片机的该引脚应接地;CHMOS 单片机的该引脚作为外部振荡信号的输入端。XTAL2(18 脚):它在单片机内部是片内振荡
30、器的反向放大器的输出端。当采用外部时钟时,HMOS 单片机的该引脚作为外部振荡信号的输入端;CHMOS 单片机的该引脚应悬空不接。(4)控制线 ALE/P R O G(30 脚):地址锁存允许/编程信号。在访问片外程序存储器期间,此信号可用于控制锁存 P0 输出地址总线的低 8 位,ALE 以每机器周期两次进行信号输出;在FLASH 编程期间,此引脚用作编程脉冲P R O G的输入端。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率 fosc的 1/6,可作为对外输出的时钟脉冲或用于定时目的。但要注意的是:在访问片外数据存储器期间,ALE 脉冲会跳空一个。若想禁止 ALE
31、的输出可在 SFR8EH 地址上置 0。此时,ALE 执行 MOVX,MOVC 指令使 ALE 起作用。另外,该引脚将被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。P S E N(29 脚):片外程序存储器读选通信号输出端,低电平有效。在由外部程序存储器读取指令或常数期间,每个机器周期内P S E N两次有效,P0 口读回指令或常数。当访问内部程序存储器时,P S E N信号不跳变。RST/VPD(9 脚):RST 即 RESET,VPD为备用电源,该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现基于 AT89C51
32、的十字路口交通灯的设计 复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续 10ms 以上才能保证有效复位。当 VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源 VPD(+5V)为内部 RAM 供电,以保证 RAM 中的数据不丢失。E A/VPP(30 脚):E A为片外程序存储器选用端,访问内部程序存储器控制信号。当 E A端接高电平时,CPU 访问内部程序存储器。当 E A接低电平时,则在此期间外部程序存储器(0000H-FFFFH),则强调 CPU 访问外部存储器,而不管程序计数器的内容是多少。此外,该引脚还用做 EPROM 编
33、程电压的输入端。在编程期间,此引脚用作 21V 编程电源 VPP的输入端。3.2.2AT89C51 的内部结构 89C51 单片机内部组成结构中包含运算器和控制器(CPU)、片内存储器、4 个并行I/O 接、串行口、定时/计数器、中断系统、振荡器等功能部件。其内部结构框图如图3-3 所示。图中 PC 是程序计数器;PSW 是程序状态字寄存器;DPTR 是数据指针寄存器。图 3-3 AT89C51 单片机内部结构框图 运算器和控制器 89C51 的运算器和控制器功能类似于一般微机中的微处理器(CPU),是单片机的核心部件,它决定了单片机的主要功能特性。它完成逻辑算术运算并协调单片机其它各部分的工
34、作。各种算术、逻辑运算所涉及到的寄存器包括:累加器 ACC、寄存器 B、暂存器1(TEMP1)和暂存器 2(TEMP2)、程序状态字寄存器 PSW,程序计数器 PC,堆栈指针 SP,基于 AT89C51 的十字路口交通灯的设计 数据指针寄存器 DPTR 等。它们位于 CPU 内部,又称 CPU 专用寄存器,以区别于 I/O 接口专用寄存器。存储器 MCS-51 系列单片机存储器组成是所谓的哈佛结构,存储器的组织方式与通用单片机系统不同,包含程序存储器与数据存储器,其地址空间是相互独立的,而不是程序存储器与数据存储器统一编址。在 89C51 单片机中,程序存储器采用 EEPROM,而数据存储器采
35、用 RAM。它们又可以进一步分成内部或外部两类。程序存储器 程序存储器内部和外部是统一连续编址的,内部占用地址空间的低4KB,地址 0000H0FFFH,外部地址范围 1000HFFFFH,共 60KB。程序存储器主要用来存放程序和常数。当程序计数器 PC 由内部 ROM 开始执行到外部 ROM 时,会自动寻址外接程序存储器。程序地址空间原则上可由用户任意安排,但复位和中断源的程序入口地址在 51 系列单片机中是固定的,用户不能改变。入口地址见表 3-2。复位后,CPU 从 0000H 地址开始执行程序。其他地址为中断服务程序入口地址,响应某个中断时,将自动从其对应的入口地址执行中断服务程序。
36、表 3-2 51 单片机复位、中断入口地址 操 作 入口地址 复位 0000H 外部中断 0 0003H 定时器/计数器 0 溢出 000BH 外部中断 1 0013H 定时器/计数器 1 溢出 001BH 串行口中断 0023H 定时器/计数器 2 溢出或 T2EX 端负跳变(52 子系列)002BH 数据存储器 MCS-51 系列单片机数据存储器也有内部、外部之分。但与程序存储器不同,片内、片外存储器是分别独立编址的,片内数据存储器除 RAM 块外,还有特殊功能寄存器(SFR)块,其中片内数据存储器有 128 个字节,其编制为 00HFFH;特殊功能寄存器也占 128 个字节,其编制为 8
37、0HFFH;二者连续而不重叠。外部 RAM 地址范围 0000HFFFFH,共 64KB。内部存储器可直接寻址。尽管片内、片外地址空间的低256B 有重叠,但寻址并不会造成混乱。这是因为片内、片外存储器使用不同的指令(MOV和 MOVX)。扩展的 I/O 地址也占用数据存储器空间。对 I/O 端口操作无须特殊指令且访问程序存储器是用P E S N信号选通,而访问片外数据存储器时,由 R D信号(读)和 W R基于 AT89C51 的十字路口交通灯的设计 信号(写)选通。寄存器区 内部数据存储器分为 4 个区域,数据 RAM 用于存放临时变量,下面介绍其他三个寄存器区:a)工作寄存器区 它占用地
38、址 00FFH 的 32 个内存单元,又分成 4 个区。每个区有 R0R7 共 8 个工作寄存器。工作寄存器区的选择又由程序状态寄存器 PSW 的第 4 位和第 3 位(RS1 和 RS0)共同指定。单片机复位时,RS1 和 RS0 为零,故指向 0 区。通过位操作改变 RS1 和 RS0 的值,可以方便地指向任一个区间。b)位寻址区 每位都有一个独立的 8 位地址(占据空间 007F),共 128 位。此外,在专用寄存器 SFR 中还有一部分是可以位寻址的(有些位可能无定义)。c)专用寄存器区 共有 21 个专用寄存器 SFR,位于 80FFH 地址空间。这些寄存器又可以分为 CPU 专用寄
39、存器和接口专用寄存器。CPU 专用寄存器前面己经提过,而接口专用寄存器包括两部分。一部分就是单片机的 I/O 端口 P0P3,分别编址为 80H、90H、A0H、B0H,共 4 个单元,32 位,每一位都可以独立寻址。另一部分为定时/计数器,串行口、中断的一些控制寄存器。定时/计数器 89C51 有两个 16 位定时/计数器(T0,T1)。在定时功能中,每个机器周期定时器加1,由于 l 个机器周期包含 12 个振荡周期,因而它的计数频率为 1/12,即由定时器计数到的脉冲为振荡周期频率的 1/12。在计数器功能中,在外部事件相应输入脚(T0 或 T1)产生负跳变时,计数器加 1。由于计数器的计
40、数过程需要 2 个机器周期(24 个振荡周期),所以,最高的计数频率为振荡频率的 1/24。这两个定时/计数器的工作状态(定时/计数)及工作方式(方式 0方式 3)的选择是由定时/计数器方式寄存器(TMOD)中的每位值所决定的。定时/计数器的控制由控制寄存器(TCON)完成。I/O 口 89C51 不仅有 4 个 8 位并行口,供单片机和外部 RAM、EEPROM 等扩展连接用或与其它设备交换信息用,它还有一个全双工串行口,能同时发送和接收数据。在前面的引脚功能中已对并行口作了简要介绍,在此就主要介绍一下串行口。串行口也就是 P3.0 和 P3.1 的第二功能。它既能工作在异步方式,又能工作在
41、同步方式。该串行口是全双工的,它在物理上分为两个独立的发送缓冲器和接收缓冲器 SBUF,但它们占用一个特殊功能寄存器的地址 99H,只需对 SBUF 进行写或读的操作,就可以同时发送和接收了。串行口的工作方式选择、波特率选择、串行通信协议的完成,由两个特殊功能寄存器,即串行口控制寄存器 SCON 和功耗控制寄存器 PCON 完成。中断 基于 AT89C51 的十字路口交通灯的设计 89C51 单片机提供了 6 个中断源,而每一个中断源都能被程控为高优先级或低优先级。其中5 个中断源包括 2 个外部中断和3个内部中断。两个外部中断源为 INT0和INT1,外部设备的中断请求信号、掉电等故障信号都
42、可以从 INT0 而和 INT1 引脚输入,向 CPU提出中断申请,INT0 和 INT1 的中断请求标志 IE0、IE1 分别设在 TCON 寄存器的 TCON.1、TCON.3。3 个内部中断源为 T0、Tl 溢出中断源及片内串行发送或接收中断源,T0、Tl中断请求标志 TF0 和 TF1 分别设在 TCON 寄存器的 TCON.5、TCON.7,串行发送或接收中断标志 TI 或 RI 设在 SCON 寄存器的第 SCON.0、SCON.1。5 个中断源中的一个、几个或全部中断源的开、关由中断允许寄存器(IE)完成,而每个中断源的优先级别的高低由中断优先级控制寄存器(IP)完成。89C51
43、 单片机中断源简要特性见表 3-3。表 3-3 中断源特性表 名称 符号 标志符号 标志符号位置 矢量地址 优先级别 外部中断 INT0 IE0 TCON.1 0003H 最高 最低 定时器 0 溢出中断 TF0 TF0 TCON.5 000BH 外部中断 1 INT1 IE1 TCON.3 0013H 定时器 1 溢出中断 TF1 TF1 TCON.7 001BH 串行口中断 R1+T1 R1 SCON.0 0023H T1 SCON.1 3.3 各模块电路 3.3.1 主控制系统 主控器采用 AT89C51,是美国 ATMEL 公司生产的一款性能稳定、低功耗的单片机,兼容 MCS-51 系
44、列产品指令系统及引脚。片内含 4KB 的可重复编程的 Flash 程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,使用 5(120)V 的电源电压,1288 位的内部 RAM,4 个 8 位的双向可位寻址的 I/O 端口,2 个 16 位定时/计数器,6 个中断源,AT89C51 单片机可提供许多高性价比的应用,灵活应用于各种控制领域。单片机的P1口及P2口分别应用于控制南北及东西方向的通行灯,P0口及P3.0P3.2口应用于 4 组 LED 计时器的控制,T0 和 T1 分别作为东西方向和南北方向和车流量流量控制,INT0 和 INT1 分别用于东西方向和南北方向的特种
45、车辆通行紧急转换电路。3.3.2 车辆检测电路 为了达到对红绿灯开启时间的控制,需要对十字路口各个方向的车辆进行检测,本基于 AT89C51 的十字路口交通灯的设计 文研究的是用 CCD 图像传感器实时拍摄(本文选取距十字路口 100m 内)路况,采用微分二支电路处理 CCD 信号,使成二值化信号,单片机再读入数据,判断车队长度。实现对路口红绿灯时间进行动态调节。这样就可以大大提高车辆通过率,有效缓解交通压力。车辆检测电路如图 3-4 所示。图 3-4 车辆检测电路 3.3.3 通行灯输出控制 道口交通灯指示采用高亮度红绿双色发光二极管,左拐、右拐、直行及行人各一个。当发光电流为 6mA 时,
46、可按公式 R=(51.8)0.006 计算,限流电阻为 510。因为南北通行时双向指示牌相同,所以每个端口应具有 12mA 的吸收电流的能力,而人行道口按 4 个灯算,因此需 24mA 的吸收电流,在单片机的输出口接驱动电路 74HC244,保护单片机的输出端口。道口指示灯电路如图 3-5 所示。图 3-5 城市道口交通指示灯电路 基于 AT89C51 的十字路口交通灯的设计 3.3.4 时间显示电路 红绿灯通行时间采用数码管显示,这是一种很好的方法。通行剩余时间采用高亮 7段 LED发光数码管,采用共阳数码管。由于每个道口时间显示相同,4组三极管就需192mA,所以设计中采用三极管 9012
47、。因为每段输出口需吸收 24mA 电流,所以电路设计中使用驱动集成块 74HC244。LED 显示接口硬件电路由 74HC244 缓冲器、LED 显示器组成。如图3-8 所示 74HC244 用来提高 LED 显示器的驱动能力。在实际使用中 LED 显示器都是多位的。对多位 LED 显示器,通常采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。虽然这样在任一时刻只有一位显示器被点亮,但由于视觉残留效应,看起来与全部显示器同时点亮效果完全一样。为了显示 LED 显示器的动态扫描,不仅要给显示器提供段(字形代码)的输入之外,还要对显示器加位控制,这就是通常所说的段控和位控。因此多位 LED 显
48、示器接口电路需要有两个输出口,其中一个用于输出 8 条段控线(有小数点显示);另一个用于输出位控线,位控线的数目等于显示器的位数。时间显示驱动电路如图 3-6 所示。图 3-6 时间显示驱动电路 3.3.5 电源电路 整个系统采用的是+5V 电压,因此采用不可调的 3 端稳压器件,用 LM7850 就可以满足系统电源的要求。LM7850 内部是由基准电压回路、恒流源、过流保护、过压保护和短路保护回路等 8 部分组成的三端集成稳压电源,且其低功耗,高效率,纹波系数小,输出电压稳定。基于 AT89C51 的十字路口交通灯的设计 3.4 LED 显示接口电路 3.4.1 LED 显示器简介 通常所说
49、的 LED 显示器由 7 个发光二极管组成因此也称之为七段 LED 显示器,其排列形状如图 3-7 所示。此外,显示器中还有一个圆点型发光二极管(在图中以 dp 表示),用于显示小数点。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其他符号。LED 显示器中的发光二极管共有两种连接方法:(1)共阳极接法 把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。(2)共阴极接法 把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮
50、。图 3-7 LED 显示器结构图 使用 LED 显示器时要注意区分这两种不同的接法。为了显示数字或符号,要为 LED显示器提供代码,这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给 LED 显示器的字形代码正好一个字节。各代码位的对应关系如表 3-4。表 3-4 代码对应关系表 代码位 D7 D6 D5 D4 D3 D2 D1 D0 显示段 dp g f e d c b A 3.4.2 74HC244 缓冲器芯片介绍 74HC244 是一种三态输出的八缓冲器和线驱动器,该芯片的引脚图如图 3-8 所示。由图可见,该缓冲器有 8 个输入端,分