《微机控制技术课程设计报告.doc》由会员分享,可在线阅读,更多相关《微机控制技术课程设计报告.doc(19页珍藏版)》请在三一办公上搜索。
1、1.方案简述随着中国经济的持续增长和汽车价格的持续下降,越来越多的家庭拥有了私家车。在享受汽车给人们带来便利的同时,由于倒车而产生的问题也日益突出。据初步调查统计,15的汽车事故是由汽车倒车“后视”不良造成的。早期的倒车防撞仪可以测试车后一定距离范围的障碍物从而发出警报,后来发展到根据距离分段报警。随着人们对汽车驾驶辅助系统易用性要求的提高,对汽车倒车雷达的要求也越来越高。本文设计的基于51单片机的倒车雷达,采用温度传感器进行温度补偿提高了测距精度,采用显示模块对车距进行实时显示和蜂鸣器实现了倒车雷达语音报警的功能。由于采用了超声波传感器,有效地提高了系统的可靠性和稳定性。系统框图如图1.1所
2、示。该系统由单片机控制电路、超声波发射与接收电路、温度补偿电路、LCD显示电路以及语音报警电路等几部分组成。单片机AT89C51是整个系统的核心部件,协调各部分电路的工作。单片机在超声波信号发射的同时开始计时,超声波信号在空气中传播遇到障碍物后发生反射,反射的回波信号经过处理后输入到单片机的INTO端产生中断,计数器停止计数。通过计数器测得的脉冲数可得到超声波信号往返所需要的时间,从而达到测距的目的。图1.1 系统原理框图2. 系统方案设计及确定2.1 CPU的选择方案一:采用STC89C52单片机STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存
3、储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89S51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件
4、复位为止。最高运作频率35Mhz,6T/12T可选。内带4K字节EEPROM存储空间,可直接使用串口下载,价格比较便宜。方案二:采用AT89S51单片机AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。综合比较以上两种方案,选择方案二。2.2传感器
5、的选择2.2.1超声波传感器的选择超声传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。本次设计采用HC-SR04超声波传感器。该传感器可提供5cm-400cm的非接触式距离感测功能,测量精度可达3mm,模块包括超声波发射器,接收器和控制电路。由于内置模数转换器,所以可省略A/D转换电路。2.2.2温度传感器的选择本次设计采用数字温度传感器,将温度直接转化成数字信号经单片机输出。数字温度传感器的内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路,其特点是能直接输出数字化的温度数据及相关的温度控制量,自动适配各种微控制器(MC
6、U)。采用数字温度传感器以实现温度数字化,既能以数字形式直接输出被测温度值,具有测量误差小,分辨力高,抗干扰能力强,能够远程传输数据,带串行总线接口等优点。本此温度传感器选用的是DS18B20芯片。DS18B20是美国Dallas公司最新推出的一种单总线系统的数字温度传感器。与传统的热敏电阻温度传感器不同,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式,可以分别在93.75ms和750ms内将温度值转化9位和12位的数字量。因而使用DS18B20可使系统结构更简单,可靠性更高。芯片的耗电量很小,从总线上“偷”一点电存储在片内的电容中就可正常工作,一般不用另
7、加电源。最可贵的是这些芯片在检测点已把被测信号数字化了,因此在单总线上传送的是数字信号,这使得系统的抗干扰性好、可靠性高、传输距离远。2.3 显示电路的选择方案一:使用LED数码管显示LED 数码管是由发光二极管构成的,亦称半导体数码管.将条状发光二极管按照共阴极(负极)或共 阳极(正极)的方法连接,组成8字,再把发光二极管另一电极作笔段电极,就构成了 LED 数码 管。若按规定使某些笔段上的发光二极管发光, 就能显示从 09 的系列数字。同荧光数码管(VFD), 辉光数码管(NRT)相比,它具有:体积小,功耗低,耐震动,寿命长,亮度高,单色性好,发光响 应的时间短,能与 TTL,CMOS 电
8、路兼容等的数显器件。+,-分别表示公共阳极和公共阴极。ag是7个笔段电极,DP为小数点。另有一种字高为7.6mm 的超小型 LED数码管,管脚从左右两排引出,小数点则是独立的。由于本次设计不只是显示数字,还需要显示汉字,故不采用此方案。方案二:使用LCD液晶显示LCD是一种利用液晶的扭曲/向列效应制成的新型显示器,它具有功耗极低、体积小,抗干扰能力强,价格廉等特点,目前已广泛应用于各个显示领域,尤其袖珍仪表和低功耗应用系统中。LCD 液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透
9、过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。综合比较以上两种方案,选择方案二。本次课程设计采用1602A液晶显示。2.4 键盘电路的选择键盘可以分为两类:非编码键盘和编码键盘。非编码键盘是利用按键直接与单片机相连接而成,这种键盘通常使用在按键数量较少的场合。使用这种键盘,系统功能通常比较简单,需要处理的任务较少,但是可以降低成本、简化电路设计。常见的非编码键盘有两种结构:独立式键盘和矩阵式键盘。独立式键盘:其特点是:一键一线,各键相互独立。每个按键各接一条I/O口线,通过检测I/O输入线的电平状态,可以很容易的判断哪个按键被按下。这种键盘的优点是:电路简单,各条检测线独立,识
10、别按下按键的软件编写简单。适用于键盘按键数目较少的场合,不适合用于键盘按键数目较多的场合,因为将占用较多的I/O口线。矩阵式键盘:这种键盘用于按键数目较多的场合。由于本次课程设计使用的按键比较少,所以采用的是独立式键盘。本次设计超声波探头选用HC-SR04超声波传感器,不仅外围元件较少,电路简单,而且有更好的稳定性及可靠性;温度补偿电路采用一线制数字温度传感器DS18B20,利用声速和温度之间的关系对声速进行校正,从而消除温度对声速的影响;报警电路采用蜂鸣器,可实现汽车倒车过程中的报警,显示电路采用LCD1602A显示,键盘采用独立式键盘。3.系统硬件设计3.1 AT89S51单片机的硬件组成
11、片内硬件组成结构如图3-1所示。把作为控制应用所必需的基本功能部件都集成在一个尺寸有限的集成电路芯片上。有如下功能部件和特性:(1)8位微处理器(CPU);(2)数据存储器(128B RAM);(3)程序存储器(4KB Flash ROM);(4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);(5)1个全双工的异步串行口;6)2个可编程的16位定时器/计数器;(7)1个看门狗定时器;(8)中断系统具有5个中断源、5个中断向量;(9)特殊功能寄存器(SFR)26个;(10)低功耗模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式;(11)3个程序加密锁定位图3.1 AT89
12、S51单片机片内结构AT89S51与51系列中各种型号芯片的引脚互相兼容。目前多采用40只引脚双列直插,如图3-2所示AT89S51的引脚功能:(1)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。(2)控制引脚/EA、ALE/、/PSEN 、/VPP、RST(RESET)(3)I/O口引脚P0、P1、P2、P3,为4个8位I/O口图3.2 AT89S51 双列直插封装方式的引脚3.2 AT89S51最小系统设计3.2.1时钟电路硬件设计时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。本次设计采
13、用的是外部时钟方式,如图3-3。图 3.3 时钟电路AT89S51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。C1和C2的典型值通常选择为30pF。电容大小会影响振荡器频率高低、振荡器的稳定性和起振的快速性。晶振频率范围通常是1.212MHz。晶体频率越高,单片机速度就越快。速度快对存储器的速度要求就高,印制电路板的工艺要求也高,即线间的寄生电容要小。晶体和电容应尽可能与单片机靠近,以减少寄生电容,保证振荡器稳定、可靠地工作。为提高温度稳定性,采用温度稳定性能好的电容。常选6M
14、Hz或12MHz的石英晶体。随着集成电路制造工艺技术的发展,单片机的时钟频率也在逐步提高,已达33MHz。本次设计使用11.0592MHz的石英晶体。3.2.2复位电路硬件设计单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。本次设计采用的按键
15、电平复位。如图3-4。图3.4 复位电路3.3人机交换电路的设计3.3.1键盘电路的设计键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。下面介绍键盘的工作原理和键盘的工作方式。键盘可以分为两类:非编码键盘和编码键盘。非编码键盘是利用按键直接与单片机相连接而成,这种键盘通常使用在按键数量较少的场合。使用这种键盘,系统功能通常比较简单,需要处理的任务较少,但是可以降低成本、简化电路设计。常见的非编码键盘有两种结构:独立式键盘和矩阵式键盘。独立式键盘:其特点是:一键一线,各键相互独立。每个按键各接一条I/O口线,通过检测I/O输入线的电平状态,可以很容易的判断哪个按键被按下。这种键
16、盘的优点是:电路简单,各条检测线独立,识别按下按键的软件编写简单。适用于键盘按键数目较少的场合,不适合用于键盘按键数目较多的场合,因为将占用较多的I/O口线。矩阵式键盘:这种键盘用于按键数目较多的场合。由于本次课程设计使用的按键比较少,所以采用的是独立式键盘。如图3.5所示。图3.5 独立式键盘电路3.3.2显示电路的设计通常的显示电路有点阵,数码管,液晶等,实物图如图3.6所示(a) 点阵 (b)数码管(c) 液晶图3.6 显示电路实物图一个点阵只能显示一个数字和图形,如果要求的显示的东西较多,需要很多个的点阵来组成,则成本相对比较高。主要用于单一的显示电路中;数码管显示电路与点阵具有相同的
17、特点,但数码管电路在连接时电路比较复杂,有些符号和数字并不能显示;液晶显示电路相对比较简单,而且还能显示不同的符号和数字,满足本次设计的要求,所以选用液晶作为本次课程设计的显示电路。液晶显示器的介绍LCD(Liquid Crystal Display)液晶显示器缩写,被动显示,本身并不发光,是利用液晶经过处理后能改变光线通过方向的特性,从而达到白底黑字或黑底白字显示的目的。液晶显示器具有省电、抗干扰能力强等优点,广泛应用在智能仪器仪表和单片机测控系统中。本次设计选用LCD1602液晶显示。LCD显示器的分类:目前市场上液晶显示器种类繁多,按排列形状可分为字段型、点阵字符型和点阵图形型。本次设计
18、使用点阵字符型;点阵字符型,专门用于显示字母、数字、符号等。它由若干57或510的点阵组成,每一点阵显示一字符。广泛应用在各类单片机应用系统中。1. 1602字符型LCM的特性内部具有字符发生器ROM(CGROM),即字符库。可显示192个57点阵字符,见图3-8。该字符库可看出LCM显示的数字和字母部分的代码值,恰好与ASCII码表中的数字和字母相同。所以在显示数字和字母时,只需向LCM送入对应的ASCII码即可。模块内有64字节的自定义字符RAM(CGRAM),用户可自行定义8个57点阵字符。模块内有80字节的数据显示存储器(DDRAM)。2. 1602的引脚定义表3-11602与单片机的
19、接口设计:在硬件连接时,在VEE端加上一个10K的电位器,可根据需要,调节显示器的亮度。当51单片机的P0口作为数据口用需加上10K的上拉电阻,如图3.7所示.图3.7 1602电路图3.4 超声波测距电路的设计3.4.1超声波测距原理超声波测距原理是利用单片机在超声波传感器发射超声波的同时单片机的T0计数器开始计数,当检测到回波信号后单片机的T0计数器停止计数。测得的时间和声速相乘就可以得到超声波往返过程中走过的路程,所以所测距离S为声波传输距离的一半:S=Ct2式中:S为超声波发射点与被测障碍物之间的距离;C为声波在介质中的传输速率;t为超声波发射到超声波返回的时间间隔。声波在空气中传输速
20、率为:式中:T为绝对温度;C0=33145 ms。采用单片机脉冲计数的方法,可精确测出t的值。假设单片机的机器周期为T机,则有t=NT机,则测得的距离为:3.4.2 HC-SR04超声波传感器1模块特点该模块可提供5cm-400cm的非接触式距离感测功能,测量精度可达3mm,模块包括超声波发射器,接收器和控制电路。由于内置模数转换器,所以可省略A/D转换电路。其工作原理是:(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
21、测试距离=(高电平时间*(340M/S)/2)。2.实物图如下图接线,VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出等四支线。图3.8 实物图其电路图如3.9所示。图3.9 超声波测距电路3.5 温度补偿电路的设计由于温度对声速有影响,所以温度补偿电路采用一线制数字温度传感器DS18B20,利用声速和温度之间的关系对声速进行校正,从而消除温度对声速的影响3.5.1 DS18B20特点:(1)单线接口,只有一根信号线与CPU 连接单总线器件,具有线路简单,体积小的特点;(2)不需要备份电源,可通过信号线供电,电源电压范围从3.35V;(3)传送串行数据,不需要外部
22、元件;(4)温度测量范围从-55+125;(5)通过编程可实现912 位的数字值读数方式(出厂时被设置为12 位);(6)零功耗等待;(7)现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。3.5.2 DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位激光ROM,温度敏感元件,非易失性温度报警触发器TH和TL,高速暂存器。64位激光ROM是出厂前被光刻好的,它其中保存着该DS18B20的产品信息和产品系列编码,可以看作是该DS18B20的地址序列号。单总线上所有DS18B20器
23、件可以通过检索器件的ROM中的内容进行识别。DS18B20的管脚排列如图3.10所示。图3.10 DS18B20管脚排列引脚功能如下:VDD:可选电源脚,电源电压范围35.5V。工作于寄生电源时,此引脚应接地;DQ:数据输入/输出脚,漏极开路,常态下高电平。3.5.3 DS18B20测温原理DS18B20内含两个温度系数不同的温敏振荡器,其中温敏振荡器1相当于测温元件,温敏振荡器2相当于标尺,通过不断比较两个温敏振荡器的振荡周期,得到两个温敏振荡器在测量温度下的振荡频率比值,根据频率比值和温度的对应曲线,得到相应的温度值。其原理图如图3.11所示:待添加的隐藏文字内容2具体测温过程如下:首先由
24、预置器2将温度寄存器预置为对应于温度下限(-55)的值。然后,由预置器1对计数器1也预置一个对应于温度下限(-55)的计数值,计数器1接收温度振荡器1的输出信号并进行减法运算。计数器2接收温敏振荡器2的输出信号得到实际温度值并送给温度寄存器作为比较标尺。如果计数器1首先递减到0,那么将向温度寄存器输出一个信号,温度寄存器的值将增加一位,对应温度值增加一个分辨率的值(如分辨率为0.5时,对应温度值增加0.5),说明实测温度高于-55。随后,斜率累加器根据两个温敏振荡器的温度特性曲线计算出下一个温度位置处计数器1的预置计数值,对计数器1再次进行预置。计数器1和计数器2再次开始计数。如果计数器2先于
25、计数器1到达0,完成一次测温。温度寄存器中的值为测量所得的当前温度值。通过这个过程不仅完成了测温,而且将完成了温度值的数字化,省去了A/D转换器。图3.10 DS18B20测温原理DSl8B20中的数字温度传感器的分辨率可配置为9、10、11和12位,出厂默认设置为12位分辨率,对应的温度值分辨率分别为0.5、0.25、0.125和0.0625。温度信息的低位、高位字节内容中,还包括了符号位S(是正温度还是负温度)和二进制小数部分,具体形式为:低位字节:MSB232221202-12-2LSB2-32-4高位字节:MSBSSSSS26LSB2524这是12位分辨率的情况,如果配置为低的分辨率,
26、则其中无意义位为0。在DSl8B20完成温度变换之后,温度值与储存在TH和TL内的告警触发值进行比较。由于是8位寄存器,所以912位在比较时忽略。TH或TL的最高位直接对应于16位温度寄存器的符号位。如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位,每次温度测量都会更新此标志。只要告警标志置位,DSl8B20就将响应告警搜索命令,这也就允许单线上多个DSl8B20同时进行温度测量,即使某处温度越限,也可以识别出正在告警的器件。3.5.4温度补偿电路本次设计中采用的是外部供电方式,其与单片机接线方式如图3.12所示。图3.12温度补偿电路3.6报警电路的设计本次报警部分分2个部分,
27、一个是LED灯光的闪烁,一个是蜂鸣器的报警。3.6.1 LED报警由3个不同颜色的二极管组成,分别接到单片机的P2.0、 P2.1、P2.2.其中P2.0为红色,当测量距离大于测距范围时便开始发光;P2.1端口接黄LED,当测量距离大于测距范围时便开始发光;P2.2端口接绿LED,当测量距离在测距范围内便开始发光。其电路图如3.13所示。图3.13 LED报警电路3.6.2蜂鸣器报警下图3.14为声音报警部分的电路图,通过简单的三极管Q9014驱动电路和蜂鸣器构成,其中一个电阻是偏置电阻,给三极管提供偏置电压。这个电路的工作过程可简单的描叙如下:驱动电路的输入端与单片机的I/O口相连,当I/O口输出一个高电平,三极管Q的基极B得到高电平,三极管导通,电流从VCC经集电极C流向发射极E,并流入蜂鸣器BP,这样蜂鸣器BP得到工作电流而发出“滴滴”的提示音。图3.14 蜂鸣器报警电路4.系统软件设计软件设计采用模块化设计,由主程序、温度转换子程序、T0中断子程序、距离计算子程序、LCD显示子程序、键盘子程序和报警子程序等模块组成。4.1 系统主程序设计根据课程设计的要求设计的程序,其主程序流程图如图4-1所示图4.1 主程序流程图4.2 温度转换程序图4.2 温度转换程序框图4.3检测子程序图4.3 检测程序框图附录1:系统硬件原理图