文档详情

单片机温度控制18992541.doc

发布:2017-09-20约字共11页下载文档
文本预览下载声明
PA EQU 8000H;8255PA口地址 PB EQU 8001H;8255PB口地址 PCO EQU 8002H;8255PC口地址 PCTL EQU 8003H;8255控制口地址 SDA EQU P1.3;I2C数据线 SCL EQU P1.4;I2C时钟线 SLAW EQU 70H;SAA1064写命令,地址为10h,最低位为0表示写 DQ EQU P1.5;3-WIRE数据线 CLK EQU P1.6;3-WIRE时钟线 NRST EQU P1.7;3-WIRE复位线 DSEG AT 20H SE: DS 1 TH: DS 1;温度上限值 BUF: DS 4 TL: DS 1;温度下限值 NUMBYT: DS 1;向SA1064传送的字节数n存放单元 BUFTC: DS 2;向SA1064传送命令缓冲区 BUFTD: DS 4;向SA1064传送的数据缓冲区 BUFRD: DS 6;从SA1064接收数据缓冲区 DAT: DS 1;小数点前温度值存储单元 POINT: DS 1;小数点后温度值的存储单元 CSEG AT 0000H ORG 0000H LJMP MAIN ORG 0030H MAIN: CLR P1.0 MOV SP,#60H MOV PSW,#00H MOV R3,#100 MOV TH,#40;温度上线默认值 MOV TL,#20;温度下线默认值 MOV SE,#35;温度设定值的默认值 MOV DPTR,#PCTL;设置8255工作方式0 MOV A,#88H;PA口,PB口,pc口低4位作为输出用 MOVX @DPTR,A;pc口高4位作为输入使用 MOV DPTR,#PB MOV A,#0FH MOVX @DPTR,A MOV DPTR,#PA MOV A,#00H MOVX @DPTR,A MAIN1: LCALL BEGIN;复位命令 MOV A,#0CH;写配置寄存器 LCALL W8BIT MOV A,#0AH;连续转换模式数据 LCALL W8BIT LCALL BEGIN;结束上次通讯,开始下一次通讯 MOV A,#01H LCALL W8BIT MOV A,TH;写最高温度值 MOV POINT,#0 LCALL W9BIT LCALL BEGIN MOV A,#02H LCALL W8BIT MOV A,TL;写最低温度值 MOV POINT,#0 LCALL W9BIT LCALL BEGIN MOV A,#0EEH LCALL W8BIT CLR NRST;结束上一次通讯 MOV R2,0FFH K555: LCALL DISPLY;8255显示设置温度 DJNZ R2,K555 RENU: LCALL BEGIN;复位命令 MOV A,#0AAH;写入度温度值 LCALL W8BIT LCALL R9BIT;读9位温度值 MOV DAT,A CLR C SUBB A ,TH JC SW3 CLR P3.4;开电热器 CLR P3.4 CLR P3.4 SJMP SW33 SW3: SETB P3.4;关加热器 SW33: MOV A,DAT;当前的温度-(设定温度+2) CLR C SUBB A,TL JNC SW4;当前的温度(设定温度+2)转SW4 CLR P3.4 SJMP SW44;当前的温度(设定温度-2)转SW44 SW4: SETB P3.4;关加热器 SW44: MOV A,DAT CLR C ADD A,#2 SUBB A,SE JC SWK ;温度低于设定值2摄氏度时 MOV A,DAT CLR C SUBB A,#2 SUBB A,SE JNC SWG;温度高于设定值2摄氏度时 SJMP SW SWK:
显示全部
相似文档