2908 基于单片机的汽车灯控制系统
2908 基于单片机的汽车灯控制系统,基于,单片机,汽车灯,控制系统
宁波大红鹰学院毕 业 设 计 (论文) 任 务 书所在学院 机械与电气工程学院 专业 机械设计制造及其自动化 班级 08 机自 3学生姓名 林晓杰 学号 08141010316 指导教师 李燕题 目 基于单片机的汽车灯控制系统一、毕业设计(论文)工作内容与基本要求: 1.主要任务与目标:(1) 翻译 2 篇与课程相关的最新英文文献,文献翻译要求在 2000 字以上;(2) 查阅和整理文献并提交一篇反映课题内容的文献综述,文献综述在 3000 字以上;(3) 独立完成基于单片机的汽车尾灯灯控制系统、PCB 总图设计,绘制完整的Proteus 仿真设计,选择相应的元器件进行实际电路搭建,提交一份开题报告。(4) 按照开题报告的进度计划,独立进行汽车尾灯控制系统设计所需的数据计算,结合相关课程中涉及的经验公式与经验数据,撰写论文,论文正文不少于 10000字。2.研究途径与方法:(1) 通过预研,了解课题背景及其应用,现有产品的特点,完成开题报告。(2) 结合所需专业课程,通过查阅相关资料,学习相关制板软件即仿真软件,制定毕业设计方案。(3) 本设计需要首先确定汽车尾灯控制系统的总体设计,包括:尾灯闪亮显示的方案设计以及控制系统应拥有的各项功能;其次要进行传感器的硬件电路设计和基本功能要求。(4) 熟悉使用 KEIL 软件,并且加深了解对单片机的编程技巧。(5) 为实现预期功能,对系统进行快速的调试,并对出现的功能故障进行分析,及时修改相关软硬件。(6) 选择相应元器件,搭建电路。撰写论文,并对格式进行标准化处理;按论文指导手册的要求完成毕业设计全部内容。3. 参考文献1 李朝青.2008.单片机原理及接口技术(第 3 版).北京:北京航空航天社2 谢自美, 电子线路设计实验测试 。华中理工大学出版社3 张鑫, 单片机原理与应用 。电子工业出版社4 陆子明, 单片机设计与应用基础教程 。电子工业出版社5 51 单片学习网 HTTP:/WWW.51C51.COM/6 单片机学习网 HTTP:/WWW.MCUSTUDY.COM/7 张毅刚.单片机原理及应用M.北京:高等教育出版社,2003.8 边海龙,孙永奎编著, 单片机开发与典型工程项目实例详解电子工业出版社.9 阎石, 数字电子技术基础高等教育出版社10 陈大钦主编 电子技术基础实验高等教育出版社 2004 年4. 设计技术要求(1) 左右两侧各有 5 只尾灯,其中 3 只作为尾灯,可用作汽车行驶状态的方向指示标志,余下 2 只分别作为远光灯和近光灯;(2) 当汽车正常向前行驶时,10 只灯全部熄灭;(3) 当汽车要向左或向右转弯时,相应的 3 只尾灯依次由左至右闪亮,另一侧的3 只灯不亮。(4) 紧急刹车时,6 只尾灯全部亮;(5) 有故障时候,10 个灯均闪烁;(6) 当周围灯光很暗的时候前近光灯自动点亮。(7) 可以手动控制远近光灯的转换。5. 注意事项:(1)PCB 图需要有图框、元器件的选择要选用常用的标称元件值。(2) 要求尽量控制芯片的数量;(3) 最终稿提交电子文档除了论文过程资料及论文外,还包括相关的 PCB 文件、PROTEUS 文件、单片机程序代码等;英文翻译需注明原文出处。二、毕业论文进度计划2011 年 6 月 确定论文题目,下发任务书;2011 年 7 月 查阅、整理、完善文献并撰写一篇反映课题内容的文献综述,不少于 3000 字;2011 年 8 月 检索并翻译最新英文文献;2011 年 9 月 拟定毕业设计完成计划,并完成开题报告;2011 年 10 月 拟定电路总体设计的初步方案;2011 年 11 月-12 月 进行电路原理图绘制、编写控制程序及仿真分析;2012 年 1 月-2 月 根据仿真结果,选择相应元件,搭建电路,并调试;2012 年 3 月 撰写论文,并对毕业设计论文汇编的所有资料的格式进行标准化处理;经老师修改、确认无误后,将所有资料(包括电子稿和打印稿)整理并按时上交。毕业设计(论文)时间:2011 年 6 月 20 日至 2012 年 3 月 30 日计 划 答 辩 时 间: 2011 年 4 月 日三、专业(教研室)审批意见:审批人(签字):工作任务与工作量要求:原则上查阅文献资料不少于 12 篇,其中外文资料不少于 2 篇;文献综述不少于 3000 字;文献翻译不少于 2000 字;毕业论文 1 篇不少于 8000 字,理工科类论文或设计说明书不少于 6000 字(同时提交有关图纸和附件) ,外语类专业论文不少于相当 6000 汉字。 提交相关图纸、实验报告、调研报告、译文等其它形式的成果。毕业设计(论文)撰写规范及有关要求,请查阅宁波大红鹰学院毕业设计(论文)指导手册 。备注:学生一人一题,指导教师对每一名学生下达一份毕业设计(论文)任务书 。分 类 号 密 级 宁XXXX 学院毕 业 设 计 (论 文 )基于单片机的汽车灯控制系统所 在 学 院专 业班 级姓 名学 号指 导 老 师年 月 日诚 信 承 诺我谨在此承诺:本人所写的毕业论文基于单片机的汽车灯控制系统均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。承诺人(签名): 年 月 日I摘 要本控制系统模拟汽车在驾驶中的左转弯、右转弯、刹车、闭合紧急开关、停靠等操作。在左转弯和右转弯时,通过转弯操作杆使转弯开关闭合,从而使头信号灯、仪表板转弯灯、尾信号灯闪烁;闭合紧急开关时 10 个信号灯全部闪烁;汽车刹车时,两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯继续闪烁,同时另一个尾信号灯点亮,设计出信号放大电路、A/D 和 D/A 转换电路、单片机控制电路、I/O接口电路,并给出软件编程的流程图。关键词:信号灯,单片机,控制电路,控制系统IIAbstractThe control system simulation of automotive driving the left turn, right turn, braking, emergency stop switch closed, etc.In turn left and turn right, turn the operating rod by turning the switch is closed, thereby allowing the head lights, tail lights, instrument panel turning signal lamp flashing; closed emergency switch when the 10 signal lights shining all; when a car brakes, two tail lights lit; if proper Cornering Brake, then turning the flashing lights to flicker, while another end signal lamp lighting, design a signal amplifying circuit, A / D and D / A conversion circuit, a single-chip microcomputer control circuit, I / O interface circuit, and gives the flow chart of software programming.Key Words: lamp flashing,single-chip microcomputer, control circuit,control systemIII目 录摘 要 .IAbstract .II目 录 .III第 1 章 绪论 .11.1 单片机介绍 .11.2 汽车信号灯的介绍 .31.3 课题研究意义 .4第 2 章 设计方案 .42.1 设计思路 .42.1.1 设计要求 .42.1.2 总体方案 .52.1.3 方案(控制器)的选择 .62.2 硬件选择及论证 .72.2.1 AT89C51 单片机介绍 .82.3 74LS240 芯片介绍 .122.4 硬件原理框图 .122.5 电路原理图 .13第 3 章 软件设计 .143.1 系统总体软件设计 .143.3 单片机程序 .15总 结 .20致 谢 .221第 1 章 绪论1.1 单片机介绍单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、 只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制 电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的 计算机系统。单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit) ,常用英文字母的缩写 MCU 表示单片机,它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,为使更多的业内人士、学生、爱好者,产品开发人员掌握单片机这门技术,于是产生单片机开发板,比较有名的例如电子人 DZR-01A 单片机开发板。单片机由芯片内仅有 CPU 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL 的 Z80 是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是 8 位或 4 位的。其中最成功的是 INTEL 的 8031,因为简单可靠而性能不错 获得了很大的好评。此后在 8031 上发展出了 MCS51 系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开 始出现了 16 位单片机,但因为性价比不理想并未得到很广泛的应用。90 年代后随着消费电子产品大 发展,单片机技术得到了巨大提高。随着 INTEL i960 系列特别是后来的 ARM 系列的广泛应用,32 位单片机迅速取代 16 位单片机的高端地位,并且进入主流市场。而传统的 8 位单片机的性能也得到了飞速 提高,处理能力比起 80 年代提高了数百倍。目前,高端的 32 位单片机主频已经超过 300MHz,性能直追 90 年代中期的专用处理器,而普通的型号出厂价格跌落至 1 美元,最高端的型号也只有 10 美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的 Windows 和 Linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的宁波大红鹰学院毕业设计(论文)2应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有 1-2 部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备 40 多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过 PC 机和其他计算的总和,甚至比人类的数量还要多。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了 I/O 设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件, 不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过 10 元即可用它来做一些控制电器一类不是很复杂的工作 足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD 等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用 PC)的主要区别。 单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的 CD4000系列这些纯硬件来搞定的话,电路 一定是一块大 PCB 板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上3最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的 CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十 K 的尺寸!对于家用 PC 的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用 PC 上来运行,家用 PC 的也是承受不了的。可以说,二十世纪跨越了三个 “电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称 PC 机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器) 。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子” 里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型” ,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。1.2 汽车信号灯的介绍汽车信号灯的作用是大家所熟知的,汽车通过显示不同的信号灯来告诉前后左右的行车者本汽车正在进行的操作。信号灯灯具的发展是随着汽车制造技术及电光源技术的发展而逐步完善的。它经历了机油(或煤油)灯、乙炔气灯到电光源灯的发展历程。现代汽车信号灯灯具已经开始使用发光二极管(LED)技术以及光导技术,这是信号灯灯具的一次飞跃。本设计是利用 AT89C51 单片机来实现的汽车信号灯控制系统,在系统中利用 5 个开关来模拟汽车驾驶操作,然后用 6 个灯来作为汽车信号灯;当拨动开关改变相应的状态时,单片机就会检测到相关类型的状态后,根据内部程序,来驱动相关的汽车信号灯(发光二极管)闪烁或长亮,以次达到设计的目的和要求。宁波大红鹰学院毕业设计(论文)41.3 课题研究意义通过所学知识和现代计算机技术来模拟实现汽车信号灯控制系统,把所学的理论的知识用到现实实践中去,加强了对理论知识的理解和应用,展示了计算机技术在汽车行业的应用。同时,也为人们的日常交通生活提供了便利与安全保障。第 2 章 设计方案2.1 设计思路2.1.1 设计要求设计技术要求(1) 左右两侧各有 5 只尾灯,其中 3 只作为尾灯,可用作汽车行驶状态的方向指示标志,余下 2 只分别作为远光灯和近光灯;(2) 当汽车正常向前行驶时,10 只灯全部熄灭;(3) 当汽车要向左或向右转弯时,相应的 3 只尾灯依次由左至右闪亮,另一侧的 3只灯不亮。(4) 紧急刹车时,6 只尾灯全部亮;(5) 有故障时候,10 个灯均闪烁;(6) 当周围灯光很暗的时候前近光灯自动点亮。(7) 可以手动控制远近光灯的转换。本控制系统模拟汽车在驾驶中的左转弯、右转弯、刹车、闭合紧急开关、停靠等操作。通过实验箱上分别按 K1、K2、K3、K4 键来显示汽车刹车、紧急、停靠、左转和右转等状态。5输出信号操作左指示灯右指示灯左头灯 右头灯 左尾灯 右尾灯左转弯(闭合左转弯开关)闪烁 灭 闪烁 灭 闪烁 灭右转弯(闭合右转弯开关灭 闪烁 灭 闪烁 灭 闪烁闭合紧急开关 闪烁 闪烁 闪烁 闪烁 闪烁 闪烁刹车(闭合刹车开关) 灭 灭 灭 灭 亮 亮左转弯时刹车 闪烁 灭 闪烁 灭 闪烁 亮右转弯时刹车 灭 闪烁 灭 闪烁 亮 闪烁刹车时紧急开关 闪烁 闪烁 闪烁 闪烁 亮 亮左转弯时刹车闭合紧急开关闪烁 闪烁 闪烁 闪烁 闪烁 亮右转弯时刹车闭合紧急开关闪烁 闪烁 闪烁 闪烁 亮 闪烁停靠(闭合停靠开关) 灭 灭 闪烁 闪烁 闪烁 闪烁表 1-1 各种操作对应的指示灯输出2.1.2 总体方案基于上述的设计思想,本设计采用单片机控制,在控制系统中,选择了四个开关(K1-K4) 、1 个 AT89C52 单片机、10 只发光二极管(用来模拟信号灯发光) 。其中AT89C52 单片机做为控制核心,当 4 个开关的状态发生改变后,单片机检测到开关信号后就通过软件输出相关信号,来驱动 10 个汽车信号灯根据开关的相应状态闪烁或长亮。信号灯由发光二极管模拟替代。系统的总体设计图如下: 开关量输入 信号调整 AT89C52单片机信号灯宁波大红鹰学院毕业设计(论文)6图 1-1 信号灯控制系统总体结构图2.1.3 方案(控制器)的选择方案一:采用继电器控制采用继电气控制也可以控制汽车转弯信号灯系统,但由于现在对汽车安全要求比较高,实时响应快来说,继电器控制就是显得有些不足,由于其断开吸合的状态,使得其相应具有延时性,并且继电器不断地断开吸合,使继电器的使用寿命变短,须经常更换继电器,并且断开吸合会产生噪声,严重影响汽车的性能,因此继电器不适合用来控制汽车转弯信号灯。方案二:PLC 作为控制器用 PLC 控制汽车转弯信号灯系统,由于 PLC 对开关信号的控制精确度高,控制系统可靠性高、抗干扰能力强。并且 PLC 的体积小、质量轻、功耗低,集成度非常高。但同时,PLC 的成本非常高,对于一般的汽车转弯信号灯控制系统来说无意识增加了成本,而且对只有但出门的开关量控制而无计数、定时、算术运算等运算的信号灯控制系统来说更是大材小用,浪费资源。方案三:由 555 定时器构成的控制器由于 555 定时器内部的比较器灵敏度高,输出驱动电流大,功能灵活,而且采用差分电路形式,它的振荡器受电源和温度的影响很小。方案四:单片机作为控制器单片机控制系统同样具有 PLC 的各种优点,与 PLC 的不同之处就是其集成度没有 PLC高但对于汽车转弯信号灯的控制系统来说,单片机的功能已经足够用了,而且比 PLC相比,其成本够低,不会大幅度增加汽车的成本 ,非常适合来控制汽车的转弯信号灯。综上所述,本控制系统采用单片机来作为本设计的的控制器。单片机的选择:AT89S52是51系列单片机的一个型号,它是 ATMEL 公司生产的。AT89S52 是一7个低电压,高性能 CMOS 8位单片机,片内含8k bytes 的可反复擦写的 Flash 只读程序存储器和256 bytes 的随机存取数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,功能强大的 AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52 可以按照常规方法进行编程,但不可以在线编程(S 系列的才支持在线编程 )。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。AT89S52有 PDIP、PQFP/TQFP 及 PLCC 等三种封装形式,以适应不同产品的需求。主要功能特性: 兼容 MCS51指令系统 8k 可反复擦写(1000次)Flash ROM 32个双向I/O 口 256x8bit 内部 RAM3个16位可编程定时/ 计数器中断 时钟频率0-24MHz 2个串行中断 可编程 UART 串行通道 2个外部中断源 共8个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能。本系统中要求设计汽车信号灯控制系统,在驾驶汽车时有左转弯、右转弯、刹车、合紧急开关、停靠五个操作;所以可以用五个开关来模拟这几个操作,当单片机检测到相关操作后,然后判断属于那一类操作,再通过软件来驱动控制相应的信号灯闪烁或长亮。以此来实现对汽车信号灯的控制。当合上左转弯开关后,仪表板左转弯灯、左头灯、左尾灯闪烁;当合上右转弯开关后,仪表板右转弯灯、右头灯、右尾灯闪烁。当刹车开关合上时,左右尾灯长亮;合上停靠开关后,头灯、尾灯以 30Hz 的频率闪烁;在紧急开关合上后,所有灯都闪烁。还可以同时合上转弯开关和刹车开关,合上刹车开关和紧急开关,以及合上转弯开关、刹车开关和紧急开关。都可以驱动对应的汽车信号灯闪烁或长亮。2.2 硬件选择及论证基于上述的设计思想以及所学单片机知识,并且设计环境。所以我们在设计时,选择了五个开关、AT89C51 单片机、74LS240 芯片以及 6 只发光二极管。其中 AT89C51 做宁波大红鹰学院毕业设计(论文)8为控制核心,当 5 个开关的状态发生改变后,单片机检测到开关信号后就通过软件输出相关信号,在经过 74LS240 芯片来驱动 6 个汽车信号灯根据开关的相应状态闪烁或长亮。2.2.1 AT89C51 单片机介绍AT89C51 是 ATMEL 公司生产的低电压,高性能的 CMOS 8 位单片机,片内含 4K bytes 的可反复擦写和只读程序存储器(PEROM)和 128 bytes 的随机存取数据存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器和 FLASH 存储单元。其引脚图如图 2-1 所示。 内部结构图如图2-2 所示。其主要性能参数为: 与 MCS-51 产品指令系统完全兼容 4k 字节可重擦写 Flash 闪速存储器 1000 次擦写周期 全静态操作:0Hz-24MHz 三级加密程序存储器 128 X 8 字节内部 RAM 32 个可编程 I/O 口线 2 个 16 位定时/计数器 6 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式9图 2-1 AT89C51 引脚图AT89C51 提供以下标准功能:4K 字节 Flash 闪速存储器,128 字节内部 RAM,32 个I/O 口线 ,两个 16 位定时/计数器,一个 5 向量两级中断结构 ,一个全双工串行通信口,片内振荡器及时钟电路.同时,AT89C51 可隆至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式.空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作.掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一硬件复位。引脚功能说明: Vcc:电源电压 GND:地 P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口 ,也即地址/ 数据总路线复用口.作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写”1”可作为高阻抗输入端用。宁波大红鹰学院毕业设计(论文)10在访问外部数据存储器或程序存储器时,这组口线从那时起转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。图 2-2 AT89C51 内部结构图在 Flash 编程时,P0 口接收指令字节 ,而在程序校验时 ,输出指令字节,校验时,要求外接电阻。 P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路.对端口写”1”,通过内部的上拉电阻把端口拉到高电平,些时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash 编程和程序校验期间,P1 接收低 8 位地址。 P2 口:P2 是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路.对端口写”1”,通过内部的上拉电阻把端口拉到高电平,些时可作输入口.作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX DPTR指令) 时 ,P2 口送出高 8 位地址数据.在访问 8 位地址的外部数据存储器 (如执行 MOVX RI 指令 )时 ,P2 口线上的内容 (也即特殊功能寄存器 (SFR)区中 R2 寄存器的内容),在整个访问期间不改变。中断控制片内Flash存储器片内RAMETC定时器1定时器0CPU振荡器 总线控制I/O 接口 串行接口P0 P2 P1 P3外部中断TXD RXD计数器输出11Flash 编程或校验时,P2 亦接收高位地址和其它控制信号。 P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路.对端口写”1”,通过内部的上拉电阻把端口拉到高电平,些时可作输入口.作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能 ,如下表所示:I/O 口线 专用功能P3.0 RxD(串行数据接收)P3.1 TxD(串行数据发送)P3.2 _INT0(外部中断 0 请求输入)P3.3 _INT1(外部中断 1 请求输入)P3.4 T0(定时器 0 外部计数脉冲输入)P3.5 T1(定时器 1 外部计数脉冲输入)P3.6 _WR(外部数据存储器写信号)P3.7 _RD(外部数据存储器读信号)P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号 . RST:复位输入 .当振荡器工作时 ,RST 引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存许)输出脉冲用于锁存地址的低 8 位字节.即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因些它可对外输出时钟或用于定时目的 .要注意的是: 每当访问外部数据存储器时将跳过一个 ALE 脉冲。_对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG).如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止ALE 操作.该位置位后 ,只有一条 MOVX 和 MOVC 指令 ALE 才会被除数激活.此外,该引宁波大红鹰学院毕业设计(论文)12脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲.在此期间,当访问外部数据存储器,这两次有效的 PSEN 信号不出现. EA/VPP:外部访问允许 .欲使 CPU 仅访问外部程序存储器(地址为0000H-FFFFH),EA 端必须保持低电平 (接地).需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态.如 EA 端为高电平( 接 Vcc 端),CPU 则妊内部程序存储器中的指令.Flash 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。2.3 74LS240 芯片介绍74LS240 是八反相缓冲器/线驱动器芯片,这种八缓冲器和线驱动器是为提高三态输出存储地址驱动器、时钟驱动器和总线定向接收器和发射器的性能和集成度而特意设计的,设计者可按需要将原码、反码输出、对称 G 非 (有效低电平输出控制)输入和互补输入 G 和 G 非 组合使用。此电路的特点是,扇出高、扇入好、噪声容限高(400mV) 。可用来驱动小到 133 的终端负载线。其引脚图入图 2-3 所示。图 2-3 74LS240 引脚图2.4 硬件原理框图在本系统中要求制作出汽车信号灯微机控制系统,控制的信号灯有仪表板左、右转13弯灯,左、右头灯和左、右尾灯共六类灯,在不同操作控制下可驱动对应的灯闪烁或长亮。在系统中,利用开关在状态的变化来模拟汽车驾驶操作。单片机检测到相应的开关状态类别,产生与此状态相符合的控制信号,使信号灯闪烁或长亮。由于本设计在 DVCCdv52196 实验箱上模拟的实现,其本身很多电路无法改变,所以其硬件框图如图 2-4 所示。AT89C51单片机信号灯开关控制左转右转信号紧急或停靠信号74LS240 芯片驱动图 2-4 系统硬件框图根据图 2-4 可知,可以合上开关来改变状态,即合上相应的开关后,就代表一种汽车驾驶操作。然后单片机检测到相应状态,然后判断属于那一类别,再利用软件来产生相应控制信号,经 74LS240 后来驱动汽车信号灯(发光二极管)在闪烁或长亮。2.5 电路原理图本设计是在 DVCCdv52196 实验箱平台上设计的,所以根据设计环境和图 2-4 的系统框图,可得本系统的电路原理图如图 2-5 所示。宁波大红鹰学院毕业设计(论文)14图 2-5 汽车信号灯控制系统原理图由图 2-5 中可得本设计的连线为:5 个开关 K1K5 分别接到单片机的 P3.1P3.5口,然后发光二极管 L1L6 分别连接到单片机的 P1.0P1.5 口。其余不再需要任何连线,因为在 DVCCdv52196 实验箱内已经连接好,可以直接使用。这样很大程度简化了连线的步骤,使设计方便快捷。工作原理说明:由于在本设计在 DVCCdv52196 实验箱平台上,利用 PC 机资源和DVCCdv52196 实验箱上的资源,其内部很多芯片之间的连接都已经接好,所以很方便的实现设计要求。由汽车信号灯控制系统原理图 2-4 中可以看出,本系统中 AT89C51 为控制核心,其中 P3.0P3.4 做为输入口, P1.0P1.5 为输出口。当相应开关合上的的时候,开关状态将发生变化,从而产生输入信号;在单片机读入开关状态后,通过软件来判断属于那一类信号,并实现汽车信号灯的控制,然后输出到 P1.0P1.5 口,经过 74LS240后来驱动汽车信号灯(发光二极管)做出相应的闪烁或长亮;比如当 K1 左转弯开关拨动的时候,单片机就驱动汽车信号灯 L1、L3 闪烁,当合上开关 K2 的时候,L2 、L4亮。当 K1K2 同时合上的时候,所有灯都熄灭;当再拔动其他开关的时候也随即产生与之相对应的信号驱动汽车信号灯闪烁或长亮。15第 3 章 软件设计3.1 系统总体软件设计3.1.1 软件设计思想软件部分与硬件部分一起构成一个完整的系统,对整个系统来说起着重要的作用。在本设计中使用了散传程序的设计方法,它根据系统的某种运算结果,分别转向各个处理程序。该方法利用 JMP A+DPTR,根据运算结果,确定 A 和 DPTR 的内容,从而实现转移。用该方法 设计的程序结构简单、转移表短,但转移表大小加上各个程序长度必须小于 256 字节。 3.1.2 程序流程图根据软件的设计思想,可画出本系统程序流程图如图 3-1 所示。程序入口P3.0,P3.1,P3.2,P3.3,P3.4 置“1”读入开关 K1,K2,K3,K4,K5状态判断开关状态K1/K2=1,其余开关为0,驱动L1/L2和 L3/4闪烁K3=1,其余开关为 0,所有灯闪烁K4=1,其余开关为0,L5和 L6亮K1=K2=K4=1,其余为0,L1、L2、L3、L4 闪烁,其余灯亮K4=K5=1 其余为0,L1、L2、L3、L4 闪烁,其余灯亮K1=K2=1,K3=1,其余为0,L5、 L6亮,其余灯闪烁K5=1,其余为0,L5L6 以 30HZ 频率闪烁图 3-1 系统程序流程图宁波大红鹰学院毕业设计(论文)163.3 单片机程序ORG 0000HLJMP MAINORG 0030HMAIN: MOV A,#0FFH ;P1 口置1,为输入做准备MOV P1,AMOV A,P1CPL AANL A,#0FFH ;读如开关状态MOV DPTR,#TABLERL A ;累加器乘 2JMP A+DPTRTABLE: AJMP DISP0 ;同时打开AJMP DISP1 ;K1 合上,K2 打开AJMP DISP2 ;K2 合上 K1 打开AJMP DISP3 ;K1K2 同时合上AJMP DISP4 ;K3 合上AJMP DISP5 ;K1,K3 和尚AJMP DISP6 ;k2k3 合上AJMP DISP7 ;K1K2K3 合上AJMP DISP8 ; K4 合上AJMP DISP9 ;K1K4 合上AJMP DISP10 ;K2K4 合上AJMP DISP11 ;K1,K2,K4 合上AJMP DISP12 ;k3,k4 合上AJMP DISP13 ;K1,K3,K4 合上AJMP DISP14 ;k2,k3,k4 合上AJMP DISP15 ;k1,k2,k3,k4 闭合DISP0: MOV P0,#0FFH ;所有开关同时打开,所有灯都熄灭LJMP MAIN17DISP1: MOV P0,#11101010B ;K1 合上,其余打开,L1L3L5 亮,表示左边转弯LJMP LOOPDISP2: MOV P0,#11010101B ;k2 合上,其余打开,表示右边转弯LJMP LOOP ;调用延时程序DISP3: LJMP DISP0 ;K1K2 同时合上,所有灯熄灭DISP4: MOV P0,#11000000B ;K3 合上,紧急闭合,所有灯闪烁LJMP LOOPDISP5: LJMP DISP0 ;所有灯熄灭DISP6: LJMP DISP0 ;所有灯熄灭DISP7: LJMP DISP0 ;所有灯熄灭DISP8: MOV P0,#11001111B ;K4 合上,刹车,L5L6 亮CLR P0.4CLR P0.5LJMP MAINDISP9: MOV P0,#11001010B CLR P0.5 ;L6 长亮LCALL LOOP1 ;调用延时程序DISP10: MOV P0,#11000101BCLR P0.4 ;L5 长亮LCALL LOOP2DISP11: LJMP DISP0 ;所有灯熄灭DISP12: MOV P0,#11000000BCLR P0.4 ;L5 长亮CLR P0.5 ;L6 长亮LCALL LOOP3DISP13: MOV P0,#11000000BCLR P0.5 ;L6 长亮LCALL LOOP1 ;调用延时程序DISP14: MOV P0,#11000000BCLR P0.4 ;L5 长亮LCALL LOOP2宁波大红鹰学院毕业设计(论文)18DISP15: MOV P0,#11001100B ;L1、L2 、L5、L6 闪烁LJMP LOOPLOOP: LCALL DELAY ;延时 500mSMOV P0,#0FFH LCALL DELAY ;延时 500mSLJMP MAIN LOOP1: LCALL DELAY ;延时 500mSMOV P0,#0FFH CLR P0.5 LCALL DELAY ;延时 500mSLJMP MAIN LOOP2: LCALL DELAY ;延时 500mSMOV P0,#0FFHCLR P0.4 LCALL DELAY ;延时 500mSLJMP MAIN LOOP3: LCALL DELAY ;延时 500mSMOV P0,#0FFHCLR P0.4CLR P0.5 LCALL DELAY ;延时 500mSLJMP MAIN DELAY: MOV R5,#10 ;延时子程序DEL0: MOV R6,#255DEL1: MOV R7,#98DEL2: DJNZ R7,DEL2DJNZ R6,DEL1DJNZ R5,DEL0RETEND 通过设计和编写程序代码,运行程序后,其结果为当拨动相应的开关后,其对应的19汽车信号指示灯状态将发生变化,闪烁或长亮,直到下一个动作为止.调试结果驾驶信号操作左转弯灯L1右转弯灯L2左头灯L3右头灯L4左尾灯L5右尾灯L6合上左转开关闪烁 闪烁 闪烁 合上右转开关 闪烁 闪烁 闪烁合紧急开关 闪烁 闪烁 闪烁 闪烁 闪烁 闪烁合上刹车开关 亮 亮左转弯时刹车闪烁 闪烁 闪烁 亮右转弯时刹车 闪烁 闪烁 亮 闪烁刹车、并合紧急开关闪烁 闪烁 闪烁 闪烁 亮 亮左转弯/刹车/合紧急开关闪烁 闪烁 闪烁 闪烁 闪烁 亮右转弯/刹车/合紧急开关闪烁 闪烁 闪烁 闪烁 亮 闪烁停靠开关 30Hz闪烁30Hz闪烁30Hz闪烁30Hz闪烁宁波大红鹰学院毕业设计(论文)20总 结最终完成汽车信号灯控制系统的设计;在设计中综合运用所学的知识,理论与实际相结合,提出并论证设计方案,然后进行软、硬件调试,最后获得正确的结果。以此加深了对所学理论知识的巩固,加强了建立计算机应用系统整体概念,初步掌握了单片机软、硬件开发方法,为以后进行实际的单片机软、硬件应用开发奠定了良好的基础。与此同时,也加强了我们对问题的分析解决能力,为以后的毕业设计做了充分的准备。在本次设计中受到指导老师的耐心指导,使我们进一步学习到了对问题的分析及解决方法的能力;在此一并表示衷心的感谢!虽然此次毕业设计不是很繁琐,但是对于系统的设计、系统的实现、系统的安全等问题的处理都是需要以扎实的专业知识为基础的,所以由设计开始就是一个不断学习、不断改进和不断求教的过程。在这段过程中我们下载了许多有关文献同时也到图书馆翻阅了许多相关资料,对于设计进度也是先安排学习后进行设计的,当然在设计过程中也是不断学习的,这些所学到的知识是很珍贵的。在设计中一些技术上的问题让我们很头痛,例如该采用哪种模块,如何让系统尽量变的简单,因为我们大家都知道,系统越简单越稳定,这就让我们想到尽量选择最优方案,虽说这次设计有点简单,但是我们相信它会让我在未来的工作学习中表现出21更高的应变能力,更强的沟通力和理解力。今后我们会更加努力的学习,完成更多更先进的设计。参考文献1 贾金玲等单片机原理及应用成都:电子科技大学出版社,20042 胡汉才单片机原理及其接口技术北京:清华大学出版社,20043 阎石.数字电子技术基础北京:高等教育出版社,2006.4 康华光. 电子技术基础模拟部分北京:高等教育出版社,2008.5 冯博琴,吴宁 .微型计算机原理与接口技术北京:清华大学出版社,2007.6 朱玉玺,崔如春,邝小磊.计算机控制技术北京:电子工业出版社,2010.7 夏路易,石宗义.电路原理图与电路板设计教程 protel 99se北京:北京希望电子出版社,2002.8 常晓玲. 电气控制系统与可编程控制器北京:机械工业出版社,2008.9 高金源. 计算机控制系统北京:北京航空航天大学出版社,2001.10 熊静琪. 计算机控制技术北京:电子工业出版社,2003.宁波大红鹰学院毕业设计(论文)22致 谢本论文是在*教授的悉心指导之下完成的。四年来,*老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,朴实无华、平易近人的人格魅力对我影响深远。不仅授我以文,而且教我做人,虽历时四载,却赋予我终生受益无穷之道。本论文从选题到完成,几易其稿,每一步都是在*老师的指导下完成的,倾注了*老师大量的心血,在此我向*老师表示深切的谢意与祝福! 本论文的完成也离不开其他各位老师、同学和朋友的关心与帮助。在此也要感谢彭菊玲等各位老师在论文开题、初稿、预答辩期间所提出的宝贵意见,感谢*教务组为本论文提供的数据和建议,在研究过程中给我以许多鼓励和帮助。回想整个论文的写作过程,虽有不易,却让我除却浮躁,经历了思考和启示,也更加深切地体会了学科的精髓和意义,因此倍感珍惜。 四年的大学生活给予了我许多珍贵的财富,教会了我许多难能的品质。求学生涯暂告段落,但求知的道路却永无停滞。23
收藏