微型计算机控制技术实例分析,微型计算机控制技术第9章_微型计算机控制系统应用实例解读.ppt...

微型计算机控制技术第9章_微型计算机控制系统应用实例解读.ppt

2.软件总体设计 (1)程序结构设计 应用程序结构采用中断方式,由定时器发出时中断申请。主程序进行系统初始化,包括定时器、I/O口和中断系统的初始化,等待定时中断。在中断服务程序中,先判断是否到30s。若不到30s,返回,若到30s,进行以下操作:拨盘设定值检测、温度检测、标度变换、温度显示和温度控制,并根据温度检测值决定是否报警。因此,可设计出应用程序总体结构如右(图9-44)所示。 (2)程序模块划分 在应用程序中,将以下几个功能程序作为模块程序: 1)温度设定输入。 2)温度检测。 3)温度值标度变换。 4)温度显示。 5)温度控制。 6)报警。 3.程序模块设计 下面说明温度检测和温度控制这两个模块的程序设计。 (1)温度检测程序 功能是连续进行4次A/D,求取转换结果的平均值,存入内部50H单元。检测电路如前面图9-38所示。A/D转换采用查询方式。程序流程图如右(图9-45)所示。 温度检测程序清单如下: TADC: MOV 50H,#00H ;清结果单元 MOV B,#00H ;清寄存器B MOV R6,#04H ;送转换次数 MOV DPTR,#7FFFH ;送ADC地址 TT0: MOVX @DPTR, A ;启动ADC NOP NOP JB INT0,$ ;等待转换结束 MOVX A, @DPTR ;读ADC结果 ADD A,50H ;累加转换结果 MOV 50H,A JNC TT1 INC B ;保存累加进位 TT1: DJNZ R6,TT0 CLR C ;(BA)除以4 XCH A,B RRC A XCH A,B RRC C CLR C XCH A,B RRC A XCH A,B RRC A MOV 50H,A ;4次检测平均 值送50H RET (2)温度控制程序 功能是将温度实测值(存于50H)与设定值(存于51H)作比较,如实测值高于设定值1℃(注意,此值小于要求误差2℃,对应的数字量为04H),则关闭一台电炉;如实测值低于设定值,则接通一台电炉;否则不予调节。三台电炉的接通顺序是3#、2#、1#,关闭顺序是1#、2#、3#,这样可以保证电炉的通断具有相对稳定性。 流程图如右(图9-46 )。 温度控制程序清单如下: CONT:MOV A,50H ;温度检测值送A CLR C SUBB A,51H ;检测值与设定值比 JC LLT0 ;若检测值<设定值,LLT0 SUBB A,#04H JNC LT1 ;若(检测值—设定值)≥1℃,转LT1 RET ;若差值<1℃,返回 LT1:JNB P1.0,LT2 ;若1#电炉已关断,转LT2 CLR P1.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值