基于51单片机的多路温度采集控制系统设计 联系客服

发布时间 : 星期四 文章基于51单片机的多路温度采集控制系统设计更新完毕开始阅读

度的数字电压值,则继续取出下一温度的数字电压进行比较

DEC R2; 小于当前温度的数字电压值,则查表取出前一个温度值作为当前温度值 DEC R2 DEC R2 MOV A,R2;

MOVC A,@A+DPTR; LJMP K3; K2:INC R2; INC R2;

LJMP NEXT1;

K3:MOV 21H,A; 将当前温度值存于21H单元 RET;

DATATAB;DB

- 29 -

0,194,1,193,2,192,3,191,4,190;温度数据表

DB

5,189,6,188,7,187,8,186,9,185 DB

10,184,11,182,12,181,13,180,14,178 DB

15,177,16,175,17,174,18,173,19,171 DB

20,169,21,168,22,166,23,165,24,163 DB

25,161,26,159,27,158,28,156,29,154 DB

30,152,31,150,32,149,33,147,34,145 DB

35,143,36,141,37,139,38,137,39,135 DB

40,133,41,131,42,129,43,127,44,125 DB

45,123,46,121,47,118,48,116,49,114

- 30 -

驱动控制子程序 ORG 0500H;

DRVCON:MOV A,21H; 取出当前温度值

CJNE A,#30,J1; 与上限温度值(30℃)比较 LJMP GO;

J1:JNC DRV1; 若高于上限温度,则输出驱动信号,同时高于上限温度指示灯点亮

CJNE A,#25,J2; 与显现温度(25℃)比较 LJMP GO;

J2:JC DRV2; 弱低于下限温度,则驱动信号停止输出,同时点亮低于下限温度的指示灯

- 31 -

LJMP GO;

DRV1:CLR P1.0; SETB P1.1; CLR P1.2; SETB P1.3; LJMP OVER; DRV2:SETB P1.0 SETB P1.1; CLR P1.2; SETB P1.3; LJMP OVER; DRV2:SETB P1.0; SETB P1.1; SETB P1.1; SETB P1.2; CLR P1.3; LJMP OVER;

GO:CLR P1.1; 在下线温度(25℃)至上限温度(30℃)之间,则驱动信号保持前面状态,同时温度

- 32 -