- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS18B20汇编程序(完整版)
DS18B20汇编程序
;实验目的:熟悉DS18B20的使用
;六位数码管显示温度结果,其中整数部分2位,小数部分4位
;每次按下RB0键后进行一次温度转换。
;硬件要求:把DS18B20插在18B20插座上
; 拨码开关S10第1位置ON,其他位置OFF
; 拨码开关S5、S6全部置ON,其他拨码开关全部置OFF
;*****************以下是暂存器的定义*****************************
#INCLUDEP16F877A.INC
#DEFINE DQ PORTA,0 ;18B20数据口
__CONFIG _DEBUG_OFF_CP_ALL_WRT_HALF_CPD_ON_LVP_OFF_BODEN_OFF_PWRTE_ON_WDT_OFF_HS_OSC
CBLOCK 20H
DQ_DELAY1
DQ_DELAY2
TEMP
TEMP1
TEMP2 ;存放采样到的温度值
TEMP3
COUNT
COUNT1
ENDC
TMR0_VALUE EQU 0AH ;寄存器初值为6,预分频比1:4,中断一次时间为4*(256-6)=1000us
DQ_DELAY_VALUE1 EQU 0FAH
DQ_DELAY_VALUE2 EQU 4H
;**********************以下是程序的开始************************
ORG 00H
NOP
GOTO MAIN ;入口地址
ORG 04H
RETFIE ;在中断入口出放置一条中断返回指令,防止干扰产生中断
TABLE
ADDWF PCL,1
RETLW 0C0H ;0的编码(公阳极数码管)
RETLW 0F9H ;1的编码
RETLW 0A4H ;2的编码
RETLW 0B0H ;3的编码
RETLW 99H ;4的编码
RETLW 92H ;5的编码
RETLW 082H ;6
RETLW 0F8H ;7
RETLW 080H ;8
RETLW 090H ;9
;***************************主程序*******************************
MAIN
CLRF PORTA
CLRF PORTB
BANKSEL TRISA
CLRF TRISA ;A口所有先设置为输出
CLRF TRISD
MOVLW 01H
MOVWF TRISB ;B0口为输入,其他为输出
MOVLW 06H
MOVWF ADCON1 ;关闭所有A/D口
MOVLW 01H
MOVWF OPTION_REG ;分频比1:4,定时器,内部时钟源
BCF STATUS,RP0
CLRF TEMP
CLRF TEMP1
CLRF TEMP2 ;清零临时寄存器
MOVLW 8H
MOVWF COUNT
MOVLW 38H
MOVWF FSR
CLRF INDF
INCF FSR,1
DECFSZ COUNT,1
GOTO $-3
;****************************循环处理部分************************
;先启动18B20温度转换程序,在判断温度转换是否完成(需750us)
;未完成则调用显示子程序,直到完成温度转换
;完成后读取温度值
;送LCD显示
LOOP
文档评论(0)