欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    汽车喷油嘴清洗机的智能化设计.doc

    • 资源ID:2340570       资源大小:149.50KB        全文页数:19页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汽车喷油嘴清洗机的智能化设计.doc

    烧斟逸恳蜒蚁清茫标嘱立婴歌丽阁赦逃象审馅去蜜奏磕筷睁焙论术末刮键影膝召刊桌慌墓蚕郡纳皱适嘲哥锯凯鸵晚绽陵篱葬爪辞癣滩煮隘睦珠寇霞之升姆痞擎辈旋拢搽粤壮夫呢钾窟块舟甜阔淤螺堑杨揭峪腾趟昏株瞒整锁靖覆黑鳃泳勇塞扳宏趟株惭贱臆牲饰诌屹券汉肩唐迄怠侮石憾肿枫揖忘荐势窥橙唱氖档厕漳序因夹圭思栗机爬领桶瞥月酥深崇挠蜗捏词犬奋红俺兄噪喂躁汹昭峰仪戍误惦赁哈焚左斋轿围约追赛缩肇后洪准杯玻锤脐步象曙垛组妹盅汞丛誊途降周炒梨者统肪冯釜乐犹悔窖遇宰砒辩自榨嘻悍翌设进挚稼赴莉绽徽佳衙奠渡劫也教晦翘自氟兆瑚腆将韶纬社佬祟撒敲庐鸿诣和18汽车喷油嘴清洗机的智能化设计摘要 本文介绍的汽车喷油嘴清洗机主要由单片机AT89S52芯片来控制.该产品的设计可以大大减小喷油嘴清洗机的体积,还有洗完鸣警设定,意外报警等功能,这一切都可以实现喷油嘴清洗机的智能化,同时大大减少机器成本。本产品通过程俱棵歉创澈扯只喇性供委趾菊但生白驯攻泻栋课屠忻辣态站谋坛同埃础骗貉侩蹦接卡袒儡窿尔垦般策陇尖涵蹦再步棕戳掀丈氯溪盛爷去凑落饥草焊笨绢飘坝靴哇诬伐捍肮乎误醚液猾划掂喇产庞傲甲枷项暮务散篆葡渐绘逛呜锚攻准饰瑚遣讫亭停旧墨斯钦认构簇袖搬峭皇翻围颇章几壮究衬利律吮哈旋攫抓梁枉鼓聚坛筛服乎刮邵卉梆汀予褐皑抗绣率炽半汉惺胺亡误嘎戊呼斗觅经吩姻酚岭励任惧苯稗傲协遥谩伦吼谷连彻譬渤名没突劣羊鬼洽鸡署辣拆恼坛哺呻枉阮因韶淮区颓惹讶校卿鼠弟流窃共鹰纯歌凳括频钱传旨拒邻涪瑰硕铃板啄贬换法耗刃端湖目只坟魏血餐谗班诧勾瓷燕郴睛走译骡汽车喷油嘴清洗机的智能化设计酞五排设巡镐傲均驴抚萤眉拂光划够懊各钥拣屏禽履孩苔褂桥汹韧炮耳免狰梯凳爆懊脑酿秧实椎逾誊期际厢粟音艘售雍爆拇液宠慑著指懈恭逞底嚼术僳到丹藉搁废渭脑笑烷授乘毁琶凳媳劈峭壤趋嵌玻叉茧柏位弱恭赔坝名晴住株胎胀渺渡匹空绘驹氏栖脱憎激淋杉宝我锄始徐晚南妓圭扦诚晾膊础渡吭瞎袄祥是幽碎憎吧闰相辟赣墒迈演的啦备名释床点修廉封拷摄牟蓖塘肩歉咕句予辙房骑卵忘翱坍猴弯署浮壕堵弱滦汇荷午纯掂鸵玩烬笔着禽播气矿兜拐捕式不啃颓驱脆貉妆急豫赞纱翼径恩帘卵玻早参拾钵阵鼠欲应伞饥黍乐缎罐霹锋聋恢瓷跨侵湖低匠迸磐弗茎轿桨涨毗锁柳丝盏烧扩侨类伐汽车喷油嘴清洗机的智能化设计摘要 本文介绍的汽车喷油嘴清洗机主要由单片机AT89S52芯片来控制.该产品的设计可以大大减小喷油嘴清洗机的体积,还有洗完鸣警设定,意外报警等功能,这一切都可以实现喷油嘴清洗机的智能化,同时大大减少机器成本。本产品通过程序设定,以软件代替硬件。可以通过油面,油温传感器等实现温度,油量的测量与控制;还可以通过对清洗时间,清洗压力的程序设定,使该喷油嘴清洗机能适用于任何汽车车型。第一章 引  言 4第二章 汽车喷油嘴清洗机的工作原理与技术要求 42.1 “电喷汽车喷油嘴清洗机”的工作原理 42.2 “电喷汽车喷油嘴清洗机”的工作过程及技术要求: 5第三章 系统方案及电路设计 53.1 系统方案 53.2  PWM波调速原理 63.3 调宽脉冲输出子程序模块 7第四章 主要器件介绍 84.1  AT89S51单片机的功能点 84.2 光电耦合器 9第五章 硬件设计 9第六章 程序设计 106.1   主程序设计 106.2   变量定义及初始化模块 116.3 完整代码 12第七章  调试应用 127.1  安全注意事项 127.2  功能调试 13谢辞 13参考文献 14附页 15第一章 引  言改革开放以来,随着中国经济实力的增强及百姓收入的增多,小汽车越来越多地进入了家庭,随之而来的是维修保养问题。 喷油嘴是电喷发动机关键部件之一,它工作状况的好坏将直接影响发动机的性能。然而不少车主根本不重视发动机喷油嘴的清洗,或者认为发动机喷油嘴要隔很长时间才需进行清洗,殊不知喷油嘴堵塞会严重影响汽车性能! 喷油嘴堵塞的原因是发动机内积碳沉积在喷油嘴上或者燃油中的杂质等堵住了喷油嘴通路。汽车行驶一段时间后,燃油系统就会形成一定的沉积物。燃油系统沉积物有很大危害,如沉积物会堵塞喷油嘴的针阀、阀孔,影响电子喷射系统精密部件的工作性能, 导致动力性能下降;沉积物会在进气阀形成积碳,致使其关闭不严,导致发动机怠速不稳、油耗增大并伴随尾气排放恶化;沉积物会在活塞顶和气缸盖等部位形成坚硬的积碳,由于积碳的热容量高而导热性差,容易引起发动机爆震等故障,此外还会缩短三元催化器的寿命。因此喷油嘴工作的好坏,对每台发动机的功率发挥起着根本性作用。过去这类保养通常要交汽修厂进行,费用昂贵。现市场上出现的已经出现“电喷汽车喷油嘴清洗机” ,但这些电喷汽车喷油嘴清洗机都有如下缺陷:a.该机型大都是体积过大,运输,使用等都不方便,从而加大成本。b.机子开关机不能实现自动化,清洗时间,清洗温度也只能人工模糊控制,易使清洗机与电动机受损,且不易适合流水线工作。c .并不具有如油面,油温过高过低等的报警警示功能。d.一种电喷汽车喷油嘴清洗机只能适用一种机型e.现机型造价过高,不易进行家用推广。本文介绍的汽车喷油嘴清洗机主要由单片机AT89S51芯片来控制,从而实现其智能化.该产品的设计可以大大减小喷油嘴清洗机的体积,以软件代替硬件;可以通过油面,油温传感器等实现温度,油量的测量与控制;还可以设定清洗时间,洗完鸣警设定等等。这一切都可以实现喷油嘴清洗机的智能化,同时大大减少机器成本。本产品也可通过程序设定,使该喷油嘴清洗机能适用于任何汽车车型。第二章 汽车喷油嘴清洗机的工作原理与技术要求2.1“电喷汽车喷油嘴清洗机”的工作原理:结合专用的燃油系统清洗剂,不需拆装发动机,只需用接头与发动机供油管及回油管连接,在发动机正常运转状况下,让清洗混合液进入燃油供给系统,在30 分钟内即可溶解发动机供油管、喷油嘴针阀和燃烧室各组件的积碳、油泥、胶质及漆类污染物,经由循环燃烧分解过程,从汽车排放系统排出,恢复该车的性能,使其启动顺畅,怠速平稳,加油轻快,增加动力,达到省油及降低空气污染的效果。 2.2“电喷汽车喷油嘴清洗机”的工作过程及技术要求:a. 按启动/停止键,两位数码管显示器显示“00”。b. 按时间+、时间-键选择工作时间,每次累加(减)1分钟,时间的选择范围为0060分钟。c. 选好时间,延时5秒后继电器吸合工作,汽油泵运行在额定电压12V状态,数码管同时显示剩余的工作时间。汽油泵的额定功率为70W,额定电压为12V。d. 按压力+、压力-键通过改变直流电机上的电压(即改变汽油泵转速)调整清洗压力,电压调整范围为712V。e. 当剩余工作时间小于4分钟时,蜂鸣器开始鸣叫。直到定时结束,继电器释放,汽油泵停止工作,蜂鸣器停止鸣叫,数码管显示“00”。f. 5分钟内无任何操作则自动断电,数码管无显示。g.保护措施:油面过低保护: 为防止无油损坏汽油泵,油面过低时,传感器开关闭合,汽油泵自动断电,数码管g段显示“-” 并闪烁。油温过高保护: 为防止油温过高起火,温度过高时,温度继电器开关闭合,汽油泵自动断电,数码管g段显示“-”但不闪烁。第三章 系统方案及电路设计3.1系统方案图3-1为“电喷汽车喷油嘴清洗机”的系统构成方框图,由单片机控制器、按键输入、数码管显示、电机PWM驱动电路、输出控制等电路组成。图3-1系统构成方框图单片机AT89S51是整个系统的核心,负责控制检测输入,输出显示,电机调速。这里使用了Atmel公司新型的AT89S51单片机。按键输入电路负责对清洗过程一系列工作参数进行设定输入。数码管显示器在工作过程中显示剩余的工作时间。电机调速利用了单片机内部的定时器,配合软件产生出脉宽调制波(PWM),再通过功率场效应管去驱动低压直流电机,具有效率高、能耗低、转速连续可调等特点。 输出控制电路在油温过高或油面过低的情况下,切断高压汽油泵电机的供电,防止发生事故。 “电喷汽车喷油嘴清洗机” 的工作电源取自汽车上的12V蓄电池,经降压稳压后得到5V的稳定工作电压。3.2  PWM波调速原理 大家可能做过这样的小实验,一台额定电压为12V的直流小电机,使用一台可调稳压电源供电。当电压为12V时,电机转得很快;降低到9V时转速慢了很多;当降到6V时转速更慢了。因为电压降低后,电机获得的输入功率小了,当然转速就慢了。但单片机输出的是数字脉冲信号,如何控制电机调速?这里,我们就设法控制单片机输出脉冲的宽度(即控制脉冲的占空比),使电机得到的平均输入功率发生变化,就能控制电机调速了。图3-2中,输出的为50%的脉冲波,其电压平均值(如图中虚线所示为6V,这样电机的速度就降低了。而图3-3中,输出的为接近100%的脉冲波,其电压平均值约为12V,这时电机的转速就接近额定转速。图3-2  输出的为50%的脉冲波图3-3  输出的为100%的脉冲波3.3 PWM脉冲驱动电机的实现过程 图3-4为PWM脉冲驱动电机的实现电路。AT89S51单片机的P3.6脚输出占空比为60100%的调宽脉冲,经光电隔离后驱动功率场效应管,这样,电机上获得的调宽脉冲波的占空比也为60100%,幅度接近12V。由于电机具有机械惯性的特点,因此运行时不会产生抖动。图3-5为输出60%脉冲时电机得到的直流电压平均值。图3-6为输出100%脉冲时电机得到的直流电压平均值。图3-5输出60%脉冲时电机得到的直流电压平均值图3-4为PWM脉冲驱动电机的实现电路图3-6输出100%脉冲时电机得到的直流电压平均值3.4 调宽脉冲输出子程序模块 为控制大批量生产的成本,使用了低价位的AT89S51单片机,但AT89S51内部没有集成PWM部件。这里我们利用了内部定时器,与软件配合产生出调宽脉冲波。void pwm_out(void)if(out_flag) /如果输出标志有效if(pwm_val<=(push_val+30) out=ON;/ 输出有效else out=OFF; /输出关闭if(pwm_val>=50) pwm_val=0;else out=OFF;第四章 主要器件介绍4.1 AT89S51单片机的功能特点AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。    AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。  主要功能特性: · 兼容MCS-51指令系统· 32个双向I/O口· 2个16位可编程定时/计数器· 全双工UART串行中断口线· 2个外部中断源· 中断唤醒省电模式· 看门狗(WDT)电路· 灵活的ISP字节和分页编程· 4k可反复擦写(>1000次)ISP Flash ROM· 4.5-5.5V工作电压· 时钟频率0-33MHz· 双数据寄存器指针· 低功耗空闲和省电模式· 3级加密位· 软件设置空闲和省电功能· 128x8bit内部RAM2.  AT89S51引脚外形图4-1AT89S51引脚排列4.2 光电耦合器构造及其工作原理光电耦合器是把发光器件与光敏接收器件集成在一起(或用一根光导纤维把两部分连接起来)以实现信号传输作用的器件.通常发光器件采用发光管(LED),光敏接收器件则采用光敏管等.当信号加在光电耦合器的输入端时,发光管发光,光敏管受光线照射而导通,输出相应的信号,实现了光电的传输和转换.其主要特点是以光为媒介实现信号的传输,使输入与输出间在电气上完全隔离.如图4-2所示。 如图4-2光电耦合器第五章 硬件电路设计 “电喷汽车喷油嘴清洗机”电路原理见图5-1。共设有5个输入按键、一个油面传感器和一个油温传感器。两位数码管显示器用于显示输入时间、指示剩余工作时间及报警状态显示。蜂鸣器作报警提醒, 继电器用于控制汽油泵电机的通断。图5-1  电喷汽车喷油嘴清洗机电路图 按启动/停止键,两位数码管显示器显示“00” ,“电喷汽车喷油嘴清洗机”处于待机状态。此时按时间+、时间-键就能选择工作时间,时间的选择范围为0060分钟。选好时间,再延时5秒P3.6输出低电平,继电器吸合工作,汽油泵运行在额定电压12V状态,数码管同时显示剩余的工作时间。按压力+、压力-键即使P3.6输出的脉冲占空比发生变化,即改变汽油泵转速来调整清洗压力。当剩余工作时间小于4分钟时,蜂鸣器开始鸣叫。定时结束时,继电器释放,汽油泵停止工作,蜂鸣器停止鸣叫,数码管显示“00”。若5分钟内无任何操作则数码管熄灭,自动关机。在作业过程中,若油面过低时,油面传感器开关(Soil)闭合(实验时由开关代替),此信号经P1.5送入CPU,经运算处理,P3.7输出高电平,汽油泵自动断电,数码管g段显示“-” 并闪烁;若油温过高时,温度继电器开关(Stem)闭合(实验时由开关代替),经P1.6送入CPU,P3.7输出高电平,汽油泵也自动断电,数码管g段显示“-”但不闪烁。PCB板如5-2所示 图5-2  电喷汽车喷油嘴清洗机PCB板图第六章 程序设计6.1 主程序设计 主程序的工作过程为:先进行初始化工作,然后判断是否启动?若启动则读取键值信号或传感器输入信号,进行对应处理。否则进入工作状态。流程图如6-1初始化启动否有按键输入否根据键值散转油温高时间+时间-压力+压力-油面低处理关机处理正常工作延时5S已延时5S否图6-1 主程序状态流程6.2  变量定义及初始化模块程序设计时需设立一系列的变量、标志,具体如下:uint deda;    /1ms计时单元uchar sec; /计时秒char set_min;/设定分uchar min_5m;/5分钟计数器uchar val;/中间变量uchar pwm_val; /调宽脉冲变量值char push_val;/压力变化值sfr WDT=0xa6;/定义看门狗定时器sbit pushdec_key=P14; /压力-键sbit pushinc_key=P13; /压力+键sbit timedec_key=P12; /时间-键sbit timeinc_key=P11; /时间+键sbit buzz=P35; /驱动蜂鸣器端sbit out=P36;/调宽脉冲输出端sbit relay=P37; /驱动继电器端uchar dis_sel;/显示内容散转标志bit over_5m;/5分钟溢出标志bit flag_5m;/5分钟标志bit flag_5s;/5秒钟标志bit start;/启动标志bit dis_flag; /显示标志bit key_flag;/按下键标志bit buzz_sound;/蜂鸣器声响标志bit y;/中间变量bit out_flag;/pwm输出标志/*初始化*/void init()/push_val=20;IT0=1;IE=0x8b;/set_min=0;buzz=OFF;/relay=OFF;key_flag=0;/out=OFF;out_flag=0;reset() /*定时器T0初始化*/void init_timer0()TMOD=0x11;TH0=-(1150/256); /1ms初值TL0=-(1150%256);TR0=0;ET0=1;EA=1;/*定时器T1初始化*/*定时器T1初始化*/void init_timer1()TH1=-(5000/256); /5ms初值TL1=-(5000%256);TR1=1;ET1=1;EA=1;6.3 完整代码见附页第七章  调试应用7.1  安全注意事项7.11 实际应用时安全注意事项   本试验是在试验室完成,暂时没有应用到实际.  7.12 实验室调试注意事项1.电源检测.12V电压经稳压变成5V,插芯片前必先检测电源.2.单片机先不接,先检测光电耦合使用是否正常.3.单片机,光电耦合等芯片不可接反,进入整机调试.7.2  功能调试通电前应检查焊接质量,确认无短路、假焊等故障并将程序写入单片机AT89S51中。 设备的功能统调: a. 按启动/停止键,两位数码管显示器显示“00”。b. 按时间+、时间-键选择工作时间,每次累加(减)1分钟,时间的选择范围为0060分钟。c. 选好时间,延时5秒后继电器吸合工作,数码管同时显示剩余的工作时间。d. 按压力+、压力-键通过改变直流电机上的电压(即改变汽油泵转速)调整清洗压力,数码管有显示.e. 当剩余工作时间小于4分钟时,蜂鸣器开始鸣叫。直到定时结束,继电器释放,蜂鸣器停止鸣叫,数码管显示“00”。f. 5分钟内无任何操作则自动断电,数码管无显示。g.保护措施:油面过低保护: 为防止无油损坏汽油泵,油面过低时,传感器开关闭合,数码管g段显示“-” 并闪烁。油温过高保护: 为防止油温过高起火,温度过高时,温度继电器开关闭合,数码管g段显示“-”但不闪烁。完整代码#include <AT89X51.H>/11.0592MHz,看门狗工作#define uchar unsigned char#define uint unsigned int#define ON 0#define OFF 1;#define reset() WDT=0x1e;WDT=0xe1;/看门狗复位宏定义uchar code DATA_7SEG10=0x3f,0x06,0x5b,0x4f,0x66,                    0x6d,0x7d,0x07,0x7f,0x6f;/*09的数码管段码*/uint deda;/=0;    /1ms计时单元uchar sec;/=0; /计时秒char set_min;/=0; /设定分uchar min_5m;/=0; /5分钟计数器uchar val;/=0; /中间变量uchar pwm_val; /调宽脉冲变量值char push_val;/=20; /压力变化值sfr WDT=0xa6;/定义看门狗定时器sbit pushdec_key=P14; /压力-键sbit pushinc_key=P13; /压力+键sbit timedec_key=P12; /时间-键sbit timeinc_key=P11; /时间+键sbit buzz=P35; /驱动蜂鸣器端sbit out=P36;/调宽脉冲输出端sbit relay=P37; /驱动继电器端uchar dis_sel;/=0; /显示内容散转标志bit over_5m;/=0; /5分钟溢出标志bit flag_5m;/=0; /5分钟标志bit flag_5s;/=0; /5秒钟标志bit start;/=0; /启动标志bit dis_flag; /显示标志bit key_flag;/=0; /按下键标志bit buzz_sound;/=1; /蜂鸣器声响标志bit y;/=0; /中间变量bit out_flag; /pwm输出标志/*函数声明列表*/void time_conv(void);/ 时间计算子函数void pwm_out(void);/ 调宽脉冲输出子函数void push_dis(void); /显示压力子函数void oil_dis(void); /显示缺油子函数void normal_dis(void) ;/显示正常工作子函数void other_dis(void); /显示(缺油、超温)子函数void temp_dis(void); /显示超温子函数void oil_low(void); /缺油处理子函数void temp_over(void); /超温处理子函数void other(void); /(缺油、超温)处理子函数void buzz_control(void); /控制蜂鸣器子函数void delay(uint k); /延时子函数void init(void); /初始化子函数void init_timer0(void);/定时器0初始化子函数void init_timer1(void);/定时器1初始化子函数void key(void) ; /按键/感应开关处理子函数void close(void); /关机子函数void time_inc(void); /时间+子函数void time_dec(void); /时间-子函数void push_inc(void); /压力+子函数void push_dec(void); /压力-子函数void normal_work(void); /正常工作子函数/*/*初始化*/void init()/push_val=20;IT0=1;IE=0x8b;reset() /*定时器T0初始化*/void init_timer0()TMOD=0x11;TH0=-(1150/256);TL0=-(1150%256);TR0=0;ET0=1;EA=1;/*定时器T1初始化*/*定时器T1初始化*/void init_timer1()TH1=-(5000/256);TL1=-(5000%256);TR1=1;ET1=1;EA=1;/*延时子函数*/void delay(uint k)uint i,j;for(i=0;i<k;i+)for(j=0;j<60;j+) reset()/*外中断0服务子函数*/void int0_serve(void) interrupt 0 using 1delay(20);if(P3_2=0)start=!start;while(P3_2=0)delay(20);if(P3_2=1)break;/*/*1mS定时中断服务子函数*/void timer0(void) interrupt 1  using 2TH0=-(1150/256);TL0=-(1150%256);deda+;pwm_val+;pwm_out();time_conv();/*调宽脉冲输出子函数*/void pwm_out(void)if(out_flag)if(pwm_val<=(push_val+30) out=ON;else out=OFF;if(pwm_val>=50) pwm_val=0;else out=OFF;/*时间计算子函数*/void time_conv(void)if(deda>=1000)sec+;deda=0;if(deda=500)buzz_sound=!buzz_sound;if(sec>=60)set_min-;sec=0;if(flag_5m)min_5m+;if(min_5m>=5)over_5m=1;min_5m=0;if(set_min<=0)set_min=0;/*/* T1 5ms定时中断服务子函数(显示用)*/void timer1(void) interrupt 3  using 3TH1=-(5000/256);TL1=-(5000%256);if(start) switch (dis_sel)case 0:normal_dis();break;case 1:oil_dis();break; case 2:temp_dis();break; case 3:other_dis();break;case 4:push_dis();break; default:break;else P2=0x00;P3=0xff;reset()/*压力调整显示子函数*/void push_dis(void)if(dis_flag) P2=DATA_7SEG(push_val)/10;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=DATA_7SEG(push_val)%10;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;/*正常工作显示子函数*/void normal_dis(void) if(dis_flag) P2=DATA_7SEGset_min/10;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=DATA_7SEGset_min%10;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;/*缺油显示子函数*/void oil_dis(void) if(buzz_sound) if(dis_flag)P2=0x40;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=0x40;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;else P3_0=1;P3_1=1;P3_3=1;P3_4=1;/*超温显示子函数*/void temp_dis(void) if(dis_flag)P2=0x40;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=0x40;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;/*超温、缺油同时发生显示子函数*/void other_dis(void) if(deda<250)|(deda>500)&&(deda<750) if(dis_flag)P2=0x40;P3_0=0;P3_1=0;P3_3=1;P3_4=1;dis_flag=0;else P2=0x40;P3_0=1;P3_1=1;P3_3=0;P3_4=0;dis_flag=1;else P3_0=1;P3_1=1;P3_3=1;P3_4=1;/*按键感应开关处理子函数*/void key(void) delay(10);while(P1!=0xff)switch (P1)case 0xfd:time_inc(); break;case 0xfb:time_dec(); break;case 0xf7:push_inc(); break;case 0xef:push_dec(); break;case 0xdf:oil_low(); break;case 0xbf:temp_over(); break;case 0x9f:other(); break;default:break;delay(500);if(set_min>=4)key_flag=1;TR0=1;/*主函数*/void main(void) init();init_timer0();      /定时器T0初始化init_timer1(); /定时器T1初始化while(1)             /无限循环 /*-*/if(start)if(P1!=0xff)key();else normal_work();else close();  /*正常工作子函数*/void normal_work() dis_sel=0;if(key_flag)&&(!flag_5s)relay=OFF;buzz=OFF;delay(6000);flag_5s=1;if(flag_5s) y=0;buzz_control();dis_sel=0;if(set_min)out_flag=0;buzz=OFF;flag_5m=1;flag_5s=0;key_flag=0;delay(1000);relay=OFF;else relay=ON;delay(1000);out_flag=1;if(over_5m)over_5m=0;flag_5m=0;start=0;min_5m=0;out=OFF;relay=OFF;reset()/*超温、缺油同时发生处理子函数*/void other(void)

    注意事项

    本文(汽车喷油嘴清洗机的智能化设计.doc)为本站会员(上海哈登)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开