基于单片机饮水机智能控制系统 - 图文 联系客服

发布时间 : 星期四 文章基于单片机饮水机智能控制系统 - 图文更新完毕开始阅读7da10cf2e518964bce847c07

CLR C;

WR1: CLR DQ

MOV R3,#6 DJNZ R3,$

RRC A MOV DQ,C MOV R3,#23 DJNZ R3,$ SETB DQ NOP DJNZ R2,WR1 SETB DQ RET

READ_18200:

MOV R4,#2;

MOV R1,#29H;

28H(TEMPER_H) RE00: MOV R2,#8; RE01: CLR C; SETB DQ

NOP NOP CLR DQ NOP NOP NOP SETB

DQ MOV R3,#9 RE10: DJNZ

R3,RE10

MOV C,DQ MOV R3,#23

RE20: DJNZ

R3,RE20 RRC A DJNZ R2,RE01

MOV @R1,A

DEC R1

32

DJNZ R4,RE00

RET; 上面的这些都是温度采集的! MOV B,#10; 10进制/10=10进制 DIV AB; MOV A_BIT,A; 十位在A MOV B_BIT,B; 个位在B DISPLAY: MOV A,29H;

MOV DPTR,#NUMTAB;

MOV R0,#1

DPL1: MOV R1,#25; DPLOP: MOV A,B_BIT; MOVC

A,@A+DPTR;

MOV P0,A; CLR P2.2; ACALL D1MS; SETB P2.2

MOV A,A_BIT; MOVC

A,@A+DPTR; MOV P0,A; CLR P2.1; ACALL D1MS; SETB P2.1

MOV P0,#0FFH

DJNZ R1,DPLOP; 100

DJNZ

R0,DPL1; 4 RET; DISPLAY1: MOV A,A1; MOV B,#10; 10 DIV AB; MOV A_BIT,A; MOV B_BIT,B; MOV DPTR,#NUMTAB;

MOV R0,#1

DPL11: MOV R1,#25; DPLOP1: MOV A,B_BIT;

MOVC

A,@A+DPTR;

显示1000次 取个位数 送出个位的7段代码 开个位显示 显示1MS 取十位数

查十位数的7段代码

送出十位的7段代码 开十位显示 显示1MS 次没完循环 个100次没完循环

上面这段显示实时温度 将29H中的十六进制数转换成10进制进制/10=10进制 显示子程序 十位在A 个位在B

指定查表启始地址 显示1000次 取个位数 查个位数的7段代码

33

MOV P0,A; 送出个位的7段代码 CLR P2.2; 开个位显示 ACALL D1MS; 显示1MS SETB MOVC

P2.2

A,@A+DPTR; 查十位数的7段代码

MOV A,A_BIT; 取十位数

MOV P0,A; 送出十位的7段代码 CLR P2.1; 开十位显示 ACALL D1MS; 显示1MS SETB DJNZ DJNZ

P2.1

R1,DPLOP1; 100次没完循环 R0,DPL11; 4个100次没完循环

MOV P0,#0FFH

RET; 上面这段显示设置温度

R7,$

D1MS: MOV R7,#50 ; 1MS延时

DJNZ RET

DELAY10: MOV R6,#20 ; 10MS延时 D3: MOV R5,#255

DJNZ DJNZ RET

R5,$ R6,D3

DELAY125: MOV R6,#255; 125MS延时 D1: MOV R5,#255

DJNZ DJNZ RET

R5,$ R6,D1

DELAY1S: MOV R7,#8; 1S延时 D2: LCALL DELAY125

DJNZ RET

R7,D2

DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H

DB 0C6H,0A1H,86H,8EH; 数码管的具体值

NUMTAB:

END

34

附录2系统总体电路图

35