




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汽车喷油嘴清洗机的设计沈阳航空航天大学2010年6月摘要喷油嘴是发动机的关键部件之一,它的工作状况的好坏直接影响发动机的性能。本文介绍的汽车喷油嘴清洗机,是以AT89S52单片机为控制核心,由键盘设定清洗时间,调整清洗压力,利用PWM调速方案实现电动机转速控制,并由油温、油面高度传感器实现清洗条件检测的控制系统。该系统适用于多种汽车车型,具有体积小,便捷,操作简单,成本低廉的优点,相信一定会成为现行喷油嘴清洗机的替代产品并有较为理想的市场。关键词喷油嘴;清洗机;PWM调速ABSTRACTNOZZLEISAKEYCOMPONENTOFTHEENGINE,ITSWORKINGCONDITIONSHAVEADIRECTIMPACTENGINEPERFORMANCETHISARTICLEDESCRIBESTHEAUTOFUELINJECTORCLEANINGMACHINE,ISTOCONTROLTHEAT89S52MICROCONTROLLERCORE,SETTHECLEANINGTIMEFROMTHEKEYBOARD,ADJUSTTHECLEANINGPRESSUREANDSPEEDCONTROLSCHEMEUSINGPWMMOTORSPEEDCONTROLACHIEVEDBYTHEOILTEMPERATURE,OILFACEWASHCONDITIONSTOACHIEVEAHIGHDEGREEOFSENSORDETECTIONOFTHECONTROLSYSTEMTHESYSTEMISSUITABLEFORAVARIETYOFCARMODELS,ISSMALL,CONVENIENT,SIMPLE,LOWCOSTADVANTAGE,BELIEVETHEREWILLBETHEEXISTINGFUELINJECTORCLEANINGMACHINEANDAMOREDESIRABLEALTERNATIVETOTHEMARKETKEYWORDSNOZZLE;WASHINGMACHINEPWMSPEEDCONTROL目录1绪论111课题研究背景112国外发展动态12系统设计方案分析221电喷汽车喷油嘴清洗机的工作原理222电喷汽车喷油嘴清洗机的设计方案分析23系统总体设计431系统方案设计432PWM调速设计5321PWM波调速原理5322PWM调速与其他调速的比较64硬件电路设计841显示电路设计8411数码管显示原理8412数码管显示电路1042PWM脉冲驱动电机电路设计1143汽车喷油嘴清洗机器件分析12431AT89S52单片机的功能特点12432光电耦合器14433电容/电阻选择1544系统原理图155程序设计1851软件的选择1852主程序设计19521主程序流程图19522初始化程序2053定时器的初始化21531定时/计数器工作原理21532定时器初始化2354部分程序分析24541读键子程序分析24542用程序产生PMW脉冲调速子程序分析2655完整代码276调试应用2861软件调试2862硬件调试2963实验室调试注意事项2964功能调试297结论308结束语31致谢32参考文献33附录PROTEL接线图34附录完整代码35附录器件清单481绪论11课题研究背景改革开放以来,随着中国经济实力的增强及百姓收入的增多,小汽车越来越多地进入了家庭,随之而来的是维修保养问题。喷油嘴是电喷发动机关键部件之一,它工作状况的好坏将直接影响发动机的性能。然而不少车主根本不重视发动机喷油嘴的清洗,或者认为发动机喷油嘴要隔很长时间才需进行清洗,殊不知喷油嘴堵塞会严重影响汽车性能喷油嘴堵塞的原因是发动机内积碳沉积在喷油嘴上或者燃油中的杂质等堵住了喷油嘴通路。汽车行驶一段时间后,燃油系统就会形成一定的沉积物。燃油系统沉积物有很大危害,如沉积物会堵塞喷油嘴的针阀、阀孔,影响电子喷射系统精密部件的工作性能,导致动力性能下降;沉积物会在进气阀形成积碳,致使其关闭不严,导致发动机怠速不稳、油耗增大并伴随尾气排放恶化;沉积物会在活塞顶和气缸盖等部位形成坚硬的积碳,由于积碳的热容量高而导热性差,容易引起发动机爆震等故障,此外还会缩短三元催化器的寿命。因此喷油嘴工作的好坏,对每台发动机的功率发挥起着根本性作用。12国外发展动态当今时代,清洗机技术已得到广泛应用,是信息社会的重要技术基础。随着科学技术的发展,产品应用范围的不断扩大,过去这类保养通常要交汽修厂进行,费用昂贵。现市场上出现的“电喷汽车喷油嘴清洗机”,但这些电喷汽车喷油嘴清洗机都有如下缺陷(1)该机型大都是体积过大,运输,使用等都不方便,从而加大成本。(2)该机型不能实现自动化,清洗时间,清洗温度也只能人工模糊控制,易使清洗机与电动机受损,且不易适合流水线工作。(3)并不具有如油面,油温过高过低等的报警警示功能。(4)一种电喷汽车喷油嘴清洗机只能适用一种机型2系统设计方案分析21电喷汽车喷油嘴清洗机的工作原理结合专用的燃油系统清洗剂,不需拆装发动机,只需用接头与发动机供油管及回油管连接,在发动机正常运转状况下,让清洗混合液进入燃油供给系统,在30分钟内即可溶解发动机供油管、喷油嘴针阀和燃烧室各组件的积碳、油泥、胶质及漆类污染物,经由循环燃烧分解过程,从汽车排放系统排出,恢复该车的性能,使其启动顺畅,怠速平稳,加油轻快,增加动力,达到省油及降低空气污染的效果。22电喷汽车喷油嘴清洗机的设计方案分析电喷汽车喷油嘴清洗机是通过控制电机运行时间和速度,达到对不同汽车作出相应调整,实现清洗目的设备。这样一个系统我们可以用不同方法来实现。我们可以用小型PLC加入一个文本模块来实现,在程序设计方面很简单并且系统很稳定、抗干扰能力强,就一般的品牌的PLC,其输入和输出点总共50个点左右,外加一个对应的文本模块就要1000元左右。还可以根据设计要求用单片机来实现,选择AT89S52单片机能实现控制要求且在8051单片机中AT89S52已经是低端的产品,在市面上比这个更低端的产品很少;一个AT89S52只要10元左右相当便宜,所以才选择AT89S52。当然用AT89S52也不一定是最好的选择,毕竟个人对单片机产品的了解及市场价位了解有限,所以选择熟悉的产品;因为设计要求清洗时间为30分钟左右,所以选择两位数码管来作为显示。在同类显示产品LCD也能做此设计显示,但2位数码管明显比一个LCD便宜;因为要对不同机型做清洗,所以不仅在时间上会不同,在清洗的力度上也会不同,这就要求电机能够变速。最直接的方法就是买一个变速电机,但是运用PWM脉冲调制的方法就能改变电机两端的输入电压,即可以改变电机的转速。用此方法只要一个直流电机就能够实现变速,这样不仅可以节省成本,而且在调速范围的灵活性也能优于用现成的变速电机;因为要对时间和压力进行设置所以必须要用外部输入一般在单片机中都是用按键输入。结合实际情况本设计用到时间、时间、压力、压力、开始,这5个按键。所以不采用矩阵键盘只接入5个单独的按键放入电路中;系统实现自动化控制并不是盲目的按照自我想法进行控制,而是要对外界的影响输出的因素进行检测并控制的。这本设计中油面/油温的高低是在清洗过程中对设备影响的重要因素,所以要根据汽车的油温范围和油面的高低情况选择适当的传感器。这本设计中在各方面的综合考虑下选择了(1)汽车油温传感器型号DA02QY品牌标记GXP特点1,螺钉结构,传感器用环氧树脂封装在螺钉内2,温度范围30200适用范围各类汽车。(2)01110003、液面高度检测传感器,一种液面高度检测传感器,包括信号采集电路、遮光板、浮标及遮光罩。红外发射二极管发射的红外光信号到液面浮标反射面上,其反射信号由红外接收二极管接收给信号采集电路,实现液面高度的检测任务。该装置结构简单,可靠性高、反应速度快,可在各种恶劣环境下工作,特别适用于汽车油面高度的检测。3系统总体设计31系统方案设计图31为电喷汽车喷油嘴清洗机的系统构成方框图,由单片机控制器、按键输入、检测输入、数码管显示、电机PWM驱动电路、输出控制等电路组成。检测输入数码管显示器电动机PWM驱动按键输入输出控制单单片机控制器图31系统构成方框图单片机AT89S52是整个系统的核心,负责控制检测输入,输出显示,电机调速。这里使用了ATMEL公司新型的AT89S52单片机。按键输入电路负责对清洗过程一系列工作参数进行设定输入。数码管显示器在工作过程中显示剩余的工作时间。电机调速利用了单片机内部的定时器,配合软件产生出脉宽调制波(PWM),再通过功率场效应管去驱动低压直流电机,具有效率高、能耗低、转速连续可调等特点。输出控制电路在油温过高或油面过低的情况下,切断高压汽油泵电机的供电,防止发生事故。电喷汽车喷油嘴清洗机的工作电源取自汽车上的12V蓄电池,经降压稳压后得到5V的稳定工作电压。32PWM调速设计321PWM波调速原理大家可能做过这样的小实验,一台额定电压为12V的直流小电机,使用一台可调稳压电源供电。当电压为12V时,电机转得很快;降低到9V时转速慢了很多;当降到6V时转速更慢了。因为电压降低后,电机获得的输入功率小了,当然转速就慢了。但单片机输出的是数字脉冲信号,如何控制电机调速这里,我们就设法控制单片机输出脉冲的宽度(即控制脉冲的占空比),使电机得到的平均输入功率发生变化,就能控制电机调速了。图32中,输出的为50的脉冲波,其电压平均值(如图中虚线所示)为6V,这样电机的速度就降低了。而图33中,输出的为接近100的脉冲波,其电压平均值约为12V,这时电机的转速就接近额定转速。T/SV61250100150图32输出的为50的脉冲波T/SV1250100150图33输出的为100的脉冲波322PWM调速与其他调速的比较(1)电机调速控制方案分析方案一采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。方案二采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案三采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。鉴于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三原理设计了PWM调速方案。(2)控制工作方式比较方案一双极性工作制。双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。方案二单极性工作制。单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。本设计采用单极性工作制。4硬件电路设计41显示电路设计411数码管显示原理LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示图41七段发光数码管为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。数码管分为共阳极和共阴极两种,如图42所示左为共阴极右为共阳极。图42共阴/共阳极数码管结构这两种不同极性数码管的接法不一样所以他们代码也就不同,数字09的共阴极和共阳极字形代码如下表表4109七段数码管共阴级字形代码显示字型GFEDCBA段码001111113FH1000011006H210110115BH310011114FH4110011066H511011016DH611111017DH7000011107H811111117FH911011116FHABCDEFGDPABCDEFGDP5V表4209七段数码管共阳极字形代码显示字型GFEDCBA段码0100000040H1111100179H2010010024H3011000030H4001100119H5001001012H6000001002H7111100078H8000000000H9001000010H数码管选择方面其中一个其实就可以,但是介于市面上共阴极数码管比较常见,所以选择共阴极数码管。412数码管显示电路43数码管显示实现电路设计以上Q1Q7是接到74LS373锁存器输出端上,因为是采用动态显示所以是把两个数码管段选并接在一起。在两个数码管的位选端各加入一个三极管(NPN),在这三极管的作用是起电流放大和开关的双重作用。在三极管的基极串入电阻(10K),电阻的选择电阻单片机输出电压三极管放大倍数数码管最大电流,当然还有一个最小电阻标准亮度可以就行。42PWM脉冲驱动电机电路设计图44为PWM脉冲驱动电机的实现电路。AT89S52单片机的P36脚输出占空比为60100的调宽脉冲,经光电隔离后驱动功率场效应管,这样,电机上获得的调宽脉冲波的占空比也为60100,幅度也为6V以上,电机具有机械惯性的特点,因此运行时不会产生抖动。图45为输出60脉冲时电机得到的直流电压平均值。图44为PWM脉冲驱动电机的实现电路为控制大批量生产的成本,使用了低价位的AT89S52单片机,但AT89S52内部没有集成PWM部件。这里我们利用了内部定时器,与软件配合产生出调宽脉冲波。在以上电路中为了使单片机产生的PWM脉冲能够不受干扰,采用了直流5V光电耦合器,同时加入具有电流放大作用的场效应管;加入的电阻都是使其电流值在器件的额定范围内,而在电机的两端并联反向二极管这有续流的作用。在继电器断开开关时电机中还有剩余电流,如果不及时排除对电机的寿命会产生影响。在电机两端串入一个电阻和电容是为了稳定电机两端的电压。T/SV1250100150图45输出60脉冲时电机得到的直流电压平均值43汽车喷油嘴清洗机器件分析431AT89S52单片机的功能特点AT89S52是一个低功耗,高性能CMOS8位单片机是AT89S系列的增强产品,片内含8KBYTESISPINSYSTEMPROGRAMMABLE的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFLASH存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有如下特点40个引脚,8KBYTESFLASH片内程序存储器,256BYTES的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,6个中断矢量2级优先权的中断系统,3个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S52设计和配置了空闲和掉电两种低功耗方式运行。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。主要功能特性兼容MCS51指令系统;32个双向I/O口;3个16位可编程定时/计数器;全双工UART串行通信口;具有8个中断源、6个中断矢量、2级优先权的中断系统;中断唤醒省电模式;看门狗(WDT)电路;灵活的ISP字节和分页编程;可在ISP编程锝8KB片内FLASH存储器;4555V工作电压;时钟频率033MHZ;双数据寄存器指针;低功耗空闲和掉电模式;3级程序锁存位;具有断电标志位功能;256X8BIT内部RAM;图46AT89S52引脚排列432光电耦合器光电耦合器是把发光器件与光敏接收器件集成在一起,或用一根光导纤维把两部分连接起来以实现信号传输作用的器件。通常发光器件采用发光管LED,光敏接收器件则采用光敏管等。当信号加在光电耦合器的输入端时,发光管发光,光敏管受光线照射而导通,输出相应的信号,实现了光电的传输和转换。其主要特点是以光为媒介实现信号的传输,使输入与输出间在电气上完全隔离。如图47所示。如图47光电耦合器433电容/电阻选择1电阻值的选择在硬件的设计中电阻的选择无非是改善电流/电压,使其他的器件在它的额定电压/电流内运作。选择电阻的值就直接根据RU/I公式。电流的大小是根据该电路中,额定电流范围最小的器件来选择电阻。根据公式I最小则电阻的阻值就是最大,这样所有串入该电路的器件才能得到保护。在光电耦合器使用的是12V电压,而光电耦合器允许电压小于12V,电流值只有几毫安所以接入1K电阻,当然也要考虑光电耦合器最低导通电压和电流。在数码管共阴极加入的放大三极管,基极加入的电阻就是改善电流的作用。根据流入的电压、三极管的放大倍数(169)和共阴极数码管额定电流(200MA左右),可以确定电阻的大小。我们选择了10K。2电容的选择在硬件设计中,电容虽然用得并不多但都有意义。在单片机的晶振电路中,在晶振的两端加上两个30PF左右的电容,是帮助晶振起振和稳定波形的作用。由于在实际中晶振并不能输出正弦波形,而是类似三角波但这样的波形是达不到要求的,根据电容稳定电压所以加入电容,这样晶振两端才有稳定的电压,才能输出稳定的波形(正弦波)。在复位电路中,运用电容的充电和放电时的波形,选择适当的电容能使复位时间达到设计的要求。44系统原理图使用PROTEUS软件绘制的电喷汽车喷油嘴清洗机电路原理图见图48,电喷汽车喷油嘴清洗机原理图共设有5个输入按键、一个油面传感器和一个油温传感器。两位数码管显示器用于显示输入时间、指示剩余工作时间及报警状态显示。蜂鸣器作报警提醒,继电器用于控制汽油泵电机的通断。XTAL218XTAL119ALE301PSN29RST9P0/AD0391/18P02/AD2373/36P04/AD4355/54P06/AD637/72P1012P12334P14556P16778P30/RXD101/TP32/IN012/IT13P34/014P37/RD176/W65/T15P27/A1528P20/A8211/9P2/A0233/14P24/A2255/1366/47T89S51AT89C51PROGRAM吴斌HEXXCRYSTALC330PFC430PFVI1VO3GND2IC27805T1IRF73088R2510C901UR2347KR2447KR2470GNDVCC110UFR1410KR110K210KR310K410KGND65412U1OPTCOUPLERNP65412U2OPTCOUPLERNPR61KR81KGNDGNDLS1PEAKERR10305VC210UFD11N404C1384NPR122KR1347KGND65412U3OPTCOUPLERNPC701UC601UC510UC810UGND5V12V12V65412U4OPTCOUPLERNP5V12VGNDD21N404RL1G2RL1ACFDC12R710KR91KR1470图48电喷汽车喷油嘴清洗机电路图按启动/停止键,两位数码管显示器显示“00”,“电喷汽车喷油嘴清洗机”处于待机状态。此时按时间、时间键就能选择工作时间,时间的选择范围为0060分钟。选好时间,再延时5秒P36输出低电平,继电器吸合工作,汽油泵运行在额定电压12V状态,数码管同时显示剩余的工作时间。按压力、压力键即使P36输出的脉冲占空比发生变化,即改变汽油泵转速来调整清洗压力。当剩余工作时间小于4分钟时,蜂鸣器开始鸣叫。定时结束时,继电器释放,汽油泵停止工作,蜂鸣器停止鸣叫,数码管显示“00”。若5分钟内无任何操作则数码管熄灭,自动关机。在作业过程中,若油面过低时,油面传感器开关(SOIL)闭合(实验时由开关代替),此信号经P15送入CPU,经运算处理,P37输出高电平,汽油泵自动断电,数码管G段显示“”;若油温过高时,温度继电器开关(STEM)闭合(实验时由开关代替),经P16送入CPU,P37输出高电平,汽油泵也自动断电,数码管G段显示“”。用PROTEL绘制的系统接线原理图见附录。5程序设计51软件的选择考虑到用汇编编程的复杂我选择用C语言来开发单片机系统软件,它最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C语言编程在单片机系统设计中已得到越来越广泛的运用。但在单片机上用C语言写程序和在PC机上写程序绝对不能简单等同。现在的PC机资源十分丰富,运算能力强大。写单片机的C程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如果没有对单片机体系结构和硬件资源作详尽的了解,是无法进行对单片机的编程的。随着国内单片机开发工具研制水平的提高,现在的单片机仿真器普遍支持C语言的调试,为单片机编程使用C语言提供了便利的条件。C语言的模块化程序结构特点,可以使程序模块大家共享,不断丰富;C语言的可读性的特点,更容易使我们借鉴前人的开发经验,提高自己的软件设计水平。采用C语言,可针对单片机常用的接口芯片编制通用的驱动函数;可针对常用的功能模块、算法等编制相应的函数。这些函数经过归纳整理可形成专家库函数,供广大的单片机爱好者使用和完善。这样可大大提高国内单片机软件设计水平。国内嵌入式系统的程序设计也采用C语言,可以借鉴其编程经验进行交流,以达到和国际接轨的目的。过去长时间困扰人们的“高级语言产生代码太长,运行速度太慢,不适合单片机使用”的致命缺点已被大幅度的克服。目前,8051上C语言的代码长度,在未加入人工优化的条件下,已经做到了最优汇编程序水平的1215倍,可以说,比得上中等程序员的水平。只要有好的仿真器的帮助,用人工优化关键代码就是简单的事了。如果谈到开发速度、软件质量、结构严谨性和程序固定性等方面,则C语言的完美绝非汇编语言编程所能比拟的。52主程序设计521主程序流程图主程序的工作过程为先进行初始化工作,然后判断是否启动若启动则读取键值信号或传感器输入信号,进行对应处理。否则进入工作状态。流程图如51启动根据键值散转油温高时间时间压力压力油面低处理关机处理正常工作延时5S初始化开始有键按入YNYNYYYN已延时5S图51主程序状态流程图522初始化程序程序设计时需设立一系列的变量、标志,具体如下UINTDEDA/1MS计时单元UCHARSEC/计时秒CHARSET_MIN/设定分UCHARMIN_5M/5分钟计数器UCHARVAL/中间变量UCHARPWM_VAL/调宽脉冲变量值CHARPUSH_VAL/压力变化值SFRWDT0XA6/定义看门狗定时器SBITPUSHDEC_KEYP14/压力键SBITPUSHINC_KEYP13/压力键SBITTIMEDEC_KEYP12/时间键SBITTIMEINC_KEYP11/时间键SBITBUZZP35/驱动蜂鸣器端SBITOUTP36/调宽脉冲输出端SBITRELAYP37/驱动继电器端UCHARDIS_SEL/显示内容散转标志BITOVER_5M/5分钟溢出标志BITFLAG_5M/5分钟标志BITFLAG_5S/5秒钟标志BITSTART/启动标志BITDIS_FLAG/显示标志BITKEY_FLAG/按下键标志BITBUZZ_SOUND/蜂鸣器声响标志BITY/中间变量BITOUT_FLAG/PWM输出标志/初始化/VOIDINITEX01/外部中断0响应控制位EX11IT01/选择下降沿触发方式IT11初始量变量的定义是用到整个程序当中的,所以并不是一开始就能把所有用到的变量都初始化有些变量是在编程的过程中要用才将其初始化的特别是一些中间的变量。在初始化中时对外部中断0和1开中断并选择下降沿触发的方式,外部中断0是判断开始按键是否有值键入(P32)。关于定时器的初始化见5353定时器的初始化531定时/计数器工作原理加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期TCY就是定时时间T。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHZ时,最高计数频率不超过1/2MHZ,即计数脉冲的周期要大于2S。80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。(1)工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下表表51寄存器TMOD控制字位76543210字节地址89HGAMEM1M0GAMEM1M0TMODGATE门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。定时/计数模式选择位。0为定时模式;1为计数模式。M1M0工作方式设置位,定时/计数器有四种。表52定时/计数器工作方式设置表M1M0工作方式说明00方式013位定时/计数器01方式116位定时/计数器10方式28位自动重装定时/计数器11方式3T0分成两个独立的8位定时/计数器T1此方式停止计数工作方式,由M1M0进行设置。在本课设中选择定时器0、1都是选择方式1则TMOD0X11(2)控制寄存器TCONTCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下表53TCON控制字位76543210字节地址88HTF1TF0TR1TR0TCONTF1(TCON7)T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。TR1(TCON6)T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。TF0(TCON5)T0溢出中断请求标志位,其功能与TF1类同。TR0(TCON4)T0运行控制位,其功能与TR1类同。其次进行定时器初值的计算。对于工作在方式1下的定时器计数总值是65536,设计数单位值为A,TH065536A/10,TL065536A10。以上程序是用定时器0做1MS的定时初值TH0(1000/256)(655361000)/256,TL0的值也是同理。再则是开中断。EA1开总中断,ET01开定时器0允许中断响应,TR01开定时器0控制运行位。满足以上的条件时才能对定时器正常使用。在本程序中用到定时器0和定时器1两个定时初值时间设置,时间差距很大很可能会出现初值小的定时器不能得到响应。这主要的原因是初值差距大,可能在初值小的定时器溢出标志位置1时,同时另一个定时器也可能溢出,这时如果初值大定时器优先级比另一个大的话,那就会出现一个定时器不能得到响应。所以在有几个定时器的时候一定要注意初值的设定。具体的定时器初始化设计见532。532定时器初始化/定时器T0初始化/VOIDINIT_TIMER0TMOD0X11TH01000/256/1MS初值TL01000256TR00ET01EA1/定时器T1初始化/定时器T1初始化/VOIDINIT_TIMER1TH150000/256/5MS初值TL150000256TR11ET11EA154部分程序分析541读键子程序分析VOIDKEYVOIDDELAY10WHILEP10XFFSWITCHP1CASE0XFDTIME_INCBREAKCASE0XFBTIME_DECBREAKCASE0XF7PUSH_INCBREAKCASE0XEFPUSH_DECBREAKCASE0XDFOIL_LOWBREAKCASE0XBFTEMP_OVERBREAKCASE0X9FOTHERBREAKDEFAULTBREAKDELAY500以上程序通过应用”SWITCHCASE”语句判断键入值,并跳入相应的子程序处理。”SWITCHCASE”语句是判断SWITCH括号中的数据并把该数据的各种情况写入CASE判断条件中,当和其中的情况对应上时就跳出该语句转入对应的情况中;在进入程序开始有调用延时程序这主要是为了消抖,因为在实际按键时并不是按下键就直接变为高或低,而是出现不稳定的波形如图62,因而要在确定有键按下时先进行延时,跳过按下抖动这段时间相应在释放时也加入延时跳过释放抖动。按下抖动释放抖动实际波形理想波形稳定闭合图52按键输出波形542用程序产生PMW脉冲调速子程序分析VOIDPWM_OUTVOIDIFOUT_FLAG/如果输出标志有效IFPWM_VAL50PWM_VAL0ELSEOUTOFF主要通过对变量PWM_VAL调宽脉冲输出端和一些数做比较,在PWM_VAL大于此数的时候输出ON,小于的时候输出OFF。这样就产生PWM脉冲波形并且能够自动调节脉宽的大小,在此设计中就是调节电压的大小。643显示子程序分析VOIDNORMAL_DISVOIDIFDIS_FLAGP2DATA_7SEGSET_MIN/10P3_00P3_11DIS_FLAG0ELSEP2DATA_7SEGSET_MIN10P3_01P3_10DIS_FLAG1以上为正常显示子程序,在硬件设计中时把所有的数码管段选端并联端串在一起所以是采用动态显示。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。要显示的值放在SET_MIN中SET_MIN/10是对寄存器的数求整因为是对10求整而且是两位数的显示,所以得到的值为就是十位上的数字,这时只开十位上的位选;同理SET_MIN10是对寄存器中的数对10进行求余放在个位上只开个位上的位选。根据数码管显示的原理必须有段选和位选两者同时选通才能显示要显示的数值。本设计中用了动态显示所以直接可以送数据,不存在段选的问题。直接位选选通要显示那位。55完整代码见附录26调试应用61软件调试本次设计是用KEIL51UV3软件调试,其主要优点在于能把编写的程序转换成多种格式文件,还有强大调试功能。刚接触时对这个软件及C语言编程一点都不懂,对该软件操作还是学得比较轻松,最困难的还是用C语言编程。在有关书籍的指导下开始理解并编写一些小程序例如延时子程序、二极管亮灭、数码管显示、按键显示等等,这样开始才对本次设计有一些信心。设计要求有时间的加减和电压的加减,第一步编写了一个按键(时间)时,完成对电机转动的时间的倒计时,虽然还是有些吃力,但是至少一步步按照逻辑关系编写出来了。在这个程序调试成功后,另外几个按键的处理程序就很快编写出来了。把设计中用到的一些关键处理程序编成功后,就可以整体规划了。首先把单片机的输入输出口分配好,在编程时用到那个点就定义那个点。在每编写一个程序时要有一个流程图,要不就会容易乱。用C语言编程当然也有它的好处程序可移植性很强,运用这个特点有很多程序都不用自己重头写,只要稍作改动。比如用到按键输入,就移植一个读键子程序,把单片机上的按键输入点编码和按键对应,运用C语言语句能找出相应的点。有显示就移植一个动态显示子程序,由于用到的只是两位数码管显示所以只要把移植过来的程序改为两位显示。注意在编写程序的时候不要把程序都集中在主线程中,这样会给程序的调试和分析带来很多的麻烦(虽然主程序放上几千行程序没有问题),可以把它们模块化成子程序,要调用的时候只要找到相应的头文件。程序就是这样一步步的写出来的,能把写好的程序能调试成功这才是关键,也是自我想法实现的一个过程。到调程序的时候遇到问题的很正常的,所以必须要有一个好的心态并保持冷静和耐心,发现问题并解决问题是一个非常享受的过程。当然在困难的时候同学和老师的帮助是很必要的,程序就这样在调试中改进。虽然最终实现了其中的部分功能,但还是很高兴。因为这个过程本来就是一个自学与自我实现的过程,在有限的时间内把一个陌生的事物达到某个效果,这不就是在今后的工作中的情形嘛62硬件调试在仿真实现后就可以硬件焊接,焊接时是有先后顺序的,这必须和调试联系在一起,先把按键、单片机、数码管焊接起来这样就可以先调试了。上电按下开始按钮后就出现问题,比如共阴极数码管在公共端加入三极管放大,上电后应该是两个数码管全亮的但是却出现乱码,这肯定是数码管的接线有问题。可以先用万用表调到蜂鸣器的档,分别检查数码管的各个引脚焊接和接线是否有问题,如果数码管的接线都没有问题,那再把单片机通上电用万用表测量单片机接入7段数码管的输出点是否都输出高电平。如果输出高电平那说明数码管有问题,否则说明单片机有问题。硬件中的很多问题都可以这样查找只要严谨的态度。63实验室调试注意事项1电源检测12V电压经稳压变成5V,插芯片前必先检测电源2单片机先不接,先检测光电耦合使用是否正常64功能调试通电前应检查焊接质量,确认无故障并将程序写入单片机AT89S51中。(1)按启动/停止键,两位数码管显示器显示“00”。(2)按时间、时间键选择工作时间,每次累加(减)1分钟,时间的选择范围为0060分钟。(3)选好时间,延时5秒后继电器吸合工作,数码管同时显示剩余的工作时间。(4)按压力、压力键通过改变直流电机上的电压(即改变汽油泵转速)调整清洗压力,数码管有显示。(5)当剩余工作时间小于4分钟时,蜂鸣器开始鸣叫。直到定时结束,继电器释放,蜂鸣器停止鸣叫,数码管显示“00”。(6)5分钟内无任何操作则自动断电,数码管无显示。油面过低保护为防止无油损坏汽油泵,油面过低时,传感器开关闭合,数码管G段显示“”。油温过高保护为防止油温过高起火,温度过高时,温度继电器开关闭合,数码管G段显示“”。7结论这次毕业设计我做的题目是。按照老师交给的任务书逐项来完成的。设计过程中的数据计算、硬件设计,软件处理等诸多方面进行论述,以求得较完善的工作性能来提高产品质量。因为做的题目是综合单片机,电机拖动,及自动化相关知识结合才能完成的。所以在学习的过程中不断学习新知识,一边学一边做。不断学习不断完善。单片机应用技术是实现测试与自动控制的重要环节。在测试系统中,被作为一次仪表定位,其主要特征是能准确传递和检测出某一形态的信息,并将其转换成另一形态的信息。汽车喷油嘴清洗机的设计能把感受到的信号转换为电机变化。首先是设计一个系统的框架图把整个系统模块化,随后,对各个模块进行设计这个过程也就是选择的过程,从单片机的选择,电机调速方式的选择,显示电路方式的选择等等都要对它们先有所了解在结合设计的要求选择。在硬件电路确定后就是编写控制程序,当然整个程序不可能一次性完成。其次,画出总程序流程图,再对各个小模块进行编写再和PROTUES联调一步步添加程序最终实现设计要求。当然以上的每个过程都不是那么容易实现的,毕竟是从0开始,必须要有坚持不懈的精神。由于是初次应用单片机,无论是在硬件电路的设计还是在编写程序方面都有很多困难,但好在有老师和同学的帮助,困难一一解决。最后还是做出了一些成果,心里还是非常高兴的。总结本次设计还是学到了很多知识,尤其是单片机方面的知识,这对我日后走向工作岗位从容的从事各种单片机设计是极其有利的。8结束语本次毕业设计,在经过4个月的努力,通过C51单片机为核心实现了单片机控制直流电机的功能,能够对电机运行时间进行调整及电压的调整。当然,在设计中遇到了一些问题,例如,学习用PROTEL99设计硬件电路时遇到的困难比较大,但经过导师的指导和自己的学习及同学的帮助,可以用它来设计一些简单的电路图。起初,在收集课题资料方面有一定难度,在张军老师的指点在图书馆找到了与课题相关的一些资料,通过看书、作实验,基本了解了设备的工作原理,在自己设计过程中,自己购买了一些相关元件并且在学校实验室里进行了焊接,在参数设计方面请教了多名实验室老师才一步步把问题解决。毕业设计在仿真软件上实现毕设要求,但硬件方面还是没得到圆满的结局,有不尽人意之处。但是在这段时间里,感觉真正学到了不少东西。并且我坚信如果以后有单片机控制电机方面的实例,我完全可以凭借自己的能力实现其功能。其次要感谢一起作毕业设计的对我帮助很大的同学,他们在本次设计中勤奋工作,克服了许多困难来完成此次毕业设计,并承担了一部分的工作量。如果没有他们对我的帮助,此次设计的完成将变得非常困难。然后还要感谢大学四年来所有的老师,为我们打下自动化专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成。最后感谢各位领导老师大学四年来对我的大力栽培。致谢本文是在导师张军老师的悉心指导下完成的。张军老师敏锐的洞察力,渊博的知识、严谨的治学态度和一丝不苟的工作作风给我留下了深刻的印象。在整个毕业设计过程中创造的良好的科研和学习环境及对我的严格要求和勉励,本人也从张军老师的独特的教学和管理方式上受益匪浅。在此谨向张军老师表示衷心的感谢和崇高的敬意。衷心感谢邸庆龙学长在本课题的设计过程中对我工作的支持和帮助。感谢所有在学习过程中帮助过我的朋友们。当然,还要感谢航空学院的图书馆为我提供参考书籍,在此深表感谢。作为一名沈航学子,作者衷心感谢沈航对自己四年来的培养,将永远为她而骄傲。参考文献1刘建辉翼常鹏等单片机智能控制技术M国防工业出版社,19992李朝青单片机外围数IC技术手册M北京航空航天大学出版社,20013关德新冯文全单片机外围器件实用手册电源分册M北京北京航空航天大学出版社4曹冬尹成群何玉钧基于AT89S51的新型打铃器J电子世界2005年第4期5刘灿军编著实用传感器国防工业出版社,20046张洪润编著传感器技术与应用教程清华大学出版社,20067刘宏伟基于单片机的模糊控制方法及应用研究D;硕士;武汉理工大学;200705018谭浩强C程序设计M北京清华大学出版社200469中国电子学会2000/2001传感器与执行器大全年卷Z北京电子工业出版社,200110凌阳大学计划凌阳单片机网HTTP/WWWUNSPCOMCN/1996,7单成祥传感器的理论与设计基础及其应用M北京国防工业出版社,199911HACHOLA,DZIUBANJ,BOCHENEKAOPHTHALMICGEOMETERWITHSILICONMICROMACHINEDSTRUCTUREJSENSORSANDACTUATORSAPHYSICAL,1996,5710233312GUANDEXINFENGWENQUANMCUPERIPHERALDEVICESPRACTICALMANUALPOWERVOLUMESMBEIJINGBEIJINGUNIVERSITYOFAERONAUTICSANDASTRONAUTICSPRESS,19986158162/110592MHZ,看门狗工作DEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINEON0DEFINEOFF1DEFINERESETWDT0X1EWDT0XE1/看门狗复位宏定义UCHARCODEDATA_7SEG100X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F/09的数码管段码/UINTDEDA/0/1MS计时单元UCHARSEC/0/计时秒CHARSET_MIN/0/设定分UCHARMIN_5M/0/5分钟计数器UCHARVAL/0/中间变量UCHARPWM_VAL/调宽脉冲变量值CHARPUSH_VAL/20/压力变化值SFRWDT0XA6/定义看门狗定时器SBITPUSHDEC_KEYP14/压力键SBITPUSHINC_KEYP13/压力键SBITTIMEDEC_KEYP12/时间键SBITTIMEINC_KEYP11/时间键SBITBUZZP35/驱动蜂鸣器端SBITOUTP36/调宽脉冲输出端SBITRELAYP37/驱动继电器端UCHARDIS_SEL/0/显示内容散转标志BITOVER_5M/0/5分钟溢出标志BITFLAG_5M/0/5分钟标志BITFLAG_5S/0/5秒钟标志BITSTART/0/启动标志BITDIS_FLAG/显示标志BITKEY_FLAG/0/按下键标志BITBUZZ_SOUND/1/蜂鸣器声响标志BITY/0/中间变量BITOUT_FLAG/PWM输出标志/函数声明列表/VOIDTIME_CONVVOID/时间计算子函数VOIDPWM_OUTVOID/调宽脉冲输出子函数VOIDPUSH_DISVOID/显示压力子函数VOIDOIL_DISVOID/显示缺油子函数VOIDNORMAL_DISVOID/显示正常工作子函数VOIDOTHER_DISVOID/显示(缺油、超温)子函数VOIDTEMP_DISVOID/显示超温子函数VOIDOIL_LOWVOID/缺油处理子函数VOIDTEMP_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 库房物资结存方案(3篇)
- 职业操守-评价方案(3篇)
- DB23-T3022-2021-市场主体电子档案影像管理系统信息化规范-黑龙江省
- 初中家长生活管理制度
- 培训学员教学管理制度
- 仓储现场管制方案(3篇)
- 园林环卫服务管理制度
- 医院精神卫生管理制度
- 农村养鸭日常管理制度
- 医院合同评审管理制度
- 软土地基处理新技术课件
- 幼儿园精选优质公开课:中班音乐游戏-快乐的小青蛙(第十届)
- 2022年天津市南开区小升初数学试卷
- (100+170+100)m变截面三向预应力连续刚构桥挂篮悬臂浇筑法施工方案49页
- 广东省广州市增城区2021-2022学年八年级下学期期末考试道德与法治试题(word无答案)
- 二年级平行四边形的初步认识
- 《药理学》教案(全套)
- 新版部编版五年级语文下册全册看拼音写词语附答案
- DC-DC变换器电力电子课程设计报告
- 年产3000吨鸡肉火腿肠的车间设计
- 银发【2007】246号
评论
0/150
提交评论