当前位置:首页 > 单片机 > 单片机
[导读] ;title"DS1620-12F675温度LCD显示;ShiftData:;Bit1-AlwaysHigh(Gatefor"E");Bit2-RSBit;Bit3-LCDD4;Bit4-LCDD5;Bit5-LCDD6;Bit6-LCDD7;;;12F6754MHz;GPIO.0istheLCDDataBit;GPIO.1istheLCDCLOCkBit;GPI

;title"DS1620-12F675温度LCD显示
;ShiftData:
;Bit1-AlwaysHigh(Gatefor"E")
;Bit2-RSBit

;Bit3-LCDD4
;Bit4-LCDD5
;Bit5-LCDD6
;Bit6-LCDD7
;
;
;12F6754MHz
;GPIO.0istheLCDDataBit
;GPIO.1istheLCDCLOCkBit
;GPIO.2istheDS1620DataBit
;GPIO.3isMCLR
;GPIO.4istheDS1620ClockBit
;GPIO.5istheDS1620ResetBit
;
;
LISTP=12F675,R=DEC
INCLUDE"p12f675.inc"

#DEFINEDataGPIO,0
#DEFINEClockGPIO,1
#DEFINEDSDQGPIO,2
;MCLRusesGPIO,3
#DEFINEDSCLKGPIO,4
#DEFINEDSRSTGPIO,5

org0

bsfSTATUS,RP0
MOVlw0x00
MOVwfTRISIO
MOVlwb’11011100’
MOVwfOPTION_REG
clrfANSEL
bcfSTATUS,RP0

clrfSTATUS
clrfINTCON
clrfGPIO

MOVlw0x07
MOVwfCMCON
callInitLCD
callSndMsg
callInitDS

MAINMOVlw0xc0;line2onLCD
callSendINS

callGetTemp;读温度
callSendDEC;LCD显示

gotoMAIN
;---------------------------------------------------------------
;DS1620子程序
StartCMACRO
bsfDSRST
ENDM

StopCMACRO
bcfDSRST
ENDM

InitDSStartC
MOVlw0x0c
callSndByte
MOVlwb’00001010’
callSndByte
StopC

nop

StartC
MOVlw0xEE
callSndByte
StopC
return

GetTempMOVlw0xAA
StartC
callSndByte
nop
callRdByte
StopC
return

SndByteMOVwfNOTemp
MOVlw8
MOVwfNOTmp1
DSLoop1
bcfDSCLK
rrfNOTemp,f
btfssSTATUS,C
gotoDSCLR
bsfDSDQ
gotoDSLp1
DSCLRbcfDSDQ
nop
DSLp1bsfDSCLK
decfszNOTmp1,f
gotoDSLoop1
return

RdByteclrfNOTemp
MOVlw8
MOVwfNOTmp1
bsfSTATUS,RP0
bsfTRISIO,2
bcfSTATUS,RP0
DSLoop2
bcfDSCLK
nop
rrfNOTemp,f
btfssDSDQ
gotoDSCLR2
bsfNOTemp,7
gotoDSLp2
DSCLR2bcfNOTemp,7
nop
DSLp2bsfDSCLK
decfszNOTmp1,f
gotoDSLoop2
bsfSTATUS,RP0
bcfTRISIO,2
bcfSTATUS,RP0
MOVfwNOTemp
return

;--------------------------------------------
;LCDSubroutines
Message
addwfPCL,f
dt"HelloDS1620",0

SndMsgclrfFSR
OutLoop
MOVfFSR,w
incfFSR,f
callMessage
iorlw0
btfscSTATUS,Z
gotoRtnSnd
callSendCHAR
gotoOutLoop
RtnSndreturn

InitLCD
callDlay5
callDlay5
callDlay5
callDlay5

bcfSTATUS,C
MOVlw0x03
callNybbleOut

callDlay5
EStrobe
callDlay160
EStrobe
callDlay160

bcfSTATUS,C
MOVlw0x02
callNybbleOut
callDlay160

MOVlw0x028
callSendINS

MOVlw0x008
callSendINS

MOVlw0x001
callSendINS
callDlay5

MOVlw0x006
callSendINS

MOVlw0x00F
callSendINS

return

SendDEC
MOVwfTempBIN
bcfpt5,0
btfscTempBIN,0
bsfpt5,0
rrfTempBIN,f
clrfTens
MOVlw0x0A
count10subwfTempBIN,f
btfssSTATUS,C
gotoSDEC1
incfTens,f
gotocount10
SDEC1addwfTempBIN,w
MOVwfUnits
MOVfwTens
addlwa’0’
callSendCHAR
MOVfwUnits
addlwa’0’
callSendCHAR
btfsspt5,0
gotoDEGC
MOVlwa’.’
callSendCHAR
MOVlwa’5’
callSendCHAR
DEGCMOVlwa’’
callSendCHAR
MOVlwa’D’
callSendCHAR
MOVlwa’e’
callSendCHAR
MOVlwa’g’
callSendCHAR
MOVlwa’C’
callSendCHAR
MOVlwa’’
callSendCHAR
MOVlwa’’
callSendCHAR
return

SendBIN
MOVwfTempBIN;存温度值

MOVlwa’1’
btfssTempBIN,7
MOVlwa’0’
callSendCHAR

MOVlwa’1’
btfssTempBIN,6
MOVlwa’0’
callSendCHAR

MOVlwa’1’
btfssTempBIN,5
MOVlwa’0’
callSendCHAR

MOVlwa’1’
btfssTempBIN,4
MOVlwa’0’
callSendCHAR

MOVlwa’1’
btfssTempBIN,3
MOVlwa’0’
callSendCHAR

MOVlwa’1’
btfssTempBIN,2
MOVlwa’0’
callSendCHAR

MOVlwa’1’
btfssTempBIN,1
MOVlwa’0’
callSendCHAR

MOVlwa’1’
btfssTempBIN,0
MOVlwa’0’
callSendCHAR

return


SendCHAR
MOVwfTemp

swapfTemp,w
bsfSTATUS,C
callNybbleOut

MOVfTemp,w
bsfSTATUS,C
callNybbleOut
return

SendINS
MOVwfTemp

swapfTemp,w
bcfSTATUS,C
callNybbleOut

MOVfTemp,w
bcfSTATUS,C
callNybbleOut

callDlay5
return

NybbleOut
MOVwfNOTemp
swapfNOTemp,f
bsfNOTemp,0
btfssSTATUS,C
bcfNOTemp,0

MOVlw6
MOVwfNOTmp1

bcfData
NOLoop1
ClockStrobe
decfszNOTmp1,f
gotoNOLoop1

bsfData
ClockStrobe
bcfData
bsfSTATUS,C
btfssNOTemp,0
bcfSTATUS,C
rlfGPIO,f
ClockStrobe
MOVlw4
MOVwfNOTmp1
NOLoop2
rlfNOTemp,f
bcfData
rlfGPIO,f
ClockStrobe
decfszNOTmp1,f
gotoNOLoop2

EStrobe

return


;--------------------------------------------
;Delay
Dlay160
MOVlw256-(160/4)
addlw1
btfssSTATUS,C
goto$-2
return

Dlay100callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
callDlay5
return

Dlay5
MOVlw4
MOVwfDlyTmp
MOVlw256-0x0E8
addlw1
btfscSTATUS,Z
decfszDlyTmp,f
goto$-3
return

org0x3ff
fill0x34a4,1
end

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

佛山 2025年5月28日 /美通社/ -- 5月27日,第29届中国国际厨房、卫浴设施展览会(KBC)在上海新国际博览中心开幕。恒洁作为卫浴行业的领军者与品质生活方式品牌的代表,亮相W2馆B03展馆,以“总有美好在此...

关键字: 沉浸式体验 温度 MIDDOT LED

北京 2025年4月27日 /美通社/ -- 日前,元脑InManage数据中心智能管理平台全面升级,打通IT基础设施管理系统与动力环境监控系统,实现双平台统一纳管,构建覆盖数据中心环境参数和服务器关键数据的全域数据池...

关键字: 温度 智能管理 GE AN

上海2025年4月21日 /美通社/ -- 智能动力管理公司伊顿今日宣布,将于 2025 上海车展上重点展示其最新的商用车发动机技术,该技术旨在提升中重型卡车性能和效率,并推动行业的可持续发展。 伊顿1.5S高功率制动...

关键字: 发动机 制动系统 温度 驱动技术

哈尔滨2025年2月24日 /美通社/ -- 随着春日暖阳的临近,哈尔滨中央大街与西九道街交叉口的标志性景观——敷尔佳冰钢琴,在完成其历时两个月的冰雪艺术使命后,于2月20日正式拆除。这座由专业护肤品牌敷尔佳匠心打造的冰...

关键字: 中国制造 华为 智能化 温度

在当今的能源领域,锂电池包凭借其高能量密度、长寿命、无记忆效应等优点,广泛应用于电动汽车、储能系统、便携式电子设备等诸多领域。然而,锂电池包的循环寿命并非一成不变,受到多种因素的综合影响。深入探究这些影响因素,对于提高锂...

关键字: 锂电池 高能量密度 温度

厦门2025年1月22日 /美通社/ -- 近日,新疆巴州企业疆果道凭借其在有机水果种植与AI智能分选领域的创新实践,成为水果行业关注的焦点。它引进的陶朗AI分选线,在管控终端品质,开拓内陆市场方面发挥了重要作用,加速疆...

关键字: AI 温度 BSP 人工智能

在全球化的浪潮中,中国品牌的出海已成为时代的必然选择。现在的品牌出海已经不仅仅是产品的跨国流通,更是一场深刻的文化交融和市场探索。 快手高级副总裁、国际化事业部负责人马宏彬 北京2025年1月17日 /美通社/ --...

关键字: 温度 AI BSP 快手

I 2 R的单位为焦耳/秒;它是向迹线提供能量的速率。如果我们无限期地将这种能量施加到迹线上,迹线的温度将无限期地继续升高。这种情况不会发生,因为有相应的冷却效果可以冷却走线。这些效应包括通过电介质的传导、通过空气的对流...

关键字: PCB 温度

热涉及能量从热力学系统向或从热力学系统的转移.虽然常用,但是一个多余的术语,因为热被定义为热能的流动(或转移)。热能是分子和原子的动能.焦耳(j)是国际热、功和能的系统单位。它被定义为另一个硅单位,牛顿(n)。牛顿被定义...

关键字: 非电气 温度

针对履带车辆传统独立悬架减振性能较差的问题 ,提出将叶片式减振器互联 ,在提高悬架系统减振性能的同时 , 降低了减振器内液压油的温度。 首先 ,通过油管将悬架系统中的叶片式减振器互联 ,并确定互联模式;其次 ,依据多体...

关键字: 履带车辆 温度 互联模式 液压互联悬架 平顺性
关闭