当前位置:首页 > 单片机 > 单片机
[导读] ;18B10温度测量+LCD1602显示温度;实战目的;1、学习18B20单总线温度传感器的使用。;2、学习LCD的使用。;3、学习10进制转10进制的方法。;所有资源:;1、TMRO定时器。产生温度转换所需要的延时时间。;2、P

;18B10温度测量+LCD1602显示温度

;实战目的
;1、学习18B20单总线温度传感器的使用。
;2、学习LCD的使用。
;3、学习10进制转10进制的方法。

;所有资源:
;1、TMRO定时器。产生温度转换所需要的延时时间。
;2、PORTA口。即做LCD显示时可控制端口,RA2同时做18B20的数据接口
;3、PORTC口。做LCD显示时的数据口。

;功能说明
;1、通过18B20采集当前环境
;最高温度可显示127.9375,最低温度可显示0.0625(无负温度处理部分)
;2、将温度在LCD上显示(3位整数,4位小数)

;硬件连接
;1,在18B20按DEMO板上的标识插在插座U8上
;2,拨码开关S13第4位置ON
;3,其他所有拨码开关都置OFF

;源程序如下:
LIST P=PIC16F877
TITLE="LCD DISPLAY"
ERRORLEVEl -302 ;去掉编译时的302号提示信息
;__CONFIG B'000010010101' ;代码保护开启;WRT_ENABLE;CPD_ENABLE;LVP_DISABLE;BODEN_ENABLE
;PWRTE_ENABLE;WDT_ENABLE;OSC_XT

;*****************以下是暂存器的定义*****************************
#INCLUDE
#DEFINE RS PORTA,1 ;LCD控制信号
#DEFINE RW PORTA,2 ;LCD控制信号
#DEFINE E PORTA,3 ;LCD控制信号
#DEFINE DAT PORTC ;LCD数据线
#DEFINE DQ PORTA,2 ;18B20数据口


CBLOCK 20H
DQ_DELAY1
DQ_DELAY2
TEMP
TEMP1
TEMP2 ;存放采样到的温度值
COUNT
COUNT1
ENDC
TMR0_VALUE EQU 0AH ;寄存器初值为6,预分频比1:4,中断一次时间为4*(256-6)=1000us
DQ_DELAY_VALUE1 EQU 0FAH
DQ_DELAY_VALUE2 EQU 4H

;***********************以下是宏定义****************************
READ_STATE MACRO ;读18B20的状态
BCF RS
BSF RW
BSF E
ENDM

WRITE_COMMAND MACRO ;写命令
BCF RS
BCF RW
BCF E
ENDM

WRITE_DATA MACRO ;写数据
BSF RS
BCF RW
BCF E
ENDM
;**********************以下是程序的开始************************
ORG 00H
NOP
GOTO MAIN ;入口地址
ORG 04H
RETFIE ;在中断入口出放置一条中断返回指令,防止干扰产生中断

;***************************主程序*******************************
MAIN
CLRF PORTC
CLRF PORTA
BANKSEL TRISA
CLRF TRISA ;A口所有先设置为输出
CLRF TRISC
MOVLW 01H
MOVWF OPTION_REG ;分频比1:4,定时器,内部时钟源
MOVLW 06H
MOVWF ADCON1 ;关闭所有A/D口
BCF STATUS,RP0
MOVLW 00H
MOVWF INTCON ;关闭所有中断,且同时清零T0IF

CLRF TEMP
CLRF TEMP1
CLRF TEMP2 ;清零临时寄存器


;****************************循环处理部分************************

;先启动18B20温度转换程序,在判断温度转换是否完成(需750us)
;未完成则调用显示子程序,直到完成温度转换
;完成后读取温度值
;送LCD显示
LOOP
CALL RESET_18B20 ;调用复位18B20子程序
MOVLW 0CCH
MOVWF TEMP
CALL WRITE_18B20 ;SKIP ROM命令
MOVLW 44H
MOVWF TEMP
CALL WRITE_18B20 ;温度转换命令
CLRF STATUS
BCF INTCON,T0IF
CALL DELAY_750MS ;调用温度转换所需要的750MS延时
NOP
CALL RESET_18B20
MOVLW 0CCH
MOVWF TEMP
CALL WRITE_18B20 ;SKIP ROM命令
MOVLW 0BEH
MOVWF TEMP
CALL WRITE_18B20 ;读温度命令
CALL READ_18B20 ;调用读温度低字节
MOVFW TEMP
MOVWF TEMP1 ;保存到TEMP1
CALL READ_18B20 ;调用读温度高字节
MOVFW TEMP
MOVWF TEMP2 ;保存到TMEP2
CALL RESET_18B20
CALL TEMP_CHANGE ;调用温度转换程序
CALL DISPLAY ;调用LCD显示程序
GOTO LOOP ;循环工作

;***************************LCD显示子程序************************
DISPLAY
;LCD模块初始化,由厂家提供的资料显示,其初始化过程为:

;6----写指令38H,此条指令是将LCD显示模块设置为8位数据线,双行,5X7点阵显示
;7----检测Busy信号;
;8----写指令08H,关闭显示
;9----检测Busy信号;
;10---写指令01H,显示清屏
;以后写入光标等的控制指令.
BANKSEL TRISA
CLRF TRISA ;A口为LCD控制信号,全输出
BANKSEL PORTA

NOP
MOVLW 38H
CALL COMMAND_WRITE ;显示模式设置:16*2显示,5*7点阵,8位数码接口
MOVLW 08H
CALL COMMAND_WRITE ;显示关闭,不显示光标
MOVLW 01H
CALL COMMAND_WRITE ;显示清屏
MOVLW 06H
CALL COMMAND_WRITE ;显示光标移动设置(右移),整屏显示不移动
MOVLW 0CH
CALL COMMAND_WRITE ;显示开及光标设置,不显示光标
DISPLAY0
MOVLW 84H
CALL COMMAND_WRITE ;设置显示起始位置
CALL BUSY ;判忙

MOVLW 8H ;共8个数据需要显示
MOVWF COUNT
MOVLW 37H ;取数地址
MOVWF FSR
DISPLAY1
INCF FSR,1 ;取数地址加1
MOVFW INDF
CALL DATA_WRITE ;调用写数据子程序
DECFSZ COUNT,1
GOTO DISPLAY1
RETURN

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

冷裂纹和热裂纹的区别主要体现在产生的原因、温度和时间、产生的部位和方向、外观特征以及金相结构等方面。

关键字: 冷裂纹 热裂纹 温度

涡轮流量计是一种广泛用于测量液体和气体流量的仪器,它基于涡轮叶片的旋转来测量流体的速度并计算出流量。这种类型的流量计在工业、化工、石油、天然气、水处理和许多其他领域都得到了广泛的应用。然而,要确保涡轮流量计的准确性和可靠...

关键字: 涡轮流量计 涡轮叶片 测量

液位变送器是一种常见的工业自动化装置,用于测量液体高度或容器中的液体体积。它广泛应用于石油化工、食品加工、水处理等领域,在生产过程中起到重要的监测和控制作用。本文将介绍液位变送器的基本原理、应用设计步骤以及注意事项,帮助...

关键字: 液位变送器 工业自动化 测量

深圳2023年8月31日 /美通社/ -- 9月1日,招商信诺人寿保险有限公司(以下简称为“招商信诺人寿”)2023年客户节正式在全国启动。本次客户节活动将持续为期两个月的时间,以“健康生活,诺+掌握”为主题,推出从理赔...

关键字: 医疗服务 APP BSP 温度

北京2023年8月28日 /美通社/ -- 随着近期消费需求的不断释放,今年国内的消费品市场呈现出新趋势,消费者对产品的品质与功能有了新需求。近日,专注行业与市场发展趋势分析的欧睿携手巨量算数共同发布《识变而上:2023...

关键字: 滤芯 温度 金属 BSP

南京2023年8月8日 /美通社/ -- 近年来,大家对于"家庭饮水健康"越来越重视,大多数家庭都安装了净水机,细细的水流儿让"烧水泡茶"更是变成了一种"慢活儿...

关键字: LINK 智慧家居 AI 温度

深圳2023年8月7日 /美通社/ -- 当前,消费电子行业呈现相对稳定的发展态势。随着5G、物联网、卫星通信、人工智能、虚拟现实等前端技术与消费电子行业的不断融合,未来将催生更多新的产品形态,加速产品迭代优化,推动消费...

关键字: 消费电子 CE 温度 闭环系统

日本横滨2023年8月7日 /美通社/ -- Fujitsu Semiconductor Memory Solution Limited宣布推出汽车级I2C接口512Kbit FeRAM——MB85RC512LY。目前可...

关键字: FUJITSU RAM 汽车 温度

上海2023年8月7日 /美通社/ -- 由澎湃新闻联合拜耳中国举办、由青年艺术家李政钟策划的“看见生命力”多元共创艺术作品展8月4日在上海K11购物艺术中心正式开幕,吸引到参观者络绎不绝。当日下午,复旦大学特聘教授高翔...

关键字: 大众 COM 人工智能 温度

具有高精度、信号隔离、LCD显示、支持HART协议、环路供电、接口保护等特点,此平台主要基于ADI的带自校验功能的多通道ADC和EPSON公司的超低功耗16位MCU实现。

关键字: 温度 变送器 信号隔
关闭
关闭