单片机18B20传感器测温问题小弟写了一段18B20温度测试然后用数码管显示的程序,使用STC12C2052AD单片机,数码管A段接于P1.7,DP段接于P1.0,其余依次,位选为P3.2,3.3,3.4,3.5.现在是仿真无问题,但接入实

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 13:24:19
单片机18B20传感器测温问题小弟写了一段18B20温度测试然后用数码管显示的程序,使用STC12C2052AD单片机,数码管A段接于P1.7,DP段接于P1.0,其余依次,位选为P3.2,3.3,3.4,3.5.现在是仿真无问题,但接入实

单片机18B20传感器测温问题小弟写了一段18B20温度测试然后用数码管显示的程序,使用STC12C2052AD单片机,数码管A段接于P1.7,DP段接于P1.0,其余依次,位选为P3.2,3.3,3.4,3.5.现在是仿真无问题,但接入实
单片机18B20传感器测温问题
小弟写了一段18B20温度测试然后用数码管显示的程序,使用STC12C2052AD单片机,数码管A段接于P1.7,DP段接于P1.0,其余依次,位选为P3.2,3.3,3.4,3.5.现在是仿真无问题,但接入实际电路后度取出的温度取整后全部为255,即FF,显示出来的全都是-1,求教诸位.
附代码.
\x05LED1 EQU P3.2
\x05LED2 EQU P3.3
\x05LED3 EQU P3.4
\x05LED4 EQU P3.5
\x05DQ EQU P3.7
\x05ORG 0000H
\x05LJMP MAIN
\x05ORG 0200H
MAIN:
\x05MOV 30H,#000H
\x05MOV 31H,#000H
\x05LOOP:
\x05
\x05LCALL RST18B20
\x05MOV A,#0CCH
\x05LCALL WR18B20
\x05MOV A,#44H
\x05LCALL WR18B20
\x05LCALL RST18B20
\x05MOV A,#0CCH
\x05LCALL WR18B20
\x05MOV A,#0BEH
\x05LCALL WR18B20
\x05LCALL READTEMPER
\x05LCALL DISP_NUM
\x05LJMP LOOP
DISP_NUM:
\x05MOV R0,#0FFH
\x05MOV A,031H
\x05JNB ACC.7,DISP_CONT_1;判断符号位
\x05MOV R0,#0FDH
\x05;若为负则取绝对值
\x05MOV R2,31H
\x05MOV A,#000H
\x05CLR C
\x05SUBB A,R2
\x05DISP_CONT_1:
\x05MOV DPTR,#NUM_TAB
\x05;输出温度标号
\x05MOV P1,#0FFH
\x05ORL P3,#03CH
\x05CLR LED4
\x05MOV P1,#0E5H
\x05LCALL DELAY3000U
\x05;输出个位
\x05MOV P1,#0FFH
\x05ORL P3,#03CH
\x05CLR LED3
\x05MOV B,#00AH
\x05DIV AB
\x05MOV R1,A
\x05MOV A,B
\x05MOVC A,@A+DPTR
\x05MOV P1,A
\x05LCALL DELAY3000U
\x05;输出十位
\x05MOV P1,#0FFH
\x05ORL P3,#03CH
\x05CLR LED2
\x05MOV A,R1
\x05MOVC A,@A+DPTR
\x05MOV P1,A
\x05LCALL DELAY3000U
\x05;输出符号位
\x05MOV P1,#0FFH
\x05ORL P3,#03CH
\x05CLR LED1
\x05MOV P1,R0
\x05LCALL DELAY3000U
\x05RET
RST18B20:
;传感器复位
\x05SETB DQ
\x05NOP
\x05;拉低总线480us
\x05CLR DQ
\x05MOV R0,#0EFH
\x05DJNZ R0,$
\x05MOV R0,#0EFH
\x05DJNZ R0,$
\x05NOP
\x05;释放总线
\x05SETB DQ
\x05;等待低电平信号回应50ms
\x05WAITTING:
\x05MOV R0,#25H
\x05JNB DQ,DSR3
\x05DJNZ R0,WAITTING
\x05;显示横线,表示18B20没有回应
\x05MOV P1,#0FDH
\x05CLR LED4
\x05CLR LED3
\x05CLR LED2
\x05CLR LED1
\x05;等待超时,重新进行复位
\x05LJMP RST18B20
\x05DSR3:
\x05MOV R0,#065H
\x05DJNZ R0,$
\x05SETB DQ
\x05MOV P1,#0FFH
\x05SETB LED4
\x05SETB LED3
\x05SETB LED2
\x05SETB LED1
\x05RET
READTEMPER:
\x05MOV R0,#030H
\x05MOV R7,#002H
\x05READBYTE:
\x05MOV R6,#008H
\x05READBIT:
\x05CLR C
\x05CLR DQ
\x05NOP
\x05NOP
\x05NOP
\x05SETB DQ
\x05MOV R5,#009H
\x05DJNZ R5,$
\x05MOV C,DQ
\x05MOV R5,#017H
\x05DJNZ R5,$
\x05RRC A
\x05DJNZ R6,READBIT
\x05MOV @R0,A
\x05INC R0
\x05DJNZ R7,READBYTE
\x05;将读取的温度整数部分提取并暂存回31H
\x05MOV A,030H
\x05ANL A,#0F0H
\x05SWAP A
\x05MOV R0,A
\x05MOV A,031H
\x05ANL A,#00FH
\x05SWAP A
\x05ORL A,R0
\x05MOV 31H,A
\x05RET
WR18B20:
\x05MOV R0,#008H
\x05CLR C
\x05WR1:
\x05CLR DQ
\x05MOV R1,#006H
\x05DJNZ R1,$
\x05RRC A
\x05MOV DQ,C
\x05MOV R1,#023
\x05DJNZ R1,$
\x05SETB DQ
\x05NOP
\x05DJNZ R0,WR1
\x05SETB DQ
\x05RET
DELAY3000U:
\x05MOV R4,#7
\x05Y3:
\x05MOV R5,#216
\x05DJNZ R5,$
\x05DJNZ R4,Y3
\x05RET
NUM_TAB:
\x05DB 003H,09FH,025H,00DH,099H,049H,041H,01FH,001H,009H
\x05END
怕没人回答,所以少悬赏,
好吧,我在说详细点,P1连接四位七段数码管,P3.7连接的是传感器的数据端.晶振12MHZ,而且据我所知STC单片机初始化后内部存储单元均为00H,那么FFH应该是从哪里获得的,电路为印刷电路板,经过飞针测试.

单片机18B20传感器测温问题小弟写了一段18B20温度测试然后用数码管显示的程序,使用STC12C2052AD单片机,数码管A段接于P1.7,DP段接于P1.0,其余依次,位选为P3.2,3.3,3.4,3.5.现在是仿真无问题,但接入实
DS18B20的操作延时量是调试的重点,所以你这样提问没人能回答,因为不知道你用什么频率的晶振,如果你的程序是AT系列单片机的程序,你可以把延时量加大4-5倍试试

单片机18B20传感器测温问题小弟写了一段18B20温度测试然后用数码管显示的程序,使用STC12C2052AD单片机,数码管A段接于P1.7,DP段接于P1.0,其余依次,位选为P3.2,3.3,3.4,3.5.现在是仿真无问题,但接入实 单片机用文敏电阻测温度和用18b20测温有什么区别 50分跪求一18B20测温计程序 用18b20测温度,当温度过高或过低时用蜂鸣器报警的程序怎么写啊? 温度计单片机实验感想用18b20做的单片机温度测试装置我也知道没什么感想才问的那、有的话就自己写了。变态老师要求的那。还2000字说! 想自己做一个电子体重计,可是不知道要用什么型号的称重传感器本人有单片机基础,想自己做一个电子体重计,但是不知道用什么型号的称重传感器.有没有类似于18B20那种的可编程的传感器,能 谁知道18B20采样程序怎么写! 18b20温度传感器与STC89C52RC单片机之间:DQ与单片机IO口之间需要接电阻吗?多大合适. 18B20测温度?!18B20测温度是怎么实现的啊,我说的是程序,先是复位然后跳过ROM再怎么样啊,是怎么的一个循环呢,高手指点一下啊, 我的18B20测温度,到40度的时候,就出现乱码,我改怎么解决吗? 红外测温传感器如何实现远距离测温原来的红外测温仪探头前是什么都没有的此时测温只能对着物理测.一离得远了温度就降下来不准,现在我在它前面怎么处理可以在较远距离也能测出该物 关于 51单片机 和ds18b20 led显示问题:18b20采用12位温度转换,结果只使用十位个位和小数点后一位18b20采用12位温度转换,结果只使用十位个位和小数点后一位,用4个led显示,第一个显示温度正负. 我用18b20测温,当温度达65度就读出错误温度值,换一个18B20也还是如此.谁知道什么原因吗?我减小上拉电阻后, 18b20温度用蜂鸣器报警c程序18b20程序写出来了,就差一个蜂鸣器报警程序,蜂鸣器是P3.6引脚,蜂鸣器是无缘的! 高温传感器为什么所测温度不同 光敏传感器应用于测温仪吗? 什么气体传感器能测温度 关于红外测温传感器红外测温传感器利用红外线热辐射测温的,这种传感器都能实现远距离测温,但是距离远了,物体热辐射不是很难集中到探头上吗?测得温度肯定不准啊,而且环境的温度也会