历史上的今天
返回首页

历史上的今天

今天是:2025年01月16日(星期四)

正在发生

2018年01月16日 | 数字温度传感器DS18B20程序

2018-01-16 来源:eefocus

   ORG  0000H
START: MOV  SP,#60H     ;开机初始化
    MOV  P0,#0FFH
    MOV  P1,#0FEH
    MOV  P2,#0FFH
    MOV  P3,#0FFH 

MAIN:  LCALL  GET_TEMPER   ;调用读温度子程序
    LCALL  DISP      ;调用数码管显示子程序


    AJMP  MAIN      ;重复循环

;------ 读DS18B20传感器的温度值 ------
GET_TEMPER:
    SETB  P3.3
    LCALL  RST18B20    ;复位DS18B20
    JB    00H,DSS2
    RET
DSS2:  MOV   A,#0CCH    ;跳过ROM匹配
    LCALL  WR18B20
    MOV   A,#44H     ;向DS18B20发出温度转换命令
    LCALL  WR18B20
    LCALL  RST18B20    ;准备读温度前先复位DS18B20
    MOV   A,#0CCH    ;跳过ROM匹配
    LCALL  WR18B20
    MOV   A,#0BEH    ;向DS18B20发出读温度命令
    LCALL  WR18B20
    LCALL  RE18B20    ;读出温度数据
    RET

;------ DS18B20复位初始化程序 ------
RST18B20:
    SETB  P3.3
    NOP
    CLR   P3.3
    MOV   R0,#06BH    ;主机发出复位低脉冲
    MOV   R1,#03H
DSR1:  DJNZ  R0,DSR1 
    MOV   R0,#6BH
    DJNZ  R1,DSR1
    SETB  P3.3      ;拉高数据线
    NOP
    NOP
    NOP
    MOV   R0,#25H
DSR2:  JNB   P3.3,DSR3    ;等待DS18B20回应
    DJNZ  R0,DSR2
    LJMP  DSR4
DSR3:  SETB  00H       ;置标志位,表示DS1820存在
    LJMP  DSR5
DSR4:  CLR   00H        ;清标志位,表示DS1820不存在
    LJMP  DSR7
DSR5:  MOV   R0,#06BH
DSR6:  DJNZ  R0,DSR6     ;延时一段时间
DSR7:  SETB  P3.3
    RET

;------ 写DS18B20的子程序 ------
WR18B20:
    MOV   R2,#8
    CLR   C
WR1:  CLR   P3.3
    MOV   R3,#6
    DJNZ  R3,$
    RRC   A
    MOV   P3.3,C
    MOV   R3,#23
    DJNZ  R3,$
    SETB  P3.3
    NOP
    DJNZ  R2,WR1
    SETB  P3.3
    RET

;------ 从DS18B20中读温度数据程序 ------
RE18B20:
    MOV   R4,#2
    MOV   R1,#2FH
RE00:  MOV   R2,#8
RE01:  CLR   C
    SETB  P3.3
    NOP
    NOP
    CLR   P3.3
    NOP
    NOP
    NOP
    SETB  P3.3
    MOV   R3,#09
RE10:  DJNZ  R3,RE10
    MOV   C,P3.3
    MOV   R3,#23
RE20:  DJNZ  R3,RE20
    RRC   A
    DJNZ  R2,RE01
    MOV   @R1,A
    DEC   R1
    DJNZ  R4,RE00
    RET

;-------- 显示子程序 --------
DISP:  MOV   A,2FH
    MOV   C,70H
    RRC   A
    MOV   C,71H
    RRC   A
    MOV   C,72H
    RRC   A
    MOV   C,73H
    RRC   A
    MOV   2FH,A
    MOV   A,2FH
    MOV   B,#10
    DIV   AB
    MOV   30H,A
    MOV   31H,B
    MOV   A,30H
    MOV   DPTR,#SGTB
    MOVC  A,@A+DPTR
    MOV   P0,A      ;显示温度“十位”值
    CLR   P2.2
    SETB  P2.0
    SETB  P2.1
    SETB  P2.3
    SETB  P2.4
    LCALL  YS4722U
    MOV   A,31H
    MOV   DPTR,#SGTB
    MOVC  A,@A+DPTR
    MOV   P0,A      ;显示温度“个位”值
    CLR   P2.3
    SETB  P2.0
    SETB  P2.1
    SETB  P2.2
    SETB  P2.4
    LCALL  YS4722U
    MOV   A,#01000110B
    MOV   P0,A      ;显示温度符号“ ℃”
    CLR   P2.4
    SETB  P2.0
    SETB  P2.1
    SETB  P2.2
    SETB  P2.3
    LCALL  YS4722U
    RET

;************* 8位共阳数码管显示器字型码表 *****************
SGTB:  DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
    DB 88H,83H,0C6H,0A1H,86H,8EH,89H,0A3H,8CH,0C8H

YS4722U:
    MOV   R4,#10 ;延时子程序
Y3:   MOV   R5,#216
    DJNZ  R5,$
    DJNZ  R4,Y3
    RET

    END


推荐阅读

史海拾趣

Hama公司的发展小趣事

H&D Wireless公司成立于2009年,总部位于瑞典斯德哥尔摩。成立初期,公司专注于物联网技术的研发,致力于提供智能家居Wi-Fi组件和无线多媒体解决方案。2016年,H&D Wireless宣布获得了一笔300万美元的风险投资,投资方包括Blasieholmen Investment Group及旗下网络内的40名瑞典和欧洲企业家与私人投资家。这笔资金为公司后续的全球业务扩张和物联网云服务平台的发布奠定了坚实基础。

EXCELTA公司的发展小趣事

随着公司规模的扩大,产品质量的稳定性成为制约Excelta进一步发展的瓶颈。为了解决这一问题,公司决定引入先进的质量管理体系,并投入大量资源进行培训和改造。经过不懈的努力,Excelta的产品质量得到了显著提升,客户满意度也大幅提高。这一转变不仅为公司赢得了更多的订单,还奠定了公司在行业中的领先地位。

Anaren Ceramics公司的发展小趣事

为了确保产品质量的稳定性和可靠性,Anaren Ceramics公司建立了一套完善的质量管理体系。公司严格按照国际标准进行生产和管理,从原材料的采购到产品的出厂,每一个环节都经过严格的检测和把控。这种对质量的严格把控不仅赢得了客户的信任,也为公司在电子行业中树立了良好的口碑。

ASM公司的发展小趣事

进入21世纪,ASM公司开始关注中国市场的潜力。随着中国经济的快速增长和半导体产业的蓬勃发展,ASM公司看到了巨大的商机。公司加大了对中国市场的投入,与中国半导体代工厂建立了紧密的合作关系,为中国市场提供了高质量的产品和服务。这一举措不仅促进了ASM公司在中国市场的快速发展,也为中国半导体产业的进步做出了贡献。

锋鸣电子(Fengming)公司的发展小趣事

福斯特(FIRST)公司在光伏封装材料领域取得了显著成就。自2003年公司前身杭州福斯特热熔胶膜有限公司成立以来,团队成功研发出EVA太阳能电池胶膜,正式进军光伏行业。此后,公司不断投入研发,扩大产能,光伏胶膜(EVA/POE胶膜)的设计产能已达10.51亿平米。至2020年,公司光伏胶膜销量达8.65亿平米,占据全球市场份额约55%-60%,大幅领先其他竞争对手。这一成就不仅巩固了福斯特在光伏胶膜市场的领导地位,还推动了整个行业的发展。

Continental公司的发展小趣事

随着汽车工业的发展,大陆集团开始将业务扩展到汽车轮胎领域。1901年,马牌轮胎首次与德国戴姆勒·奔驰汽车公司合作参加汽车竞赛,这标志着大陆集团正式进入汽车轮胎市场。仅仅三年后,大陆集团就生产出了全世界第一条带花纹的汽车轮胎,这一创新大大提高了轮胎的抓地力和安全性。1908年,大陆集团又生产出了全世界第一个可拆装的车轮,使车轮和车轴分开,由此大大节省了换轮胎的时间。这些技术创新使得大陆集团在汽车轮胎市场上占据了重要地位。

问答坊 | AI 解惑

世芯电子与SONY半导体事业部合作先进封装解决方案

世芯电子(Alchip Technologies, Inc.)日前宣布与SONY半导体事业部(color=#0000ff]SONY[/url] Semiconductor Group)成为封装技术合作伙伴,本次结盟主要针对提升其全球客户在先进SoC/ASIC解决方案的服务。 世芯电子是给客户提供多元化晶圆厂的选择方 ...…

查看全部问答>

电路板检查方法介绍

本文阐述,过程监测可以防止电路板缺陷,并提高全面质量。  检查可以经常提醒你,你的装配工艺是不是还有太多的变量。即使在你的制造工艺能够达到持续的零缺陷生产之后,某种形式的检查或者监测对于保证所希望的质量水平还是必要的。表面贴装装配 ...…

查看全部问答>

欢迎职场专家武老师的加盟!--与您畅谈职场生涯

各位朋友,今天我们诚挚的邀请到了电子技术领域的武晔卿武老师来坐客我们的职场专栏。希望大家能够各抒己见,同时武老师也会及时对大家职场方面的各类问题进行答疑解惑,望大家能够充分沟通,相互学习,对电子行业市场有个全面的梳理及全新的认识, ...…

查看全部问答>

招聘Wince开发工程师,地点深圳,有意发邮件到pz_forever@126.com

招聘Wince开发工程师,地点深圳,有意发邮件到pz_forever@126.com…

查看全部问答>

RX8025 地址0~6(年月日星期时分秒)可读可写,为什么地址8,9,10(W报警),14,15(控制地址)不能写入呢???

RX8025芯片,可以对其设定时间,并且也能显示正确,现在想用到W报警功能,却无法把设定的时间写入,好像控制寄存器也无法写入正确的值,这种情况会是芯片坏了吗??(由于没有库存了只是猜测) W报警的设定还有什么特殊要求吗??请知道的高手帮下 ...…

查看全部问答>

飞凌嵌入式推出用于S3C2440开发板的300万CMOS摄相头方案

‘飞凌嵌入式’在先期推出130万摄相头方案以后,再次通过自主创新,将于近日首家向用户展示高质量的300万CMOS CAMARA,并应用于飞凌系列开发板!    http://www.witech.com.cn…

查看全部问答>

推荐几本学习USB的书

哪位推荐几本学习USB原理以及开发应用的好书,谢谢…

查看全部问答>

请教一个有人问过的问题,ads7843触摸屏

static struct ads7846_platform_data ads_info = {         .model                  = 7843,         .x_min  ...…

查看全部问答>

USB虚拟串口通信的问题

各位,我先说一下我的东西: 用PIC18F4550 MCU采集数据,通过USB总线把数据传给PC。用的是Microchip提供的CDC firmware。在PC上用MFC基于对话框的方法作了一个显示程序,其中用MSComm控件对串口操作。 这个程序是之前做好的,用在PC的物理串口操 ...…

查看全部问答>

申请试用MSP-EXP430G2

申请试用MSP-EXP430G2…

查看全部问答>