《单片机原理与应用》
课程大作业
项目名称: 汽车灯光控制系统 专业班级: 智能监控121 学 号: ********* * *: ***
连云港职业技术学院信息工程学院
2013 年 10 月 27 日
摘要
随着单片机的日益发展,其应用也越来越广泛,通过对“汽车灯光控制系统”设计,可以对单片机的知识得到巩固。本设计是设计一个单片机控制系统。在汽车进行左右转向灯、前主灯、倒车灯、故障灯时,实现对各种信号指示灯的控制。本设计主要是对单片机的并行输入、输出口电路的应用,通过对I/O口控制发光二极管的亮、灭、闪烁,加上一些复位电路、按键电路、驱动电路来模拟汽车尾灯的功能。 关键词 单片机;汽车信号灯;电路基础;
2
绪论
车灯是行车安全的必备件,除了具有照明作用,对行人和其他车辆还具有转向、会车、刹车等警示作用。其中汽车转向灯的控制就是一例。汽车转向和报警信号灯是汽车运动方向和车身状态的表示信号,关系着汽车的安全问题,因此基于单片机的汽车转向灯控制器的一直以来都是汽车电子设计中的一个十分重要的领域 。
此次基于单片机的汽车转向灯的设计中,复位电路的设计、LED发光二极管的应用、4个按键开关、键盘扫描来控制LED灯点亮的方式都基本符合课程设计的要求。其中复位电路的作用是当单片机死机的情况下用来复位重启单片机,软件部分主要是用键盘扫描的方式来与程序中的设定值比较如果一致就执行该段子程序来实现LED的点亮方式。
汽车上的信号灯有:转向灯(左前灯、右前灯、仪表盘上的二个指示灯)。当汽车转弯、倒车、停靠时,转向灯发出不同的信号。目前国内广泛使用电热式闪光器产生闪光信号。闪烁频率在 50~110 次/ min,但是一般控制在 60~95 次min 之间。闪光器是通过调节镍铬丝的拉力和触点的间隙来满足频率要求的,灯泡功率的大小也会影响闪烁频率。因此在更换闪光器或灯泡时调整比较困难。同时,系统没有故检测,驾驶员无法知道车外的转向灯及示宽灯是否点亮,从而影响行车安全。到目前为止,我们还没有发现能检测灯丝断这种故障的有效方法。针对上述问题,我们用AT89C51单片机设计了一套汽车信号灯控制系统。用LED产生闪光信号,同时能自动检测信号灯故障。信号灯灯具的发展是随着汽车制造技术及电光源技术的发展而逐步完善的。它经历了机油(或煤油)灯、乙炔气灯到电光源灯的发展历程。现代汽车信号灯灯具已经开始使用发光二极管(LED)技术以及光导技术,这是信号灯灯具的一次飞跃。
3
目录
摘要 ....................................................................................................................................................... 2 绪论 ....................................................................................................................................................... 3 目录 ....................................................................................................................................................... I 第一章:项目要求 ............................................................................................................................... 1
1.1 AT89C51简介和结构框图 .................................................................................................... 1 1.2寻址方式 ................................................................................................................................ 1 1.3管脚说明 ................................................................................................................................ 3 第二章 项目设计前的分析 ............................................................................................................... 5
2.1设计目标 ................................................................................................................................ 5 2.2 汽车转向灯的几种状态分析 ............................................................................................... 5 第三章 项目设计步骤 ....................................................................................................................... 6
3.1 设计程序框图 ....................................................................................................................... 6 3.2 实验器材 ............................................................................................................................... 6 3,3 设计电路的思路 ................................................................................................................... 6 3.4 汽车灯光控制系统程序清单 ............................................................................................... 7 四、项目结果及分析 ........................................................................................................................... 9 五、总结 ............................................................................................................................................. 10 参考文献 ............................................................................................................................................. 11
I
第一章:项目要求
1.1 AT89C51简介和结构框图
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图1-1所示
图1-1单片机AT89C51外形及引脚排列图
1.2寻址方式
寻址方式就是指指令中给出寻找操作数或操作数所在地址的方法,执行任何指令都需要操作数。
1)立即寻址
MOV DPTR,#1234H; 立即寻址是指在指令中直接给出操作数,出现在指令中的操作数称
1
为立即数,因此被称为立即寻址。
2)直接寻址
MOV A,3AH; 直接寻址是指在指令中直接给出操作数单元地址。功能是将片内RAM的3AH单元内的数据传送内累加器A。
直接寻址方式只能给出8位地址,因此这种寻址方式的寻址范围只限于片内RAM。具体:a.低128单元,在指令中直接以单元地址的形式给出;b.特殊功能寄存器,即可以以单元地址形式也可以以寄存器符号形式给出。直接寻址是访问SFR寄存器的唯一方法。
3)寄存器寻址
INC R0; 寄存器寻址是指指令中将指定的寄存器的内容作为操作数。该语句实现R0寄存器的自加一操作。
寄存器寻址范围: a.四个寄存器组共32个通用寄存器; b.部分特殊功能寄存器,A、AB、DPTR。
4)寄存器间接寻址
ANL A,@R1; 是指在指令中给出的寄存器内容是操作数的地址,从该地址取出的才是操作数。@前缀是区分寄存器寻址和间接寻址的标志。
寻址范围:
a.片内ram低128单元,只能采用R0或R1为间接寻址寄存器; b.片外的64K ram单元,使用DPTR作为间接寻址寄存器;
c.片外RAM低256单元,除了用DPTR外还可以用R0或R1为间址寄存器,例如MOVX A,@R0 d.堆栈区,堆栈操作指令(PUSH和POP) 5)相对寻址
是指在指令中给出的操作数为程序转移的偏移量。如JC 80H; 6)变址寻址
是指以DPTR或PC为基址寄存器,累加器A作为变址寄存器,以两者的内容相加,形成16为的程序存储地址作为操作数地址。
如:MOVC A,@A+DPTR; 变址寻址只能对程序存储器寻址 7)位寻址
单片机有位操作功能,位寻址的范围包括:
a)片内ram中的位寻址区。有20H-2FH,共16个单元128位,可以直接使用位地址0H~7FH b)可位寻址的SFR。共有11个可位寻址SFR,实际有83个位可位寻址。
2
1.3管脚说明
VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写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的一些特殊功能口,如下表所示: 口管脚 备选功能 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(外部数据存储器写选通)
3
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:来自反向振荡器的输出。 振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
4
第二章 项目设计前的分析
2.1设计目标
1、发光二极管常亮 2、发光二极管一闪一亮
3、发光二极管一闪一亮(可延时)
4、通过开关控制发光二极管一闪一亮(可延时)
5、通过开关控制发光二极管一闪一亮(可延时),当出现故障时能报警
2.2 汽车转向灯的几种状态分析
汽车灯主要包括左右转向灯、前主灯、倒车灯、故障灯。其中汽车转向灯包括左转向灯和右转向灯。
其状态如表2-1汽车灯操作表所示
表2-1汽车灯操作表
驾驶员指令 未发出指令 左转指令 右转指令 打开主灯 打开倒车灯 左右同时打开 灭 闪烁 灭 灭 亮 灭 转向灯 左转向灯 右转向灯 灭 灭 闪烁 灭 亮 灭 前主灯 灭 灭 灭 亮 灭 灭 倒车灯 灭 灭 灭 灭 灭 灭 故障灯 灭 灭 灭 灭 灭 亮
5
第三章 项目设计步骤
3.1 设计程序框图
图3-1程序框图
3.2 实验器材
AT89C51单片机开发设备一套 导线若干
3,3 设计电路的思路
1、输入端是接口P1.0~P1.4,输出端是发光二极管L1~L4。开关是K1~K4,分别连接P1.3 P1.5 P1.7 P1.6。
6
2、设置P1.0连接由开关K3控制的L1,拨动开关K1时左转向灯闪烁。P1.1连接由开关K4控制的L2,拨动开关K4时右转向灯闪烁。P1.2连接由开关K2控制的L3,拨动开关K2时前主灯点亮。当拨动开关K1时,此时L1 L2同时点亮为倒车灯。P1.4连接L4,L4为故障灯,当同时拨动开关K3 K4时,此时故障灯L4点亮。
3.4 汽车灯光控制系统程序清单
ORG 0000H
MOV P1,#0FFH A3: SETB P1.4 SETB P1.1 SETB P1.0 SETB P1.2 MOV C,P1.5 JNB P1.5,A4 CLR P1.2 AJMP A4 A4: JNB P1.3,A1 CLR P1.1 CLR P1.0 AJMP A3 A1: SETB P1.4 MOV C,P1.7 JB P1.7,START MOV C,P1.6 JB P1.6,START1 AJMP A3 START:CLR P1.1 LCALL DELAY SETB P1.1
7
LCALL DELAY AJMP A3 A2: CLR P1.4 LCALL DELAY AJMP A3 START:JB P1.6,A2 CLR P1.0 LCALL DELAY SETB P1.0 LCALL DELAY AJMP A3 DELAY:MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END
8
四、项目结果及分析
1、测试转向灯
拨动左边开关,左转向灯闪烁,其余灯均无影响。拨动右转向灯时,右转向灯闪烁,其余灯均无影响。同时拨动拨动左右转向灯开关时,左右转向灯不闪烁。此时出现故障,则故障灯点亮。
2、测试倒车灯
拨动控制倒车灯的开关时,倒车灯点亮。其余灯均无影响。 3、测试前主灯
拨动控制前车灯的开关时,倒车灯点亮。其余灯均无影响。
9
五、总结
通过这次课程设计我们对于单片机应用有了更深的了解,单片机应用技术发展迅速,有着广阔的应用前景,涉及面广,内容丰富,它用软件的方法设计硬件;用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;在设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小,功率低,可靠性高。其技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方法,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑综合及优化,逻辑布局布线,逻辑仿真,直至特定目标芯片的适配便宜,逻辑映射,编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。
此次电子课程设计不但提高了我们实践的能力和理论水平,而且对于我们认识掌握各种操作技巧具有重大意义,使我们的综合素质得到了很大的提高!
在我们的日常生活中有很多与单片机电子电路相关的,很普通很简单的设备,比如说:电子计算机、饮水机、可调亮度的台灯、电子手表等等。这些简单的设备,都有一个不简单的设计。在以后的生活中我们应该留心这些设备,多学习,多思考才能让自己更加理解理论知识,强化理论知识,才能逐渐提高自己的设计能力。
10
参考文献
[1] http:www.Baidu.com,2013. [2] http://www.51mcu.org/,2013.
[3] 董晓红,邓朴军. 单片机原理及接口技术.西安:西安电子科技大学出版社,2013. [1]李广弟,朱月秀,王秀山.单片机基础[M].北京:航空航天大学出版社,2000.147~156
`
11
因篇幅问题不能全部显示,请点此查看更多更全内容