单片机课程设计汽车转向灯文档格式.docx
《单片机课程设计汽车转向灯文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计汽车转向灯文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
本设计主要是对单片机的并行输入/输出口电路的应用,通过I/O口控制发光二极管的亮﹑灭﹑闪烁,加上一些串口电路﹑按键电路﹑驱动电路来模拟汽车尾灯的功能并在PC机上显示此时的汽车行进状态。
汽车在驾驶时有左转弯、右转弯、刹车、合紧急开关、停靠等操作。
在左转弯或右转弯时,通过转弯操作杆应使左转开关或右转开关合上,从而使左头灯、仪表板左转弯灯、左尾灯或右头灯、仪表板右转弯灯、右尾灯闪烁;
合紧急开关时要求前面所述的6个信号灯全部闪烁;
汽车刹车时,两个尾灯点亮;
如正当转弯时刹车,则转弯时原应闪烁的信号灯仍应闪烁。
以上闪烁,都是频率为1Hz的低频闪烁;
在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为30Hz的高频闪烁。
通过做实物,编写程序,完成了设计的要求。
通过该设计,对单片机的认识有了更进一步的了解,对单片机的各个口的功能作用了解加深,对Protel,Proteus的应用更加熟练,对设计系统有了了解,掌握了一些设计方法,受益不少。
关键词单片机;
汽车信号转弯灯;
电路基础;
数字电子
1绪论
1.1选题背景
电子技术的发展经历了很长一段路程.而现在我们使用的微型电子技算机是超大规模集成电路所构成,它属于第四代计算机,而单片机则是微型计算机的一部分。
从1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展:
一个是向高速度、大容量、高性能的高档微机方向发展;
另一个则是向稳定可靠、体积小和价格廉的单片机方向发展。
由于科学技术的发展,由模拟电路或数字电路实现的大部分控制功能,现在能够使用单片机通过软件编程方法实现了。
单片机的应用改变着控制系统设计方法。
软件取代硬件可以提高系统性能的控制“软化”技术——微控制技术,是一个全新的概念。
在生活的环境中,自动控制要求中都会有单片机的控制的一部分;
从简单到复杂,凡是能想像到的地方几乎都有使用单片机的需求。
单片机的应用有利于产品的小型化、多功能化和智能化,能够提高劳动效率、减轻劳动强度,提升产品质量,改善劳动环境。
例如,在工业自动化方面:
自动化能使工业系统处于最佳状态、提高经济效益和改善产品质量。
自动化控制原理有应用于电子、电力、石油、化工、纺织、食品等轻重工业领域中,无论数据采集和测控技术,还是生产线上的机器人技术,都有单片机的参与。
有时,在仪器仪表、信息和通信等产品方面,它在其中发挥着重大作用。
现在,虽然单片机的应用很普遍了,但仍有许多项目尚未实现,所以单片机的应用有很大的发展空间。
1.2研究意义
单片机在电子科技中发展前景很好,成为电子发展重要组成部分,学习单片机时要理论与实践同步进行,以理论指导实践,实践验证理论,才更有效率。
理论部分我们花了大量的时间,只有少量的时间进行制做实物,编程方面,调试在软件上进行的,软件上能编译成功的程序,下载硬件上可能不会成功的。
我们在网站上大量收集与课题相关的资料,了解目前与课题相关的科技发展趋势,确定自己的研究方案。
还要自己动手制作实物、编写程序并对实物下载程序进行硬件的调试,达到预期所需的控制要求和目的,使理论和实践完满的统一。
因此还锻炼了我们的制作能力,提升了综合素质。
1.3研究方法
本次单片机的控制系统以AT89S51为控制器;
键盘为输入信号,由于AT89S51本身的功能强大,汽车转弯灯的驱动用单片机的驱动功能来完成。
使得单片机的功能得到了充分的运用;
并且显示电路从并行I/O口输出,经达林顿管放大信号,由限流电阻和发光二极管组成,低电平使发光二极管导通,显示出相应的转弯信号;
为提升了系统的可靠性。
进行仿真后,能清晰的看到在控制输入信号的状态下,相应的信号灯发出转弯的指示信号。
本次设计对汽车转弯灯单片机控制系统地分析与设计,对单片机控制系统进行了仿真调试,达到了课程设计预期目的。
2汽车转弯灯单片机控制系统工作原理
2.1汽车转弯灯工作原理
由定时器/计数器与中断系统的联合组成控制系统的工作原理。
如汽车上有一个转弯控制杆,其中有三个位置:
中间位置,汽车不转弯;
向上,汽车左转;
向下汽车右转。
转弯时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号。
应急开关合上时,6个信号灯都应闪烁。
汽车刹车时,2个尾灯发出不闪烁信号。
如正当转弯时刹车,转弯时原应闪烁的信号仍应闪烁。
它们都是频率为1Hz低频闪烁,在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为30Hz的高频闪烁。
由上所述,各种情况作操作时,信号灯应输出信号列于表2.1。
表2.1汽车驾驶操纵与信号
驾驶操作
输出信号
仪表板左转弯灯
仪表板右转弯灯
左头灯
右头灯
左尾灯
右尾灯
左转弯(合上左转开关)
闪烁
——
右转弯(合上右转开关)
合紧急开关
刹车(合上刹车开关)
亮
左转弯时刹车
右转弯时刹车
刹车,并合紧急开关
左转弯时刹车,并合紧急开关
右转弯时刹车,并合紧急开关
停靠(合停靠开关)
30Hz
2.2单片机系统的工作原理及设计
2.2.1开关状态检测
开关状态检测,对AT89S51来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示,采用JNBP1.X,REL指令来完成;
也可以一次性检测五路开关状态,让它指示,可以用MOVA,P2指令一次把P2端口的状态全部读入,取低6位的状态来指示。
2.2.2输出控制
以发光二极管D1—D8来指示,此设计用SETBP1.X和CLRP1.X指令来完成,也可以用指令MOVP1,#111XXXXXB方法来实现。
2.2.3定时器和计数器
根据任务设计要求:
会用到定时器。
信号的控制是定时器与中断系统的联合使用得以实现。
单片机的控制系统应用中,定时器是必需的,在汽车转弯灯的控制中也是必不可少。
定时有三种选择方法。
(1)软件的定时
它是靠执行一个循环程序以进行时间的延迟。
软件定时的优点是时间精确,且不需外加硬件电路。
但它要增加CPU开销,因此软件定时的时间不能太长。
此外,软件定时方法有时候无法使用。
(2)硬件的定时
时间较长的定时,常使用硬件电路完成。
硬件定时方法的优点是定时功能全部由硬件电路完成,不需要占CPU的时间。
用元件参数来调节定时时间,这方面使用上不够灵活方便。
(3)可编程定时器的定时
它是通过对系统时钟脉冲的计数来实现的。
计数值由程序设定,改变计数值,同时也改变了定时时间,用起来既灵活且方便。
此外,采用计数方法实现定时,可编程定时器都兼有计数功能,能对外来脉冲进行计数。
在AT89S51内部除了有并行和串行I/O接口外,在单片机内部共有2个可编程的定时器和计数器,称定时器/计数器0和定时器/计数器1,这两个计数器由TH0,TL0,TH1,TL1两个8位的RAM单元组成,即每个计数器都是16位的计数器,最大的计数量时65536。
定时器/计数器计数功能和定时功能:
(1)计数器功能
记数是指对外部事件进行计数。
它的发生以输入脉冲表示,计数功能的实质就是对外来的脉冲进行计数。
AT89S51芯片有T0(P3.4)和T1(P3.5)两个信号引脚,是这两个计数器的计数输入端。
外部输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。
AT89S51在每个机器周期的S5P2拍节对外部计数脉冲进行采样。
前一个机器周期采用为高电平,后一个机器周期采样为低电平,是一个有效的计数脉冲。
在下一机器周期的S3P1进行计数。
采样计数脉冲是在2个机器周期进行的。
计数脉冲频率不能高于振荡脉冲频率的1/24。
(2)定时器功能
实际也是通过计数器来实现的,但此时的计数脉冲来自单片机的内部,也每个机器周期计数器加1。
一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。
单片机采用12MHz晶体,计数频率为1MHz。
每微妙计数器加1。
根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。
它是一个二进制的加1计数器。
在计数器计满回零时能自动产生溢出中断请求。
则已经完成。
T1、T2的最大计数值65536-1,需65535个脉冲才能把它们从全“0”状态变为全“1”状态。
输一个脉冲,计数器加1,当加到计数器各位全为1时,再去输一个脉冲,计数器各位就变为全0,发出溢出信号,使标志置1,此时向CPU申请中断。
具体结构如图2.1所示:
图2.1定时器/记数器的结构
2.2.4定时初始化
定时主要与编程有关。
编程对定时器控制寄存器(TCON)、工作方式控制寄存器(TMOD)和中断允许控制寄存器(IE)进行操作。
(1)定时器控制寄存器(TCON)
TCON寄存器既参与中断控制又参与定时控制。
其中有关定时的控制位共有4位:
TF0和TF1----记数溢出标志位
TR0和TR1----定时器运行控制位
TR0(TR1)=0----停止定时器/计数器工作
TR0(TR1)=1----启动定时器/计数器工作
该位根据需要以软件方法使其置“1”或清“0”。
(2)中断允许控制寄存器
IE寄存器中与定时器/计数器有关的位置介绍:
EA----中断允许总控制位
ET0和ET1----定时/计数中断允许控制位
ET0(ET1)=0禁止定时/记数中断
ET0(ET1)=1允许定时/记数中断
利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现灯闪烁的延时和故障检测。
(3)工作方式控制寄存器(TMOD)
TMOD寄存器专用寄存器,设定两个定时器/计数器的工作方式。
它的低半字节定义定时器/计数器0,高半字节定义定时器/计数器1。
各位定义如表2.2所示:
表2.2TMOD各位定义
位序
B7
B6
B5
B4
B3
B2
B1
B0
位符号
GATE
C/
M1
M0
其中:
GATE----门控位
GATE=0以运行控制位TR启动定时器
GATE=1以外中断请求信号(INT1或INT0)启动定时器
C/
----定时方式或计数方式选择位
=0定时工作方式
=1计数工作方式
M1M0----工作方式选择位
M1M0=00方式0
M1M0=01方式1
M1M0=10方式2
M1M0=11方式3
初值计算:
(1)设为工作方式0,定时时间为30ms,使灯延时闪烁。
若使用定时器T0,方式1,30ms定时,fosc=12MHz。
则初值X满足(216-X)×
1=30000
X=35536→10000→8AD0H
(2设计中利用定时器/计数器0,一个软件计数器产生低频(1HZ)闪烁功能。
(3)利用定时器/计数器0来产生为时30ms的定时信号,以实现高频(30HZ)闪烁功能。
(4)注意在用工作方式1时,我们必须要重新装载初值。
2.2.5汽车转弯灯显示
在汽车转弯或应急状态下,外部信号灯和仪表板它们指示灯的闪烁频率为1HZ,称低频信号。
当停靠开关合上时,外部信号灯以30HZ频率闪烁此时为高频信号。
(本课程设计采用的同行频率的闪烁信号)
2.2.6汽车转弯灯控制
汽车转弯灯设计5个按键控制信号灯的转向、停靠、应急等。
按键安排见下:
S1键为刹车开关;
S2键为紧急开关;
S3键为停靠开关;
S4键为左转弯开关;
S5键为右转弯开关;
S6键为倒车开关;
2.2.7中断系统
单片机中断技术主要用于实时控制,在单片机上有两个引脚,即INT0、INT1。
外部的中断信号通过这两个引脚输入到单片机,和单片机的定时器一样,对中断系统的处理需要通过C51的软件编程实现。
它的重要作用有如下四点:
第一,高速CPU和低速外设之间的配合。
利用中断方式进行的I/O口操作,在宏观上可以看成CPU和外设的并行工作。
第二,实现故障的紧急处理。
当外设发生故障时,可以利用中断系统请求CPU及时处理这些故障。
第三,可以实现实时控制。
第四,便于人机联系。
操作人员可以利用键盘等实现中断,完成人工介入。
3方案选择
3.1
AT89S51
复位电路
按键电路
时钟电路
LED显示电路
MAX232串行接口
PC机
驱动芯片
方案论证一
图3.1汽车转弯灯控制系统硬件构成
如图3.1所示,汽车转弯灯主要有单片机、按键、复位、时钟、LED显示电路组成最基本的单片机系统。
单片机本身的功能强大,汽车转弯灯的驱动用单片机本身的驱动来驱动。
使得单片机的功能得到充分的运用。
扩展有上位机的人机界面信息交流口,便于人们直观了解此时整个电路的工作状态。
3.2方案论证二
汽车转弯灯主要由单片机(AT89S51)、按键、复位、电源、时钟路、驱动、LED显示电路等组成的最基本的单片机控制系统。
所有软件、参数均存在AT89S51的ROM和RAM中,因此能够减少了芯片的数量和整机的电流。
单片机的内部ROM有4K,RAM有128个字节,软件编时有足够的空间来存储其程序。
复位设置由F键完成;
A键至E键来调理信号灯。
电源在5V以下可正常工作。
LED是由NPN三极管驱动,键盘采用消抖扫描方式。
如图3.2所示
图3.2汽车转弯灯控制系统硬件构成
电源电路
该方案应用单片机自身的并行口来实现其功能,由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。
我们接触的单片机有8031、8051。
因8031无内部RAM,只要编程就必须扩展程序存储器,无疑会增加设计的难度和复杂,虽然8051有内部RAM,但从性能及设计成本考虑,我们选择AT89S51芯片。
由于AT89S51的广泛使用,使单片机的价格大大下降。
目前,AT89S51的市场零售价已经低于8255、8279、8253、8250等专用接口芯片中的任何一种;
而89S52的功能实际上远远超过以上芯片。
因此,如把89S52作为接口芯片使用,在经济上是比较合算。
时钟电路由晶振及电容组成,复位电路由按键复位结构组成。
对于键盘电路我们采用独立式键盘,可以具体实现可分为以下几种情况:
①直接由并行I/O口来实现。
②使用达林顿管驱动LED来实现。
3.3方案选择
两种方案的比较和指导老师的扩展要求,我选择第一种方案作为此次课程设计的指导方案。
4主要芯片介绍
4.189S51芯片介绍
4.1.1引脚介绍
主要性能参数
AT89S51单片机特点如表4.1所示。
表4.1AT89S51单片机特点
1.兼容MCS-51产品指令系统
2.8k可反复擦写Flash闪速ROM
3.32个可编程I/O口线
4.256x8bit内部RAM
5.2个16位定时/计数器
6.全静态工作模式:
0Hz-33MHz
7.看门狗(WDT)及双数据指针
8.全双工串行UART通道
9.6个中断源
10.1000次擦写周期
11.中断可从空闲模唤醒系统
12.3级程序加密锁
13.低功耗空闲和掉电模式
14.掉电标识和快速编程特性
15.灵活的在系统编程(ISP-字节)
16.4.0-5.0V的工作电压范围
AT89S51有40引脚双列直插式填和44引脚封装方式。
方型封装有4个引脚(标有NC)是不连线的,故在连接时应注意。
它在一块小芯片上,有CPU、存储器、I/O口、定时器/计数器、中断系统等。
(1)VCC:
电源。
(2)GND:
接地。
(3)P0口:
是一个8位漏极开路的双向I/O口。
(4)P1口:
是一个具有内部上拉电路的8位双向I/O口。
(5)P2口:
是一个具有内部上拉电路的8位双向I/O口,P2口输出缓冲器能吸入/放出4个TTL输入。
访问外部程序存储器及使用16位地址的是数据存储器(MOVX@DPTR)时,P2口输出高8位地址。
这种情况下,当不置“1”时,P2口使用强大的内部上拉电路。
访问使用8位地址的外部存储器(MOVX@RI)时,P2口输出P2口锁存器的内容。
(6)P3口:
是一个具有内部上拉电路的8位双向I/O口,P3输出缓冲器能吸入/放出4个TTL输入。
Flash编程及检验时,P3口也接收一些控制信号。
表5.2AT89S51的P3口各种专用功能表
引脚
替代的专用功能
P3.0
(串行输入口)
P3.1
(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
(定时器0的外部输入)
P3.5
(定时器1的外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
(7)RST:
复位端。
当振荡器工作时,此时高电平将系统复位。
(8)ALE/PROG:
当访问外部存储器时,ALE(允许地址锁存)是一个用于锁存地址的低8位字节的输出脉冲。
(9)PSEN:
外部程序存储器读选取通信号。
(10)EA/Vpp:
访问外部程序存储器允许端。
(11)XTAL1:
振荡器反向放大器输入端和内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器输出端。
4.1.2功能介绍
AT89S51与89C51相比新增加很多功能,性能有了较大提升,价格基本不变化,甚至比89C51更低。
新功能主要有:
(1)ISP在线编程功能,是一个强大易用的功能。
(2)最高工作频率为33MHz,从而具有了更快的计算速度。
(3)有双工UART串行通道。
(4)内部集成看门狗计时器。
(5)双数据指示器。
(6)电源关闭标识。
(7)全新的加密算法,这就可以有效的保护不被侵犯。
兼容性方面,AT89S51向下完全兼容51全部字系列产品。
比如8051、89C51等等早期MCS-51兼容产品。
网络教程上的程序在89S521上一样可以照常运行,是所谓的向下兼容。
AT89S51与89C51相比,具体优势如下:
(1)序存储器写入方式
写入程序方式不同,89C51只支持并行写入。
需要VPP烧写高压。
AT89S51则支持ISP在线可编程写入技术!
串行写入、速度相当快、稳定性好,烧写电压也仅仅需要4~5V即可。
(2)范围
AT89S51电源范围宽达4.0~5.0V。
(3)性能
AT89S51的性能远高于89C5*,89S5*系列支持最高高达33MHz的工作率。
而89C51工作频率范围最高只支持到24MHz。
(4)功能
89S5*系列的加密算法,使对于89S51的解密变的不可能。
程序不易外漏,这样就可以有效的保护知识产权。
(5)兼容性
用89S5*可以代89C5*使用,相同的程序,运行结果一样。
89S5*兼容性很好。
(6)干扰性
由于S5*内部集成看门狗计时器,比89C51那样外接看门狗单元电路要好。
4.2MAX232芯片介绍
4.2.1引脚介绍
主要性能特点:
91、单5V电源工作
2、LinBiCMOSTM工艺技术
3、两个驱动器及两个接收器
4、±
30V输入电平
5、低电源电流:
典型值是8mA
6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28
7、ESD保护大于MIL-STD-883标准的2000V
4.2.2功能介绍
MAX232是电荷泵芯片,可以完成两路TTL/RS-232电平的转换,它的的9、10、11、12引脚是TTL电平端,用来连接单片机的。
从MAX232芯片中的两路发送接收中任选一路作为接口,要注意其发送与接收引脚对应,否则可能对器件或计算机串口造成永久性损坏。
如选他T1IN接单片机的发