基于stc89s52单片机温度报警器内容摘要:

D为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。 温度传感器DS18B20电路图 1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表: LCD1602引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。 当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 LCD 1602连接电路图第16脚:背光源负极。 三、软件设计 (一)、 主程序设计 主体流程图设计(二)、部分程序设计 读出温度子程序流程图。 =====================将从DS18B20中读出的温度数据进行转换 TEMPER_COV :MOV A,0F0H ANL A, TEMPER_L SWAP A MOV TEMPER_NUM,A MOV A,TEMPER_L JNB ,TEMPER_COV1 INC TEMPER_NUM TEMPER_COV1:MOV A, TEMPER_H ANL A, 07H SWAP A ORL A,TEMPER_NUM MOV TEMPER_NUM,A MOV A ,0FH ANL A ,TEMPER_L MOV TEMPER_D,A CLR C SUBB A ,10 JC JIANLO MOV TEMPER_D , A INC TEMPER_NUM JIANLO: LCALL BIN_BCD RET。 ====================将16进制的温度数据转换成压缩BCD码 BIN_BCD: MOV DPTR ,TEMP_TAB MOV A ,TEMPER_NUM MOVC A ,@A+DPTR MOV TEMPER_NUM,A RET TEMP_TAB :DB 00H,01H,02H,03H,04H,05H,06H,07H DB 08H,09H,10H,11H,12H,13H,14H,15H DB 16H,17H,18H,19H,20H,21H,22H,23H DB 24H,25H,26H,27H,28H,29H,30H,31H DB 32H,33H,34H,35H,36H,37H,38H,39H DB 40H,41H,42H,43H,44H,45H,46H,47H DB 48H,49H,50H,51H,52H,53H,54H,55H DB 56H,57H,58H,59H,60H,61H,62H,63H DB 64H,65H,66H,67H,68H,69H,70H,71H DB 72H,73H,74H,75H,76H,77H,78H,79H DB 80H,81H,82H,83H,84H,85H,86H,87H DB 88H,89H,90H,91H,92H,93H,94H,95H DB 96H,97H,98H,99H 计算温度子程序流程图 对于DS18B20来说,它的初始化是很重要的,没有初始化,它根本就不能工作。 下面是它的初始化子程序:INIT_1820:SETB DQ NOP CLR DQ MOV R0,80H TSR1: DJNZ R0,TSR1 SETB DQ MOV R0,25H TSR2: DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 TSR3: SETB FLAG1 LJMP TSR5 TSR4 : CLR FLAG1 LJMP TSR7 TSR5: MOV R0,06BH TSR6: DJNZ R0,TSR6 TSR7: SETB DQ RET DISPLAY1:LCALL LCD_CS MOV R0,11 MOV 50H,0 MOV R1,08H A1: MOV A, R1 MOV P0,A ACALL ENABLE MOV DPTR,TABLE1 MOV A ,50H MOVC A ,@A +DPTR LCALL WRITE_E INC 50H INC R1 DJNZ R0,A1 RET DISPLAY2; LCALL LCD_CS MOV P0,0C1H CALL ENABLE LCALL WRITE1 RET WRITE1:MOV R1,4 MOV R0,37H MOV DPTR,TABLE2 B1: MOV A,@R0 MOVC A,@A+DPTR CALL WRITE_E INC R0 DJNZ RI,B1 RET DISPLAY3:LCALL LCD_CS MOV R0,16 MOV 50H,0 MOV RI,80H C1: MOV A,R1 MOV P0,A ACALL ENABLE MOV DPTR ,TABLE3 MOV A ,50H MOVC A,@A+DPTR LCALL WRITE_E INC 50H INC R1 DJNZ R0,C1 RET ENABLE :CLR RS CLR RW CLR E ACALL DELAY3 SETB E RET WRITE_E:CALL DELAY3 SETB RS CLR RW SETB E MOV P0,A CLR E RET LCD_CS : MOV P0,01H ACALL ENABLE MOV P0,38H ACALL ENABLE MOV P0,0CH ACALL ENABLE MOV P0,06H ACALL ENABLE DELAY3:MOV R7 ,20 D1:MOV R6,250 D2:DJNZ R6,D2 DJNZ R7,D1 RET TABLE1:DB 39。 D39。 ,39。 S39。 ,39。 139。 ,39。 839。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。