欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    电气课程设计.docx

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

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

    电气课程设计.docx

    1 设计任务书 02 基于单片机消毒柜控制电路设计 1系统的组成及工作原理 1系统设计要求 2 1系统组成框图 1系统工作原理 3 1错误!未定义书签硬件电路设计 方案论证 2方案确定 3单片机最小系统设计 3温度转换与放大电路 4数模转换电路 7温度控制电路 8显示模块 9系统软件设计 错误! 未定义书签系统软件设计原理 7 10中断服务程序设计 8 11系统子程序设计 12仿真结果与分析 18参考文献 : 20附录 3: 211 设计任务书1. 设计任务设计一台消毒柜控制系统2. 设计要求(1) 显示消毒柜温度、保持时间;(2) 可以键盘设定消毒柜温度、定时时间;(3) 可以实现实时中断功能;(4) 消毒后自动关机;测温误差:<c:(6) 定时误差: f <20 s 月。2基于单片机消毒柜控制电路设计系统的组成及工作原理系统设计要求2A. 设置三个功能键:消毒、保温、停止;B. 按下消毒键,加热装置进行加热,当温度达到125度时,停止加热,其加热的时间可通过键盘设定;C. 按下保温键,在50度以下接通加热器,达到70度关闭,一直持续工作,其加热的时间可通过键盘设定;D. 按下停止键,就停止工作;E. 采用的是PT-100铂热电阻测温,A/D转换采用的是ADC0809F .采用的是7279芯片管理键盘显示。系统组成框图电桥电路电压放大f A/D数码显示功能键盘单片机加热装置图2-1 系统组成框图系统工作原理本次设计采用铂热电阻 PT-100温度传感器实现从温度到电阻值的转换,PT-100的温度每上升1度,其阻值就增大欧姆,电桥将PT-100电阻值的变化转换成电压变化、 再经集成运放TL084放大成0-5V的电压(值不会超过5V),然后经ADC0809专换成8 位数字的信号送89C51单片机系统,89C51单片机对所采集的数据经滤波、变换等处理 后送入7279显示模块中进行显示,从而完成对温度的采集。89C51单片机再对键盘的扫 描结果和即时温度值的处理,实现对温度的控制,系统设计了加热,保温,停止三键, 按下加热功能键时,单片机控制加热器,开始进行加热,当温度到达125度时停止加热, 按下保温键时,温度小于50度,加热器开始加热,温度超过 70度,停止加热,当按下停止键时 , 一切程序停止运作。在此基础上,设置了一个校时键,当按下校时键时,无 论加热器加热与否,要到达设定的时间才停止工作。如此达到实验要求。完成实验硬件电路设计方案论证方案一:本方案采用的是新型的温度传感器 LM35构成前端温度传感电路,LM35输 出可以从0度开始,该器件采用的是塑料封装 TO992工作的电压430V。LM35前端电 路直接与ADC0809温度采样电路相连接。系统采用的是以 51单片机为核心的微电脑控 制,主要通过单片机启动ADC0809电路,对前端电路直接进行采样,得到采样的数字值 由单片机将其经数学变换处理,转换成真正的温度值。键盘控制则采用的是以 HD7279为核心的键盘显示电路,由它来控制消毒、保温、 停止等功能, 并设置校时键, 随时设置当前工作状态和需要保持的时间。 7279键盘显示 电路带有 8个数码管,用来显示当前系统工作情况,如倒计时时间,实时温度等。加热 器与单片机用继电器来隔开,继电器用来智能控制消毒柜的加热。本方案的特点是:前端温度电路直接采用LM35温度传感器,具有转换速度快,灵敏度高的特点,但是测量精度不够,抗干扰性能差的,受工作环境因素的影响较大。方案一电路原理图如下所示图 2-2 方案一电路原理图方案二:在此次实验中也可以采用铂热电阻温度传感器PT-100,由含铂热电阻PT-100为桥臂的电桥,过程中其温度的变化将引起 PT-100电阻值的改变,最终转变成 电压的变化,但电桥输出的电压最多只能有几十毫伏,所以必须经 ICL7650放大后才能 输出05V的电压,达到实验所要求的电压,再经 ADC0809专换成8位数字信号送至单 片机。单片机开发系统对所采集的数据经过滤波、变换等处理后送到7279进行显示,以实现对温度的测量。测量出即时温度值之后要进行的就是根据温度的值和7279对键盘的扫描结果进行相应的处理,比如加热、保温、停止等,这些就需要靠软件程序来辅助 完成,还要通过加热装置来进行相应的操作,从而完成此次设计的要求。加热器是由单 片机控制,安全管理加热器的启动与停止,加热装置将单片机核心系统与加热器隔离, 防止加热器的高温对系统造成损伤,起到了以小电流控制大电流而安全控制的作用。方案确定由于设计要求最高的温度需要达到了 125C,而LM35系列传感器达不到要求的这个 温度,而且价格也高。所以不采用这一方案。而在实验中已经采用过方案二,并且成功 的测量出了温度值,因此对用 PT-100 测温的性能及参数都比较了解,做起来也是得心 应手,对整个电路如何调试,分析,工作原理都比较熟悉,就算是出现了什么问题也能 很好的得到解决,所以我最终决定采用方案二。单片机最小系统设计主控机系统采用了 Atmel 公司的 89C51 单片机,它包含有 128 字节数据存储器, 内置4K的电可擦除FLASHROM可以进行重复的编程,大小可以满足主控机软件系统设 计,故不必再扩展程序存储器。 复位电路和晶振电路是 89C51 工作所需的最简的外围电 路。单片机最小系统电路图如图 2-3 所示。89C51 的复位端是一个史密特触发输入,高电平有效,而系统中的时钟接口和 CAN 总线接口的复位信号都是低电平有效。在复位电路中,按一下复位开关就使在RS端出现一段时间的高电平,经过 74LS14 的一次反相整形,提供给单片机复位端。再经过一 次反相整形, 通过 I/ORST 端提供给外部接口电路。 外接 12M 晶振和两个 20P 电容组成 系统的内部时钟电路。图 2-3 单片机最小系统电路图温度转换与放大电路温度转换与放大电路模块如图 2-4 所示,它主要由电桥电路和放大电路构成。本电 路主要采用的是以 PT-100 为核心的电桥电路,将当前温度的变化转换成电阻的变化, 从而造成电桥的不平衡,使得电桥输出在一定范围的微小且精确电压,再由放大电路对 这个微小电压进行放大,放大之后才送到 ADC0809勺INO 口进行采样转换。图2-4 温度转换与放大电路电桥电路如图 2-5 中所示,电桥电路中采用勺是 PT100 铂热电阻作为一条桥臂, 构成温度传感器, PT100 铂热电阻是利用阻值随温度而变化勺特性来测量温度, PT-100 的温度每上升1度,其阻值相应增大欧姆,且在0C500C范围内的电阻温度曲线的线 性度都比较好。消毒柜要求的温度范围是0-130C之间,在这范围之内PT-100的线性度 是最好的,它有很好的稳定性和测量精度,测温范围比较宽。 5图 2-5 电桥电路铂热电阻与温度之间的关系近似线性关系如下:在一200C0C范围,温度为t C时的阻值Rt的表达式为:Rt R01 At Bt2 A(t 100)t3(2-1)在温度为0C650C范围内:Rt R0(1 At Bt2 )(2-2)式中的分度常数为:A=X 10 3 (1 / °C), B = -X 10(1 / C) , C = 422X 10121 /C)表2-6铂热电阻与温度之间的关系表01234567890C102030405060708090100RO是在OC时阻值为100QF面列出铂热电阻在 0C100C时的电阻值:电桥计算:UA畀VDDUB 畀VDDUa UbRtR RtRdR1R0)Vdd(2-3)设 R1 r2RtRoR(Ro 为 100Q)(Ro R R1 RoRVDD(2-4)当T=0C时,Rt R0 即R 0,电桥处于平衡(2-5)T>0°C 时R vv Ri Ro(R0 RR1 R0R0 )R1 R0VDD ( R ) VDDR1 R0(2-6)取 T=100C 时,Rt =Q, RiR2=10KR0=100Q, VDd= 12V138.5U严1210 103 1000.0457V(2-7)U(R0R0)V DD 0R1 R0 R1 R0所以,当温度T变化在0100C时,AU的变化范围是0 测量放大电路第二级三运放结构的测量放大器由两级组成,两个对称的同相放大器构成第一级, 为差动放大器一减法器,如图2-7所示。图2-7测量放大电路设加在运放Ai同相端的输入电压为V 加在运放A同相端的输入电压为V?,若A、Ig RV1V1V2Rg(2-9)A、A都是理想运放,则 Vi=V4, V 2=V5Ig(2-8)Rg(2-10)所以,测量放大器第一级的闭环放大倍数为:Af 1(1R1RgR2(2-11)整个放大器的输出电压为:VoV6-7-ReR7(1星、/ R5R4)V3R4(2-12)为了提高电路的抗共模干扰能力和抑制漂移的影响,应根据上下对称的原则选择电阻,若取Ri=F2, Ri=F6,Rs=F7,则输出电压为:R4(1詈V2)評V6)(2-13)第二级的闭环放大倍数:Af 2RsR4(2-14)整个放大器的闭环放大倍数为:(12R1) RsRg)R4(2-15)若取 R.=F5=F6=F7,则 V0=V6-V3, Af2=-1(2-16)Af (1 字)Rg由上可看出,改变电阻RG的大小,可方便的调节放大器的增益,在集成化的测量放 大器中,矗是外接电阻,用户可根据整机的增益要求来选择Rs的大小。此外,由上述推导可见,输出电压Vo与输入电压的差值是正比,所以在共模电压作 用下,输出电压VO为0,这是因共模电压作用在 Rs的两端不会产生电位差,故 Rs上不 存在共模分量对应的电流,也就不会它的输出,即使共模输入电压发生了变化,也不会 引起输出。因此,测量放大器具有比较高的共模抑制能力,通常选取Ri=R,其目的是为了抵消A1和A2本身共模抑制比不等造成的误差和克服失调参数及其漂移的影响。然而,对高流共模电压,一般接法的测量放大器不能完全抑制,在实际应用中,常 采用驱动屏蔽技术来克服高流共模电压的影响。数模转换电路数模转换电路是以ADC0809为核心的A/D转换电路,如图2-8所示。图2-8数模转换电路在使用ADC0809进行模数转换时,应注意以下问题:A. ADC0809的零点不用调整。满刻度调整时,先给输入端加入电压,使满刻度所 对应的电压值是:VINVmax1-5VmaxVmin256(2-17)式中VlN +表示实际输入电压值;Vmax表示输入电压的最大值;Vmin表示输入电压的最小值;当输入电压与Vn+值相当时,调整VREF2端电压值使输出码为FEH或者FHoB. 参考电压的调节。在使用 A/D转换器时,为保证其转换精度,要求输入电压满 量程使用。如输入电压动态范围较小,则可调节参考电压,以保证小信号输入时ADC0809 芯片8位的转换精度。C. 接地。模数、数模转换电路中要特别注意到地线的正确连接,否则干扰很严重,以至影响转换结果的准确性。A/D、D/A及取样保持芯片上都提供了独立的模拟地 (AGND 和数字地(DGND的引脚。在线路设计中,必须将所有的器件的模拟地和数字地分别连 接,然后将模拟地与数字地仅在一点上相连。其中:Vin(+)为模拟电压输入端,A-GND为模拟地,作为输入模拟电压和基准电压 基地端的接地参考点。VREF为基准电压输入端,接 MC1403提供稳定的参考电压。 WR 和RD接89C51的读写端。ADC0804S数据采集系统中的工作过程:采集数据时,首先 微处理器执行一条传送指令,在该指令执行过程中,微处理器在控制总线的同时产生 CS WR低电平信号,启动A/D转换器工作,ADC0804经100us后将输入模拟信号转换为数 字信号存于输出锁存器,并在等待转换结束后,通知微处理器可来取数。微处理器立即 执行输入指令,以产生CS RD低电平信号到ADC0804相应引脚,将数据取出并存入存 储器中。整个数据采集过程中,由微处理器有序的执行若干指令完成。本次设计在AD采样部分电路设计没有选用中断方式,因为在加热装置选取的部分, 选用的为小功率加热器,在一定时间内温度的变化不是很明显。在本系统实时要求不是 很高情况下,采用延时方式对系统执行速度影响不是很大。温度控制电路图2-9温度控制电路本设计采用的是单片机利用 PWM波来控制加热的温控电路,其电路图如图 2-9所示,由两级三极管放大电路组成,第一级放大采用9014三极管,其放大倍数可达1000 以上,而第二级采用大功率的达林顿管TIP122,当脚输出低电平时,三极管导通,控制加热器进行加热。TIP122是大功率三极管,当VCe=3V, Ic=时,其放大倍数为Hfe=1000。其等效电路见图2-10。图2-10 TIP122等效电路显示模块图2-11 HD7279的管脚图HD7279是一种管理键盘和LED显示器的专用智能控制芯片。HD7279的管脚图如图2-11。DIG0DIG7和S©SG是64键盘的列线和行线端口,完成对键盘的监视,译码和键值 的识别。在8X8阵列中每个键的键码是用十六进制表示的,可用读键盘数据指令读出, 其范围是00H-3FH HD7279与微处理器仅需4条接口线,其中CS为片选信号(低电 平有效)。当微处理器访问HD727(读键号或写指令)时,应将片选端置为低电平。DATA 为串行数据端,当向HD7279发送数据时,DATA为输入端;当HD7279输出键盘代码时, DATA为输出端。CLK为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。 KEY为按键信号输出端,在无键按下时为高电平;而有键按下时此引脚变为低电平并且 一直保持到键释放为止。Rc引脚用于连接HD7279的外接振荡元件,其典型值R=Q,C=15pF。RESETS复位端。 该端口由低电平变成高电平并保持 25ms即复位结束。通常,该端口接+5V即可。DIG0 DIG7分别为8个LED管的位驱动输出端。SASG分别为LED数码管的A段G段的输出 端。DP为小数点的驱动输出端。HD7279片内具有驱动电路,它可以直接驱动1英寸及以下的LED数码管,使外围电路变得简单可靠。 A-G和DP为显示数据,分别对应7段 LED数码管的各段。当对应的数据位为 1'时,该段点亮,为 0'时则不亮。此指令 灵活,通过造字形表,可以显示用户所需的字符。字形码表如表2-12所示:表2-12 7279字形表显示字符显示码显示字符显示码07EH87FH130H97BH26DHg5FH379Ho1DH433Hd3DH55BHP67H65FHL16H770H熄火码00HHD7279键盘显示电路如图附录 2。系统软件设计系统软件设计原理本程序中使用TO定时器启动A/D转换0809,用T0产生100ms的定时,晶振为6MHz 记数脉冲周期T=2us,设定时初值为X, (2M6-X)*2us=100ms,X=3CB0H所以TH0=3CH TL0=0B0H用INT1中断处理,当0809转换完成后,从P0 口读数、再转换成十进制数、 送显缓区、再根据键盘扫描的结果对温度值进行比较判断,当按下的键是加热功能键时,系统要控制加热器,开始加热,当温度到达 125度时停止加热,当按下保温键时,当温 度低于50度时,加热器开始加热,当温度高于 70度,停止加热,当按下停止键时;一 切动作停止。通过在主程序里面设立标志,中断程序查询标志的方法实现温度与按键的 统一和“同步”,实时的控制加热器的工作,以达到人们所要求达到的效果。主程序主要完成初始化、显示处理、送7279显示、键盘扫描以及键处理等功能,其中初始化又涉及内存单元,显缓区,堆栈,及各寄存器的初始化,其流程框图见图2-13 o图2-13 主程序框图中断服务程序设计中断服务程序先保护现场后,再完成温度的采集与滤波,和加热器的控制,定时时 间的控制,定时时间采用倒计时方式,使得定时时间易于控制。中断服务程序流程框图 如图2-14。图2-14中断服务程序流程框图系统子程序设计本软件设计中,系统子程序的设计是整个程序设计的重中之重,子程序以模块化的方式实现各个独立功能,再通过主程序来调用功能子程序,使整个程序实现完整的功能。温度采样及滤波子程序温度采样及滤波子程序是先启动 ADC080游延时后对0通道采样,采样十次后,将 采样值存放于以50H为首址的内存单元中。采样完成后,调用滤波子程序,先去最大值, 去最小值,再求平均值,从而得到比较准确的采样值。其流程框图如图 2-15所示。图2-15 采样滤波子程序流程框图在滤波程序中,利用冒泡法,逐个比较找出最大值与最小值并去掉,将各个值移位 到50H57H中,再将50H57H勺8个采样值相加,求平均值,保存到 5AH中,至此就得 到了比较准确,消除了干扰后的稳定的温度采样值。显示处理子程序9显示处理主要完成将要显示的字符查表得到其字形码后送到7279显示模块显示出来。7279采用串行接口,每发送一位都要延时,且要对其初始化后才可能正确地显示。显示处理子程序流程框图如图2-16所示。消毒子程序主要 断计时时间到达否, 所示。显缓指针R0显示码R1、循 环次数R7初始化发显示码到7279,并延时 25us1FR0单兀内容查表,将得到的 字形码发送至72791延时8us,去除片选信 号,修改R0和R1置CS为低电平,并延时50us图2-16显示处理子程序流程框图是将消毒标志置为1,将保温标志置为0,再点亮消毒指示灯,判到达则关加热器,没到则开加热器。消毒子程序流程框图如图2-17保温子程序主要用于当用户按下保温键时对系统进行保温。先点亮保温指示灯,置保温标志为1,再判断倒计时是否到0,若没到则再检测当前系统的温度是否在50-70度之间,大于70度时关加热器,小于50度时开加热器。若倒计时归零时,直接停止保 温,其流程框图如图2-18所示。开始图2-18 保温子程序流程框图停止子程序主要在用户按下停止键以后被调用,停止子程序运行后将消毒、保温标志置零,将消毒、保温指示灯熄灭,关闭加热器,再让键盘重新显示PGOC。其流程图如图2-19所示。标志03H、04H置零,清 除消毒、保温标志TR0置零,停止计时丁关指示灯和加热器丁6AH送 RO, 45H 送 R1,04H 送 R7( 开始键盘处理主要是不断的扫描7279模块中的键盘,若有键按下时,则根据得到的键R(送 R1图2-19 停止子程序流程框图值查表求出其键号,将键号存放于寄存器 ACC中供主程序处理。其流程图如图 2-20所 示。图2-20键盘处理子程序流程图仿真结果与分析HD7279键盘显示电路电路原理图经过详细的硬件调试和软件调试之后, 系统工作正常, 7279模块 8位数码管前三位 实时显示当前温度在 000-150 范围内,第四位显示“ - ”,后四位倒计时显示分和秒。 按下“消毒键”时,系统接通加热器,点亮加热指示灯,当温度到达到 125 度时,停止 加热;按下“保温键”,当温度低于 50 度时,系统启动加热,当温度高于 70 度时,系 统停止加热;按下“停止键”时,系统回到初始状态。若按下“校时键”,输入 2 位数字后,再按“确认键”,则系统启动定时,倒计时 显示当前时间,当时间走到时,系统复位,停止消毒 / 保温。3 参考文献 :1 张友德:单片微型机原理、应用与实验,上海复旦大学出版社, , P7-P212 陈黎娟、聂鹏程:单片微型计算机实验教程,南昌航空大学, P17-P323 沈美明、温冬婵:IMB PQ匚编语言程序设计,清华大学出版社,P12-P224 吴金戍、郭庭吉:89C51单片机实践与应用,清华大学出版社,P132-P1435 王福瑞:单片微机测控系统设计大全,北京航空大学出版社,P7-P156 何立民:单片机应用技术选编,北京航空航天大学出版社,2001, P18-P437 邬宽明:单片机外围器件实用手册,北京航空航天大学出版社,1998, P56-P768 鲍健等:用单片机直接驱动液晶显示器,量子电子学报,P32-P429 王春林:中国电子报第四版 . 中国电子报社, , P43-P54附录 3:源程序ORG 0000H LJMP MAIN_1 ORG 000BH LJMP INT_T0 MAIN_1:MOV SP,#67HMOV R7,#50HMOV R0,#20HM_0: CLR A MOV R0,A INC R0 DJNZ R7,M_0 ACALL CHUSHI MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH MOV IE,#82H CLR CLR TR0MAIN_2:ACALL DIR_0 LCALL DIR LCALL HOT_NOT LCALL A_D LCALL KEYCJNE A,#0FFH,M_1SJMP MAIN_2 M_1: CJNE A,#0AH,M_2 M_2: JNC M_3ACALL SKEY SJMP MAIN_2M_3: CJNE A,#0AH,M_4ACALL MKEY_1 SJMP MAIN_2 M_4: CJNE A,#0BH,M_5ACALL MKEY_2 SJMP MAIN_2 M_5: CJNE A,#0CH,M_6;主程序入口地址;跳入主程序;中断入口地址;跳入中断子程序 ;堆栈段地址;清工作单元 ;调用初始化子程序 ;定时器 T0;定时器赋初值;开中断;指示灯初始化;不启动定时;调显示处理子程序 ;调显示程序;调温度控制子程序;调采样子程序 ;调键盘扫描程序;判断是否有键按下 , 若有则跳M_1;跳转到 MAIN_2;判断键号是否与0A相等,不相则转M_2 ;键号大于0A转M_3;小于则调用数键处理程序 ;跳转到 MAIN_2;判断键号是否与0A相等,不 等则转 M_4;调用定时键子程序;跳转至 MAIN_2;判断键号是否与0B相等,不 等则转 M_5 ;相等则调用确定键子程序 ;跳转到 MAIN_2 ;判断键号是否与0C相等,不等则转 M_6ACALL XIAODU SJMP MAIN_2 M_6: CJNE A,#0DH,M_7ACALL BAOWEN SJMP MAIN_2 M_7: CJNE A,#0EH,M_8ACALL STOP M_8: SJMP MAIN_2 A_D: MOV R0,#50H MOV R7,#0AHMOV DPTR,#0A000H LP7: MOVX DPTR,AMOV R6,#1EH DJNZ R6,$ MOVX A,DPTR MOV R0,A INC R0 DJNZ R7,LP7 ACALL FMAX ACALL FMIN ACALL AVG MOV A,5AH MOV B,#100 MUL AB MOV A,B MOV 60H,A LCALL ER_SHI RETER_SHI: MOV A,60H MOV R0,#42H MOV R7,#3LP: MOV B,#0AHDIV AB XCH A,B MOV R0,A XCH A,B DEC R0 DJNZ R7,LP RETFMAX: MOV R7,#09HMOV R0,#50H LP11: MOV A,R0;若相等则跳转到消毒子程序;跳转到 MAIN_2;判断键号是否与0D相等,不 等则跳转到 M_7 ;若相等则调用保温子程序跳转到 MAIN_2;判断键号是否与0E相等,不 等则转到 M_8 ;调用停止子程序 ;跳转到 MAIN_2 ;建立存放采样值单元首地址 ;采样次数; 0 通道地址;启动 A/D 转换;延时 120 微秒;采样 ;采样值放 R0 所指单元 ;修改地址 ;采样 10 次;调用去最大值子程序;调用去最小值子程序;调用求平均值子程序;滤波值存放于 A 中 ;最高温度设为 100 度; 0 到 100 显示;采集的温度值存放于 A 中 ;二进制转化为十进制 ;返回;温度值送 A;显缓区首地址 ;循环次数为 3 ; 10 送寄存器 B;修改指针;循环 3 次;循环次数为 9;滤波值放入以 50H 为首的单元 ;取第一个数放 A 中;指向第二个数;清进位标志;第 1、2 个数比较;若小于则转到 DONE;修改指针;交换;循环比较;子程序结束;去最小值程序;取数;第 1 个数放入 A 中;地址加 1;清借位;比较第 1、2 个数;A中数大,没借位转;大数放 A 中;地址减 1;大数放A中;地址再加 1;记数值不为零,继续比较INC R0 CLR C SUBB A,R0 JC DONE MOV A,R0 DEC R0 XCH A,R0 INC R0 MOV R0,A DONE: DJNZ R7,LP11 RETFMIN: MOV R7,#08HMOV R0,#50HLP1: MOV A,R0 INC R0 CLR C SUBB A,R0 JNC DONE1 MOV A,R0 DEC R0 XCH A,R0 INC R0 MOV R0,ADONE1: DJNZ R7,LP1 RETAVG: MOV R7,#08H MOV R6,#03H MOV R0,#50H MOV R3,#00H MOV R4,#00HLP2: MOV A,R0 ADD A,R4 MOV R4,A MOV A,R3 ADDC A,#00H MOV R3,A INC R0DJNZ R7,LP2LP3: MOV A, R3 RRC A MOV R3,A MOV A,R4 RRC A MOV R4,A;求平均值子程序;取数;清存放和的单元;取第 1 个数;把第1个数放R4中; 4 中放和的底位;加进位;和放入R3中;地址加 1;记数器不为零,循环DJNZ R6,LP3MOV 5AH,R4RETCHUSHI: CLRMOV R6,#0CH DJNZ R6,$ MOV A,#0A4H ACALL STFS MOV R6,#2 DJNZ R6,$ SETB;查 "-" 字符;查"good"字符;初始化定时单元 ;初始化加热指示灯;显示处理MOV 43H,#0AH MOV 44H,#0BH MOV 45H,#0AH MOV 46H,#0DH MOV 47H,#0EH MOV 35H,#60H CLRRETDIR_0: JB 01H,D_1 JNB 02H,D_1 CLR 02H MOV R0,#44H MOV A,35H ACALL A_R0 MOV A,31H ACALL A_R0D_1: RETA_R0 : MOV R2,A SWAP A ANL A,#0FH MOV R0,A INC R0 MOV A,R2 ANL A,#0FH MOV R0,A INC R0 RETSKEY: JNB 01H,S_2 MOV R0,22HMOV R0,AINC 22HMOV A,22HCJNE A,#46H,S_1 S_1: JC S_2MOV 22H,#44H S_2: RET;A中放键值;指向下一个数码管STOP: CLR TR0CLR 03HCLR 04HCLRSETBCLRCLRMOV 44H,#0BHMOV 45H,#0AHMOV 46H,#0DHMOV 47H,#0EH RET;停止定时;停止加热;停止保温 ;指示灯熄灭 ;加热膜停止加热;显示 goodMKEY_1:SETB TR0 SETB 01H MOV 22H, #44H RETXIAODU:SETB 03H CLR 04H CLR SETB SETB RETBAOWEN: SETB 04HCLR 03HCLR 05HSETBRETMKEY_2: JNB 01H,ML0 MOV R0, #44H MOV A,R0 ANL A,#0FH SWAP A;键按下,执行消毒;保温键按下,执行保温;换区;中断次数加 1;秒减 1;分减 1MOV R2, A INC R0MOV A, R0ANL A, #0FHORL A, R2MOV 35H,A CLR 01HDEC 35HMOV 31H,#59HSETB TR0 ML0: RETINT_T0: PUSH ACCPUSH PSWMOV PSW, #08HMOV TL0,#0B0HMOV TH0,#3CH INC 30HMOV A,30HCJNE A,#0AH,L2L2: JC L6SETB 02HMOV 30H,#00HMOV A,31HADD A,#99H DA AMOV 31H,A JNZ L6MOV 31H,#59HMOV A,35HADD A,#99H DA AMOV 35H,AJNZ L6CLR 02HMOV 35H,#00H LCALL STOPL6: POP PSWPOP ACCRETIHOT_NOT: JB 03H,LL0 JB 04H,LL2 AJMP LL8 LL0: MOV A,60H;加热标志为 1 则转 LL0;保温标志为 1 则转 LL2 ;跳转到 LL8;温度值送 ACJNE A,#50H,LL1;温度值与 80度比较, 不相等 LL1LL1:JC LL 9;小于则转 LL9SJMP LL7;跳转到 LL7LL2:MOV A,60H;温度值送 ACJNE A,#3CH,LL3;温度值与 60度比较, 不相等转LL3LL3:JC LL4;小于则转到 LL4SETB;置 1, 不加热CLR;置 0, 加热指示灯熄灭CLR 05H;停止标志为 0SJMP LL8;跳转到 LL8LL4:MOV A,60H;温度值送 ALL5:CJNE A,#28H,LL5JNC LL6;温度值与 40 度比较, 不相等转LL5审曰 |-frt _r A C 十 h I I C;温度大于 40 转 LL6CLRCLR 05H;小于则执行加热SETB;加热指示灯点亮SJMP LL8;跳转到 LL8LL6:CLR 05HSJMP LL8LL7:CLRSETBSJMP LL8LL9:CLRSETBLL8:RETKEY:ACALL KEY1CJNE A,#0FFH,LPP1CLR 00HRET;调用读键值子程序LPP1:JB 00H,LPP2SETB 00H ACALL KEYNUM RETLPP2:MOV A,#0FFHRET; 读键值子程序KEY1: CLRMOV R6,#0CH DJNZ R6,$ MOV A,#15H ACALL STFS MOV R6,#6 DJNZ R6,$ACALL STJSSETBRETSTJS: MOV R7,#08HS_0: SETBSETBMOV R6,#02HDJNZ R6,$MOV C,RLC ACLRMOV R6,#1DJNZ R6,$DJNZ R7,S_0RET; 根据键值求键号KEYNUM :MOV B,AMOV R2,#00HMOV R7,#0FHKEY_0: MOV A,R2ADD A,#0AHMOVC A,A+PCCJNE A,B,KEY_1SJMP KEY_2KEY_1: INC R2DJNZ R7,KEY_0KEY_2: MOV A,R2RETTAB0: DB 1CH,1DH,1EH,1FH,14HDB 15H,16H,17H,0CH,0DHDB 0EH,0FH,04H,

    注意事项

    本文(电气课程设计.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开