单片机课程设计_基于89C51的轮胎自动充气压力控制器设计_第1页
单片机课程设计_基于89C51的轮胎自动充气压力控制器设计_第2页
单片机课程设计_基于89C51的轮胎自动充气压力控制器设计_第3页
单片机课程设计_基于89C51的轮胎自动充气压力控制器设计_第4页
单片机课程设计_基于89C51的轮胎自动充气压力控制器设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计单片机系统课 程 设 计成绩评定表设计课题 基于89C51的轮胎自动充气控制器设计学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 : 设计时间 : 指导教师意见:成绩: 签名: 年 月 日单片机系统课 程 设 计 课程设计名称:基于89C51的轮胎自动充气控制器设计专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 课程设计时间: 单片机系统 课程设计任务书学生姓名专业班级学号题 目课题性质工程设计课题来源自拟指导教师主要内容(参数)利用89C51设计一种轮胎自动充气压力控制器,实现以下功能:1利用3位L

2、ED显示轮胎压力;2按下充气开关打开电磁阀开始充气;3当轮胎压力达到设定值时控制电磁阀关闭气源。任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042 伟福LAB6000系列单片机仿真实验系统使

3、用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,2006 4 夏路易 石宗义Protel 99se电路原理图与电路板设计教程北京: 北京希望电子出版社,2006审查意见系(教研室)主任签字: 年 月 日 目 录1 概述42 方案设计52.1系统框图52.2 方案选取52.3 总体方案设计73 硬件电路设计73.1 电源电路73.2 键盘电路93.3压力检测电路113.4 AD转换电路133.5显示电路143.6气泵控制电路153.7复位电路153.8 时钟电路164 软件设计174.1 压力检测及A/D转换程序设计174.2数码管显示程序设计174.4外部中断0服务程序设计19

4、4.5系统总体程序设计206 总结25附录A 系统原理图23附录B 源程序清单241 概述 随着人们生活水平的不断提高,单片机控制在各领域的发展与应用无疑成为人们追求的目标之一。目前,汽车工业的发展速度很快,传统的轮胎充气设备不能适应现代化生产规模的要求。研制与轮胎流水作业生产线配套的,机械化、自动化、节能高效的充气设备是现代化汽车生产企业亟待解决的实际问题。基于上述两个原因,我们有了研究基于单片机便携式自动控制充气机这一课题的想法,便携式自动控制充气机具有自动充气和放气功能,气压检测和气压预设功能,夜间照明、警示功能,体积非常小巧,性能高、无污染气体排放,适合您的车辆出差、远行,是各车主携带

5、的应急必备工具。 本设计就是根据人们对智能化,方便化的需求,而设计的基于单片机控制的智能化产品。同时在选取设计方案和采用元器件方面,该系统本着简单、经济、实用的思想,尽量简化电路设计,用最简单的电路布线和选用最经济实用的器件来达到设计要求。轮胎自动充气压力控制系统具有以下几个基本功能:(1)能够利用按键设定充气值;(2)能够显示设定充气压力和充气过程中轮胎动态压力;(3)当轮胎压力达到设定值时,能自动关闭气泵停止充气。2 方案设计2.1系统框图根据设计方案我们知道我们需要对轮胎内压力的检测也就是压力检测模块,然后是检测后压力的显示,知道压力数值后决定需不需要充气我们需要充气模块,我们需要有给充

6、气泵提供电力的电源模块,然后还要有手动的输入方式也就是键盘模块。我们把本设计初步分为以下几个模块,系统框图如图2-1所示。图 2-1系统框图2.2 方案选取有上述系统框图可知,自动充气装置由:压力检测模块、核心控制模块、键盘模块、显示模块、充气模块等几部分构成。2.2.1 压力检测模块采用常见的电阻应变片式的压力传感器和模数转换芯片。压力传感器其本质是利用惠斯通电桥,它具有温度特性好,温度变化带来的误差小。这种结构的基本特性之一是它的差动输出电压U与偏置电压U成正比关系,这种关系隐含压力测量精度直接决定偏置电源的容限值,当四个桥臂电阻达到相应的关系时,电桥输出为零。利用压力电桥获得的压力量模拟

7、值通过ADC0809转换后即可供单片机分析使用。2.2.2 键盘模块利用矩阵键盘控制,设定充气预定值和气泵的启停。由于本设计需要设定充气预定值和气泵启停,所需要的按键较多,若采用方案一所占单片机I/O资源较多,而矩阵键盘按键多,占用I/O口少很好的满足了设计与需求。考虑到键盘需要设置0-9十个数字和设置启、停按钮,所以我们最终选定使用3 x 4的矩阵键盘。2.2.3 显示模块 利用七段数码管显示设定值和轮胎内的当前压力值。考虑到设计需要显示的信息量小,亮度要求高,而数码管显示无闪烁,亮度高,软件控制比较容易,功耗小耐冲击,长寿命等优点。我选用数码管作为显示工具。2.2.3 其它模块因为这学期刚

8、刚学习了AT89C51所以我们选用比较熟悉的AT89C51作为轮胎自动充气压力控制系统的控制核心。2.3 总体方案设计根据需要做的系统要求和我自己的设想,得到了如下的系统结构图,方案总体构架如图2-2所示:图 2-2轮胎自动充气压力控制系统结构框图3 硬件电路设计3.1电源电路51单片机正常工作电压为5V,因此我们设计了电源电路为单片机工作供电。如下图3-1是为单片机提供电源的电路。在这个电路中采用了三端集成稳压芯片7805, 来为单片机提供稳定的5V的直流电压。图3-1电源电路图3.2 键盘电路由于本设计需要设定充气预定值和气泵启停,所需要的按键较多,若采用方案一所占单片机I/O资源较多,而

9、矩阵键盘按键多,占用I/O口少很好的满足了设计与需求。考虑到键盘需要设置0-9十个数字和设置启、停按钮,所以我们最终使用3 x 4的矩阵键盘。 如图按照键盘扫描至获得键号编写程序对应如上图所示。矩阵键盘在系统中原理图如图3-2所示。图3-2阵键盘原理图矩阵键盘工作是利用P1口分别对某一行赋低电平,其余行赋值高电平,然后分别扫描各列是否出现低电平,若无退出扫描,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。断闭合键所在的位置是通过读取P1口的值,与预设值比对,确定是哪个键按下,在确认有

10、键按下后,就可以进入相应操作程序。3.3 压力检测电路 轮胎自动充气压力控制系统要根据轮胎内压力当前值的大小来确定充气是否完成,需不需要关闭气泵。因而需要使用到压力应变传感器。这种传感器主要用于对气体、液体的动态和静态的压力的测量。如对内燃机管道和动力设备管道进出、出气孔流液的压力、发动机喷口的压力等的测量。这种传感器主要采用膜片、薄板、筒式等组成的弹性元件。传感器所用的应变片电阻值国内标准有:60、120、350、和600等各种阻值,其中以120为最常用。利用电桥测量原理,通过对电路输出电压和标准压强的线性关系,建立具体的数学模型,将电压量的变化改为压力的变化,即可以测出一定范围内的压力值。

11、其中测量电路中最主要的元器件就是电阻应变式传感器。设计还利用了运算放大电路的作用就是把传感器输出的微弱的模拟信号进行一定倍数的放大,以满足A/D转换器对输入信号电平的进行各种转换处理的要求。压力检测部分连接如图3-3所示。图3-3压力检测电路原理图此部分压力传感器参照了LAB6000使用说明书电路原理图,传感器的工作原理,本质上是惠斯通电桥,该电桥温度特性好。当膜片上受到压力使得电桥不平衡,从而产生一个差动的输出信号,这种结构的基本特性之一是它的差动输出电压U与偏置电压U成正比关系,当四个桥臂电阻达到相应的关系时,电桥输出为零,当然它也能提供一种温度补偿最通用的方法。该电路三部分组成(1)电源

12、电路部分;(2)电桥电路部分;(3)放大电路部分。如图所示,传感器采用15V恒压源Vcc供电,经过与分压(电容C1起滤波作用),U2A起到电压跟随器的作用,所以点1、2、3三点处有相同电压: (3.1 ) 根据上式,带入数据, ,求得经过电路分析电桥部分可等效为如图3-4所示 图3-4压力传感器电桥电路设桥臂电阻分别为, ,则当压力传感器受力时,电阻变化对应的输出电压值为,由于<<1,则上式可化简为 (3.2)带入电阻、电压值得Uo=0.25R/R最后经过放大部分,压力传感器的微弱采样电压,经过放大电路输出的放大。3.4 A/D转换电路A/D转换的作用是进行模数转换,把接收到的模拟

13、信号转换成数字信号输出。在选择A/D转换时,先要确定A/D转换精度、转换速度以及转换位数等,A/D转换的位数确定与整个测量控制系统所需测量控制范围和精度有关,在 轮胎自动充气压力控制系统中采用了8位A/D转换器ADC0809引脚如图3-5所示图3-5 ADC0809引脚图ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100s左右。ADC0809的主要特性有:(1)8路输入通道,8位A/D转换器,即分辨率为8位。 (2)具有转换起停控制端。 (3)转换时间为10

14、0s(时钟为640kHz时),130s(时钟为500kHz时) (4)模拟输入电压范围05V,不需零点和满刻度校准。 ADC0809主要引脚功能如下:IN0IN7:八路模拟量的输入端。D0D7:A/D转换后的数据输出端,为三态可控输出,可直接与总线相连。A、B、C:模拟通道地址选择断,A为低位,C为高位。ALE:地址锁存允许信号,当此信号有效时,A、B、C三位地址信号被锁存 电路选通对应的模拟输入通道。SC:启动转换信号。通常与单片机的写信号线连接,启动A/D转换。EOC:转换结束信号,表示一次转换结束。常作为中断触发信号。OE:输出允许控制信号,通常与系统的读信号线连接,打开 三态门,此时可

15、通过数据线读到转换结果。 本系统ADC0809与单片机和压力传感器连接如图3-6所示。图3-6单片机和压力传感器连接如原理图所示,ADC0809的A、B、C共同接地选中第0通道,即模拟信号从IN-0输入到A/D转换器,通过单片机P2.4引脚start送出一个正脉冲,从而启动转换;转换完成后,EOC输出一个由低到高的跳变沿,经过一个非门取反变为下降沿,出发已经设置为边沿触发的I外部中断0;在中段程序中通过P.3引脚enable送出高电平,控制ADc0809数字量允许输出,信号经过74HC573锁存器流入P0口;通过单片机读程序,把转换后的数字读入片内,进行相应操作后显示在数码管上。3.5显示电路

16、本设计采用LED数码管进行显示是因为LED数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。(2)发光响应时间极短(<0.1s),高频特性好,单色性好,亮度高。(3)体积小,重量轻,抗冲击性能好。 数码管有共阴极和共阳极两种类型,为位选端主要进行位控制,断选端则是进行字符控制,数码管有静态显示和动态显示两种方法,说明如下。(1)静态显示驱动: 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O进行驱动,或者使用如BCD码二十进位器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O多,如驱动5个数码管静态

17、显示则需要5×840根I/O来驱动,要知道一个89C51单片机可用的I/O才32个。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。(2)动态显示驱动:数码管动态显示是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a、b、c、d、e、f、g、dp "的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开

18、,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。在本设计中过程中,我们查询了大量与车胎压强相关的资料得知汽车轮胎压强一般在1.5-2.2bar (即150-220kpa)比较适宜,具体冬夏也有少许差别。所以我们采用3位共阴极数码管作为显示

19、部件。数码管显示部分电路图3-7所示:图3-7数码管显示电路如上述电路图所示,数码管采用动态扫描显示,系统段选码和位选码均是通过74HC573分时送出。74HC573是八个透明的D 型锁存器,当使能C为高电平时,Q 输出将随数据 D的输入而变。当使能C为低电平时,输出将锁存在已建立的数据电平上。当系统需要显示数码时,先通过单片机引脚P0口送出相应位选码,再控制P2.0引脚输出高电平,74HC573(U6)被打开,位选码送到数码管阴极。P2.0再输出低电平把位选信号所存到Q端;此后,单片机P0口输出相应段选码,P2.1引脚输出高电平,打开74HC573(U5)被打开,段选码送到数码管段选端,点亮

20、选中的数码管,并延时1ms;以此为原理第二个、第三个数码管一次被点亮;最后重复上述过程。3.6气泵控制电路如图3-8所示为电磁继电器控制电路气泵的工作电路。图3-8电磁继电器控制电路要控制气泵工作,只需控制电磁阀的闭合与断开。单片机的pump(P2.7)引脚控制三极管的工作在放大区和截止区。当该引脚输出高电平时,使三极管导通,继电器的内部线圈有电流通过,产生吸合力,将公共端吸合到常开端,则气泵开始充气;当轮胎的气充足后,pump引脚输出低电平,使三极管截止,则继电器不会产生吸合力,从而断开了气泵的工作。3.7复位电路复位电路的主要功能是使单片机进行初始化,在初始化的过程中需要在复位引脚上加大于

21、24个时钟周期的高点平。本设计复位电路如图3-9所示:图3-9复位电路3.8 时钟电路电路利用晶振产生固定周期的震荡脉冲。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。如图3-10为单片机时钟电路图3-10单片机时钟电路4 软件设计系统软件设计主要包括压力检测及数模转换程序、数码管显示程序,键盘扫描程序,外部中断0服务程序构成。4.1 压力检测及A/D转换程序设计压力电桥和发明和放大电路由硬件控制始终处于工作状态。AD转换结束方式是选择使用结束限号,

22、触发外部中断0的方式。具体工作是:由于ADC0809的A、B、C共同接地,选中第0通道,模拟信号从IN-0输入到A/D转换器,通过单片机P2.4引脚start送出一个正脉冲,从而启动转换;转换完成后,EOC输出一个由低到高的跳变沿,经过一个非门取反变为下降沿,出发已经设置为边沿触发的I外部中断0;在中段程序中通过P.3引脚enable送出高电平,控制ADC0809数字量允许输出,。AD转换流程如图4-1所示。 图4-1 A/D转换流程4.2数码管显示程序设计本设计数码管采用动态扫描方式,通过单片机引脚分别送出相应位选码,选通相应数码管,再用单片机输出相应段选码,点亮选中的数码管,并延时1ms;

23、以此为原理第二个、第三个数码管依次被点亮,再循环此过程。数码管显示流程如图4-2所示: 图4-2 数码管显示流程图4.3键盘扫描程序设计矩阵键盘工作是利用键盘扫描,依次检测按键是否按下。首先对某一行赋低电平,其余行赋值高电平,然后分别扫描各列是否出现低电平,若无退出扫描,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。断闭合键所在的位置是通过读键盘行取列值,与预设值比对确定的。键盘扫描流程如图4-3所示。 图4-3键盘扫描流程图4.4外部中断0服务程序设计本设计采用外部中断0监测A/D

24、是否完成,当完成后触发中断,在中断处理中获得此时轮胎气压值,比较是否达到设定值,若是气泵停止工作,若否等待下一次中断。中断处理流程如图4-4所示:图4-4中断处理流程图4.5系统总体程序设计根据设计要求,系统工作开始首先调用键盘子程序等待用户输入需要冲气的多少,并把所设定的气压值再数码管上显示一段时间,帮助使用者确定是否有误操作,若有重新输入,若无则按下start键,启动气泵开始工作,启泵启动后应该立即调用AD转换子程序及显示子程序,动态的显示轮胎内的气压,以及比较现在的气压是否达到用户的要求。由于LED显示是动态的。所以必须循环的调用AD转换子程序和显示子程序,这样做不仅实时性强,可以让用户

25、了解轮胎内气压的变换,而且可以增强LED显示亮度。此外,在设计过程中,我们查阅了大量与轮胎胎压相关的资料,我们查询了大量与车胎压强相关的资料得知汽车轮胎压强一般在1.5-2.2bar (即150-220kpa)比较适宜,具体冬夏也有少许差别。故在考虑到实际情况和软件编制的简易性的情况下,我们规定用户输入的充气气压只能位于0255kpa的范围内。这样一来,由于ADC0809的精度为八位,其输出的数字量的范围也是0255。量化后正好是一对一的关系,就大大的减轻了软件编制的困难。如下图4-5所示为软件设计总流程图。图4-5 软件设计总流程图6总结两周的单片机课程设计,我从一开始的不知如何下手,到后来

26、的通过去图书馆查阅大量相关资料,还有到网上查阅别人的设计方案,对整个系统有了一定的认识。然后自己动手修修改改到最终确定整个设计方案,做出完整的实验报告,在这个过程中我收获很多。通过本次课程设计对芯片工作原理更加的的熟悉。整个过程我犯了很多错误但是通过改正错误也收获了很多。 在这次课程设计我不止实践了课本上的知识也学会了很多单片机实际操作的很多知识和技巧。学会了怎样使用单片机板子,收获良多。参考文献1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042 伟福LAB6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,20

27、06 4 夏路易 石宗义Protel 99se电路原理图与电路板设计教程北京: 北京希望电子出版社,20065何立民编著.单片机应用系统设计.北京M:北京航天航空大学出版社,19946 杨家成单片机原理与应用及C51程序设计北京:清华大学出版社,20077 邓兴成单片机原理与实践指导北京:机械工业出版社,20108 李朝青编著.单片机原理及接口技术.北京M:北京航天航空大学出版社,19949 潘新民,王燕芳编著.微型计算机与传感器.北京M:人民邮电出版社,199810 何立民. 单片机应用技术选编M. 北京航空航天大学出版社,2003附录A 系统原理图 附录B 源程序清单#include<

28、;reg51.h>#define uchar unsigned char#define uint unsigned intsbit dula=P20;sbit wela=P21;sbit adc_out=P22;sbit enable=P23;sbit start=P24;sbit pump=P27;uint num=0,temp=0,t=0,k ;uint high,mid,low;/共阴极数码管编码uchar code table= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0

29、x71,0;/子程序声明void delay(uint z);/延时函数uchar keyscan(); /键盘扫描程序display(uchar bai,uchar shi,uchar ge);/数码管显示程序/主程序void main()uchar a,b,c,d,e;/开始e=keyscan();while(e!=11)e=keyscan();/获取设定值t=keyscan();while(t=0)t=keyscan();if(t!=0)a=t;t=0;t=keyscan();while(t=0) t=keyscan();b=t;t=0;t=keyscan();while(t=0) t=

30、keyscan();c=t;t=0;t=a*100+b*10+c;/设定值/显示设定值d=50;while(d-) display(a,b,c);/等待启动气泵开始工作pump=1;/启动AD转换EA=1;IT0=1;EX0=1;start=0;start=1; start=0;delay(10);while(1) display(high,mid,low);delay(10); /中断服务程序void INT_0 () interrupt 0 using 1EA=0;enable=1;adc_out=1;adc_out=0;k=P0;if(k<t)high=k/100;mid=k/10-10*high;low=k%100;enable=0;start=0;start=1; start=0;EA=1;elsepump=0;/延迟函数void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/键盘扫描函数uchar keyscan() /检测第一行是否有键按下P1=0xfe;temp=P1;temp=temp&0xf0;whil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论