论文单片机温度控制系统的(程序清单)!!!!急!!!!

0子爵绿子0 2021-09-19 09:35 336 次浏览 赞 113

最新问答

  • 蛋蛋徐要发疯

    本设计的温度测量及加热控制系统以 AT89S52 单片机为核心部件,外加温度采集电
    路、键盘及显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传
    感器 DS18B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制
    的开关器件。本作品既可以对当前温度进行实时显示又可以对温度进行控制,以使达到
    用户需要的温度,并使其恒定在这一温度。人性化的行列式键盘设计使设置温度简单快
    速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论上的控制
    算法,使控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理
    规划,发挥单片机自身集成众多系统级功能单元的优势,在不减少功能的前提下有效降
    低了硬件成本,系统控简便。
    实验证明该温控系统能达到 0.2℃的静态误差,0.45℃的控制精度,以及只有 0.83%
    的超调量,因而本设计具有很高的可靠性和稳定性。
    关键 词: 单片机 恒温控制 模糊控制

    1

    引 言
    温度是生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于
    冶金、化工、机械、食品等领域。温度控制是生产过程中经常遇到的过程控制,有
    些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度
    控制系统是非常有价值的。

    硬件 系统的设计
    1、电路总体原理框图
    温度测量及加热系统控制的总体结构如图 1 所示。系统主要包括现场温度采集、实
    时温度显示、加热控制参数设置、加热电路控制输出、与报警装置和系统核心 AT89S52
    单片机作为微处理器。

    图 1:系统总体原理框图
    温度采集电路以数字量形式将现场温度传至单片机。单片机结合现场温度与用户设
    定的目标温度,按照已经编程固化的模糊控制算法计算出实时控制量。以此控制量控制
    固态继电器开通和关断,决定加热电路的工作状态,使水温逐步稳定于用户设定的目标
    值。在水温到达设定的目标温度后,由于自然冷却而使其温度下降时,单片机通过采样
    回的温度与设置的目标温度比较,作出相应的控制,开启加热器。当用户需要比实时温
    度低的温度时,此电路可以利用风扇降温。系统运行过程中的各种状态参量均可由数
    管实时显示。
    2、温度采集电路的设计
    温度采集电路模块如图 2 示。DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、
    温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。其中 DQ 为数字信号输
    入/输出端;GND 为电源地;VDD 为外接供电电源输入端。

    2

    图 2:温度采集电路
    DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展
    的二进制补读数形式,以 0.0625℃/LSB 形式表达,其中 S 为符号位。

    这是 12 位转化后得到的 12 位,存储在 18B20 的两个 8 比特的 RAM 中,二进
    制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘
    于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1
    再乘于 0.0625 即可得到实际温度。
    3、键盘和显示的设计
    键盘采用行列式和外部中断相结合的方法,图 3 中各按键的功能定义如下表 1。其
    中设置键与单片机的 INT 0 脚相连,S 0 −−S 9 、YES、NO 用四行三列接单片机 P0 口,REST
    键为硬件复位键,与 R、C 构成复位电路。模块电路如下图 3:
    表 1:按键功能

    按键 键名 功能
    REST 复位键 使系统复位
    RET 设置键 使系统产生中断,进入设置状态
    S 0 −−S 9 数字键 设置用户需要的温度
    YES 确认键 用户设定目标温度后进行确认
    NO 清除键 用户设定温度错误或误按了 YES 键后使用

    3

    图 3 键盘接口电路
    显示采用 3 位共阳 LED 动态显示方式,显示内容有温度值的十位、个位及小数点后
    一位。用 P2 口作为段控输出,并用 74HC244 作驱动。P1.0—P1.2 作为位控输出,
    用 PNP 型三极管做驱动。模块电路如下图 4:

    4、加热控制电路的设计

    图 4 显示接口电路

    用于在闭环控制系统中对被控对象实施控制,被控对象为电热杯,采用对加在电热
    杯两端的电压进行通断的方法进行控制,以实现对水加热功率的调整,从而达到对水温
    控制的目的。对电炉丝通断的控制采用 SSR-40DA 固态继电器。它的使用非常简单,只
    要在控制端 TTL 电平,即可实现对继电器的开关,使用时完全可以用 NPN 型三极管接
    成电压跟随器的形式驱动。当单片机的 P1.3 为高点平时,三极管驱动固态继电器工作
    接通加热器工作,当单片机的 P1.3 为低电平时固态继电器关断,加热器不工作。控制
    电路图如下图 5:

    4

    图 5 加热控制电路
    5、报警及指示灯电路的设计
    当用户设定的目标温度达到时需用声音的形式提醒用户,此时蜂鸣器为三声断续的
    滴答滴答的叫声。在本系统中我们为用户设计了越限报警,当温度低于用户设置的目标
    温度 10 度或高于 10 度时蜂鸣器为连续不断的滴答滴答叫声。当单片机 P1.7 输出高电
    平时,三极管导通,蜂鸣器工作发出报警声。P1.7 为低电平时三极管关断,蜂鸣器不
    工作。
    D1 为电热杯加热指示灯,P1.5 低电平有效;D0 为检测到 DS18B20 的指示,高电平
    有效;D10 为降温指示灯,低电平有效。报警及指示灯电路如下图 6 示:

    图 6 报警及指示灯电路

    5

    软 件系统的设计
    系统的软件由三大模块组成:主程序模块、功能实现模块和运算控制模块。
    1、主程序模块
    主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用,以及实
    际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环对外部温度进行实
    时显示。把设置键作为外部中断 0,以便能对数字按键进行相应处理。主程序流程图如
    下图 7:

    6

    图 7 主程序流程图

    7

    2、功能实现模块
    以用来执行对固态继电器及电热杯的控制。功能实现模块主要由中断处理子程序、
    温度比较处理子程序、键盘处理子程序、显示子程序、报警子程序等部分组成。键盘显
    示及中断程序流程图如下图 8:

    3、运算控制模块

    图 8 键盘、显示、中断 子程序流程图

    该模块由标度转换、模糊控制算法,及其中用到的乘法子程序。
    3.1 标度转换
    16
    式中 A 为二进制的温度值, A0 为 DS18B20 的数字信号线送回来的温度。

    8

    单片机在处理标度转换时是通过把 DS18B20 的信号线送回的 16 位右移 4 位得
    到二进制的温度值。其小数部分通过查小数表的形式获取。程序流程图如下图 9:

    开始

    将28H低4位与29H高4位组
    一个字节

    将的字节(整数部分)送29H
    单元
    将29H单元低4位送A

    给DPTR赋常数表格2首地址

    将查到的数值(即小数部分)送
    30H单元

    结束

    3.2 模糊控制算法子程序

    图 9 标度转换子程序流程图

    该系统为一温度控制系统,由于无法确切确定电炉的物理模型,因而无法建立其数
    学模型和传递函数。加热器为一惯性系统,我们采用模糊控制的方法,通过多次温度测
    量模糊计算当用户设定目标温度时需提前关断加热器的温度,利用加热器自身的热惯性
    使温度上升到其设定温度。每隔 5 摄氏度我们进行一次温度测量,并当达到其温度时关
    断加热器记录下因加热器的热惯性而上升的温度值。从而可以建立热惯性的温度差值
    表,在程序中利用查表法,查出相应设定温度对应的关断温度。通过实验我们可以
    看出,当水温从 0℃加热到 50℃这段温度区域,其温度惯性曲线可近似成线性的直线,
    水温从 50℃加热到 100℃这段温度惯性曲线可近似成另一条线性的直线段。通过对设置
    的目标温度与温控系统监测温度进行差值处理就可近似的求出单片机的提前关断温度。
    程序流程图如图 10:

    9

    4.源程序见附录[2]

    图 10 模糊控制算法子程序流程图

    设计 总结
    我们的温度控制系统是基于 AT89S52 单片机的设计方案,她能实时显示当前温度,
    并能根据用户的要求作出相应的控制。此系统为闭环系统,工作稳定稳定性高,控制精
    度高,利用模糊控制算法使超调量大大降低。软件采用模块化结构,提高了通用性。本设
    计的目的不仅仅是温度控制本身,主要了单片机外围电路及软件包括控制算法设计
    的思想,应该说,这种思想比控制系统本身更为重要。
    1、设计所达到的性能指标
    1.1 温控系统的标度误差
    我们将标准温度计和温控系统探头放人同一容器中,选定若干不同的温度点,记
    录下标准温度计显示的温度和温控系统显示的温度进行比较。测量如下表 2 所示:
    表 2 标准温度计测量的温度和温控系统显示的温度

    标准温度计和温控系统显示的温度(℃)
    标准温度计 16.9 47.7 57.8 63.0 72.8 85.1 90.9
    温控系统 16.5 48.0 58.3 62.9 73.0 85.5 90.5
    差值比较 -0.4 0.3 0.5 0.1 0.2 0.4 -0.4
    标度误差 1.5%

    10

    1.2 温控系统的静态误差
    通过测量在不同的温度点同标准温度的温度差来确定温控系统的静态误差。其测量
    如下表 3:
    表 3 标准温度和温控系统显示的温度

    标准温度和温控系统显示的温度(℃)
    标准温度 26.0 37.0 46.0 60.0 70.0 83.0
    系统显示值 25.7 36.4 46.1 59.6 70.0 83.3
    差值 -0.3 -0.6 -0.1 -0.4 0 0.3
    静态误差 0.18℃

    1.3 温控系统的控制精度
    通过设定不同的温度值,使加热器加热,待温度稳记录各温度点的温度计
    和温控系统的显示值。其记录如下表 4:

    温度计读数和温控系统显示的温度(℃)
    设定温度
    值 20.0 28.0 35.0 45.0 55.0 75.0 87.0 91.0
    系统显示
    值 20.5 27.7 34.4 45.1 54.1 74.9 86.1 91.2
    差值 0.5 -0.3 -0.6 0.1 -0.9 -0.1 -0.9 0.2
    控制精度 0.45℃
    超调量 0.83%

    2、结果分析论述
    我们的系统完全满足设计要求,静态误差方面可以达到 0.18℃的误差,在读数正确
    方面与标准温度计的读数误差为 1.5%,对一般的生产完全可以采用我们的设计。
    该系统具有较小的超调值,超调值大约为 0.83%左右。虽然超调为不利结果,但另
    一方面却减小了系统的调节时间。从其表可以看出该系统为稳定系统。
    3、设计方案评价
    3.1 优点
    在硬件方面:本设计方案采用了单总线型数字式的温度传感器,提高了温度的采集
    精度,节约了单片机的口线。方案还使用仅一跟口线就可控制的美国生产的固态继
    电器 SSR—40DA 作加热控制器件,使设计简单化,且可靠性强。在控制精度方面,本设
    计在不能确定执行机构的数学模型的情况下,大胆的假设小心的求证,利用模糊控制的
    算法来提高控制精度。
    在软件方面:我们采用模块化编程,思路清晰,使程序简洁、可移植性强。
    3.2 缺点
    本设计方案虽然采用了当前市场最先进的器件,使电路设计简单,但设计方案
    造价高。本系统虽然具有较小的超调量,但加大了调节时间。如果需要更高的控制精度,
    则我们的模糊控制将不适应,需修改程序。
    11

    3.3 方案的改进
    在不改变加热器容量的情况下,为减小调节时间,可以实行在加热快达到设定温度
    时开启风扇来减小热惯性对温度的影响的措施。在控制精度上可采用先进的数字 PID
    控制算法,对加热时间进行控制,提高控制精度。
    可以改进控制系统使能同 PC 联机通信,以利用 PC 的图形处理功能打印显示温度曲
    线。AT89S52 串行口为 TTL 电平,PC 串行口为 RS232 电平,使用一片 MAX232 作为电
    平转换驱动。

    参考 文献
    [1] 李广弟 单片机基础 北京:北京航空航天出版社,2001
    [2] 王福瑞 单片微机测控系统设计大全 北京:北京航空航天出版社,1997
    [3] 赵茂泰 智能仪器原理及应用(第 2 版) 北京:出版社,2004
    [4] 赖寿涛 微型计算机控制技术 北京:机械出版社,2000
    [5] 沙占友 模拟与数字万用表检测及应用技术 北京:出版社 1999

    12

    附 录
    附录[1]使用说明书

    按 键功能说明
    数字键:按 SET 键后,按相应的数字键(0~9)可对温度进行设置,所设置的温
    度将实时显示在 LED 显示器上;
    SET 键:按 SET 键可对温度的十位、个位以及小数部分进行设置;
    YES 键:设置好温度后按 YES 键,系统将据你所设置的温度(须大于当前实际
    温度)对水进行加热;
    NO 键:若误按了 SET 键,或对输入有误,可按 NO 键进行取消;
    RST 键:对系统进行复位。
    指示 灯及报警器说明
    红 灯:加热状态标志;
    绿 灯:温度传感器正常工作标志;
    蓝 灯:保温状态标志;
    报警器:功能①当水温达到预设值时报警提醒;
    功能②当水温达到或超越上、下限时报警提示。

    13

    附录[2]设计总电路

    14

    附录[3]程序清单
    TEMPER_L EQU 29H ;用于 保存读出温度的低 8 位
    TEMPER_H EQU 28H ;用于 保存读出温度的高 8 位
    FLAG EQU 38H ;是否 检测到 DS 18B20 标志位
    DAYU EQU 44H ;设温 >实温
    XIYU EQU 45H ;设温 <实温
    DEYU EQU 46H ;设温 =实温
    GAOLE EQU 47H ;水温 高于最高温度
    DILE EQU 48H ;水温 低于最低温度
    A_bit EQU 79h ;数 管个位数存放内存位置
    B_bit EQU 7Ah ;数 管十位数存放内存位置
    C_BIT EQU 78H ;数 管小数存放内存位置

    ORG 0000H
    AJMP START
    ORG 0003H
    AJMP PITO
    ORG 0030H
    START: CLR P1.7
    CLR P1.3
    CLR P1.5
    SETB P1.6
    MOV R4, #00H
    MOV SP, #60H ;确立堆栈区
    MOV PSW, #00H ;
    MOV R0, #20H ;RAM 区首地址
    MOV R7, #60H ;RAM 区单元个数
    ML: MOV @R0, #00H
    INC R0
    DJNZ R7, ML
    CLR IT0
    MAIN:LCALL GET_TEMPER ;调用读温度子程序 进行温度显示,这里我们考
    ;虑用网站的两位数管来显示温度
    ;显示范围 00 到 99 度,显示精度为 1 度
    ;因为 12 位转化时每一位的精度为 0.0625 度,
    ;我们不要求显示小数所以可以抛弃 29H 的低 4
    ;位将 28H 中的低 4 位移入 29H 中的高 4 位,这
    ;样获得一个新字节,这个字节就是实际测量获
    ;得的温度

    LCALL DISPLAY ;调用数管显示 子程序
    JNB 00H, MAIN
    CLR 00H

    15

    MOV A, 38H
    CJNE A, #00H, SS
    AJMP MAIN
    SS: LCALL GET_TEMPER
    LCALL DISPLAY;调用 数管显示子程序
    LCALL BIJIAO
    LCALL XIAOYU
    LCALL JIXIAN
    JNB DEYU ,LOOP
    CLR P1.3 ;关加热器
    SETB P1.6 ;关
    SETB P0.7 ;关风扇
    CLR DEYU
    LCALL GET_TEMPER
    LCALL DISPLAY
    AJMP TT2
    LOOP:JNB DAYU ,TT
    CLR DAYU
    SETB P1.3
    SETB P1.6
    SETB P0.7
    CLR P1.7
    LCALL GET_TEMPER
    LCALL DISPLAY
    AJMP TT2
    TT:JNB XIYU, TT2
    CLR XIYU
    CLR P0.7
    CLR P1.6
    CLR P1.3
    CLR P1.7
    LCALL GET_TEMPER
    LCALL DISPLAY
    TT2:MOV A, 29H
    CLR C
    CJNE A, 50H, JX
    MOV A , 30H
    CLR C
    CJNE A, 51H, JIA1
    AJMP YS2
    JIA1:JC JX
    MOV A, 51H
    MOV 52H, A
    ADD A, #2

    16

    MOV 52H, A
    CLR C
    MOV A, 30H
    CJNE A, 52H, JIA2
    JIA2:JNC JX
    YS2:SETB P1.7
    CLR P1.6
    MOV R5, #20H
    YS:LCALL GET_TEMPER
    LCALL DISPLAY
    DJNZ R5, YS
    CLR P1.7
    SETB P1.6
    MOV R5, #20H
    YS1:LCALL GET_TEMPER
    LCALL DISPLAY
    DJNZ R5, YS1
    YS3:SETB P1.7
    CLR P1.6
    MOV R5, #20H
    YS0:LCALL GET_TEMPER
    LCALL DISPLAY
    DJNZ R5, YS0
    CLR P1.7
    SETB P1.6
    MOV R5, #20H
    YS01:LCALL GET_TEMPER
    LCALL DISPLAY
    DJNZ R5, YS01
    YS4:SETB P1.7
    CLR P1.6
    MOV R5, #20H
    YS02:LCALL GET_TEMPER
    LCALL DISPLAY
    DJNZ R5, YS02
    CLR P1.7
    SETB P1.6
    MOV R5, #20H
    YS03:LCALL GET_TEMPER
    LCALL DISPLAY
    DJNZ R5, YS03
    JX: MOV A, 29H
    CJNE A, 31H, JX00
    JX01:SETB P1.7

    17

    CLR C
    AJMP LAST
    JX00:JC JX01
    CLR P1.7
    CJNE A,
    JX02:SETB P1.7
    CLR C
    AJMP LAST
    JX03:JNC JX02

    32H,

    JX03

    CLR P1.7
    LAST:LCALL GET_TEMPER
    LCALL DISPLAY
    AJMP SS
    ;***************************常数表格区**** ******************************************
    TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8 H,80H ;0-8
    DB 90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH ,0CH ;9,A,B,C,D,E,F,灭,p.
    TAB1:DB40H,79H,24H,30H,19H,12H,02H,78H,00H ,10H, ;0.--9.
    TAB2:DB 0, 0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9, ;小数点
    ;*************************1ms 延时程序*************** *********************
    ;************************* ****中断服务程序* *********************************
    ; 完成按键识别,键值求取,按键实时显示 等功能;
    ;************************* **************** **********************************
    PITO: PUSH ACC
    PUSH PSW
    SETB RS0
    CLR RS1
    SET B 00H
    MAIN1: MOV R7 , #03H ;显示位数为 2 位
    MOV R0, #7AH
    MOV 78H, #00H
    MOV 79H, #00H
    MOV 7AH, #00H
    KK: LCALL DIR
    LCALL KEY1
    LOOP1:CJNE A, #11, LOOP2
    AJMP LAST0
    LOOP2:CJNE A, #12, LOOP3
    LJMP LAST3
    LOOP3: CJNE A, #10, L4
    MOV A, #00H
    L4: MOV @R0, A
    LCALL DIR
    DEC R0
    DJNZ R7, KK

    18

    SETB 01H
    LAST0:JNB 01H, KK
    LOOP4:LCALL KEY1
    CJNE A, #12, LOOP5
    AJMP LAST3
    LOOP5:CJNE A, #11, LOOP4
    LAST1:LCALL DIR
    LCALL MUN
    LCALL JD
    LCALL BIJIAO
    LAST3:POP PSW
    POP ACC
    RETI
    ;******************精度控制 子程序********** ******
    JD: PUSH ACC
    PUSH PSW
    CLR C
    MOV A, 38H
    MOV 50H, A
    MOV A, 39H
    MOV 51H, A
    CJNE A, 29H, L001
    L001:JC LAST02 ;设温<实温,则跳出
    MOV A, 29H
    MOV 41H, A
    MOV A, 38H
    CJNE A, #25, L002
    L003:CLR C ;0 SUBB A, 41H
    CJNE A, #3, L004
    L005:MOV A, 30H
    ADD A, #5 ;0DA A
    JNB ACC.4, L0051
    ANL A, #0FH
    SETB C
    L0051:MOV 39H, A
    MOV A, 29H
    ADDC A, #1
    MOV 38H, A
    AJMP LAST2
    LAST02: AJMP LAST2
    L004:JC L005
    MOV A, 39H

    19

    SUBB A, #0
    DA A
    MOV 39H, A
    JNC L0041
    DEC 38H
    L0041:MOV A, 38H
    SUBB A, #2 ;0MOV 38H, A
    AJMP LAST2
    L002:JC L003
    CJNE A, #50, L006
    L007:CLR C ;25SUBB A, 41H
    CJNE A, #3, L008
    L009:MOV A, 30H
    ADD A, #1
    DA A
    JNB ACC.4, L0091
    ANL A, #0FH
    SETB C
    L0091:MOV 39H, A
    MOV A, 29H
    ADDC A, #1
    MOV 38H, A
    AJMP LAST2
    L008:JC L009
    MOV A, 39H
    SUBB A, #0
    MOV 39H, A
    MOV A, 38H
    SUBB A, #2
    MOV 38H, A
    AJMP LAST2
    L006:JC L007
    CJNE A, #65, L010
    L011:CLR C
    SUBB A, 41H
    CJNE A, #3, L012
    L013:MOV A, 30H
    ADD A, #2
    JNB ACC.4, L00131
    ANL A, #0FH
    SETB C
    L00131:MOV 39H, A

    20

    MOV A, 29H
    ADDC A, #1
    MOV 38H, A
    AJMP LAST2
    L012:JC L013
    MOV A, 39H
    SUBB A, #0
    MOV 39H, A
    MOV A, 38H
    SUBB A, #2
    MOV 38H, A
    AJMP LAST2
    L010:JC L011
    CJNE A, #90, L016
    L017:CLR C
    SUBB A, 41H
    CJNE A, #2, L014
    L015:MOV A, 30H
    ADD A, #0
    JNB ACC.4, L00151
    ANL A, #0FH
    SETB C
    L00151:MOV 39H, A
    MOV A, 29H
    ADDC A, #1
    MOV 38H, A
    AJMP LAST2
    L014:JC L015
    CLR C
    MOV A, 38H
    SUBB A, #1
    MOV 38H, A
    AJMP LAST2
    L016:JC L017
    LAST2:POP PSW
    POP ACC
    RET
    ;*******************************键扫描** ************************************
    KEY1:LCALL KS1 ;键 扫描
    JNZ LK1
    LCALL DIR
    AJMP KEY1
    LK1:LCALL DIR
    LCALL DIR

    21

    LCALL KS1
    JNZ LK2
    LCALL DIR
    AJMP KEY1
    LK2:MOV R2, #0FEH ;确定键值
    MOV R4, #01H
    MOV A, R2
    LK4:MOV P0, A
    NOP
    MOV A, P0
    JB ACC.3, LONE
    MOV A, #00H
    AJMP LKP
    LONE:JB ACC.4 , LTWO
    MOV A, #03H
    AJMP LKP
    LTWO:JB ACC.5, LTHR
    MOV A, #06H
    AJMP LKP
    LTHR:JB ACC.6, NEXT5
    MOV A, #09H
    AJMP LKP
    NEXT5:INC R4
    MOV A, R2
    JNB ACC.2 ,KND
    RL A
    MOV R2, A
    AJMP LK4
    KND:AJMP KEY1
    LKP: ADD A, R4
    PUSH ACC
    LK3:LCALL DIR
    LCALL KS1
    JNZ LK3
    POP ACC
    RET

    KS1: PUSH PSW
    MOV P0, #78H
    NOP
    MOV A, P0 ;判断有无键按下
    CPL A
    ANL A, #78H
    POP PSW

    22

    RET
    ;*************求设置温度的二 进制代,值保存在 38H 单元**************
    MUN: PUSH PSW
    MOV R0, #7AH ;求键值
    MOV A, @R0
    SWAP A
    DEC R0
    ADD A, @R0
    MOV R1, A
    ANL A, #0F0 H
    SWAP A
    MOV B, #10
    MUL AB
    MOV R2, A
    MOV A, R1
    ANL A, #0FH
    ADD A, R2
    MOV 38H, A
    MOV R0, #78H
    MOV 39H, @R0
    POP PSW
    RET
    ;*************比较实际温度和设置温度的大小 并设置相应的标志位***********
    BIJIAO:MOV A, 29 H ;实际温度
    MOV 40H, A

    浏览 203赞 129时间 2022-02-13
  • 吃遍全宇宙!

    目录

    引言. 1

    1 设计要求. 4

    1.1 控制要求. 4

    1.2 受控对象的数学模型. 4

    2 系统的硬件配置. 4

    2.1 单片机和系统总线. 4

    2.2 硬件介绍. 5

    3 温度控制器的组成框图. 10

    4 温度控制器结构图及总述. 12

    5 温度控制器软件设计. 13

    5.1 Microchip PIC16F877A单片机温度控制器软件结构图如图5.1.1所示。. 13

    5.2 单片机控制流程图. 14

    5.3 温度变换程序模块. 14

    5.4 温度非线性转换程序模块. 15

    6 通信协议的设计. 17

    6.1 软件设计. 17

    6.1.1 通信协议概述. 17

    6.2 通信协议说明. 18

    6.2.1信号帧分类. 18

    6.2.2信号帧格式. 18

    6.2.3 通信协议处理流程. 19

    6.3 PC 上位机的软件设计. 22

    6.3.1 PC软件设计方法的选择. 22

    6.3.2 PC软件通信方式的选择. 22

    6.3.3具体实现方法. 24

    6.4 单片机软件设计. 27

    6.4.1波特率. 27

    6.5 通信协议设计结论. 28

    6.5.1通信可靠性分析. 28

    6.5.2通信速度分析. 28

    7 Protel99设计原理图. 30

    8 硬件电路板的. 33

    9 设计总结. 35

    谢 辞. 36

    参考文献. 37

    附 录1 38

    已经发了到你信箱........

    浏览 410赞 68时间 2021-10-10

论文单片机温度控制系统的(程序清单)!!!!急!!!!