温度传感器试验论文程序清单

2020-03-03 05:50:59 来源:范文大全收藏下载本文

北京交通大学微机原理与接口技术综合实践说明书

附件一:硬件电路原理图

VCCE110UF/25VU1VCC9R18.2KR144.7KDS321DS18B2031P12P13P14P15P16P171234567889C51RESETP10P11P12P13P14P15P16P17EA/VPP20RDWRALE/PAD1123VCC19C130PCRY11.0592C2RXDPSENT0INT0T1INT11U28155P00P01P02P03P04P05P06P0739383736353433322117163012131415161718197910116X1P25P26P27P21P2218TXDU4A7407U4C7407U4E7407U5A7407236910132U4B7407U4D7407U4F7407VCC4128345612780.1K*7PRADGBCEFAD0AD1AD2AD3AD4AD5AD6AD7IO/MRDWRALETMROUTTMRINCEPB0PB1PB2PB3PB4PB5PB6PB7PA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC22930313233343536511121222324GLE1FGLE2FGLE3FGLE4FGLE5FAAAAAA874CZZ3BBBBB101010101010326272822232425E2VCC8272837PC038PC139PC2125PC3PC4PC5987698769876987698769ZZZZZFFFFFGFGAGAGAGAGAACpDBBBBBP23P24VCCGND30PX240RESETPC3PC4PC5CpDCpDCpDCpDCpD1415121329111020410UFDDDDD123451234512345123451234512EDEZEZEZEZEZELE1DELE2DELE3DELE4DELE5DCCCC1KU6R22.2KK1U3AR30.1KE34.7UFVCC74LS1412P12PC01275452U12A3LE1775452U12B5LE2275452U13A3LE3LED8U7LED8U8LED8U9LED8U10LED8U11LED8PC16CR10PC2ELE6DVCC1R42.2KK2U3BR50.1KE44.7UFVCCVCCF174LS1434P13PC367U13B5LE4PC412U14A3LE5PC567U14B5LE6754527545275452VCCR62.2KK3U3CR70.1K74LS14E54.7UFVCCR120.1K56P14P16R113KT19013FMQ-3VAD212E747UFC30.1UFC40.01UFC50.01UFR82.2KK4U3DR90.1KE64.7UF74LS1498P15P1713U3F74LS1412L1R130.3KVCC5B6B26GLE6F25

北京交通大学微机原理与接口技术综合实践说明书

源程序清单

TL

EQU 30H

;DS18B20温度传感器的第一个字节

TH

EQU 31H

;DS18B20温度传感器的第二个字节

TEM EQU 32H

;温度值

TMIN

EQU

33H

;温度下限

TMAX EQU

34H

;温度上限

BZ1

BIT

00H

;标志位1

BIT01

EQU

20H

BIT02

EQU

21H

BZ2 EQU

22H

BZ3

EQU

23H

DQ

BIT

P1.0

主程序

ORG

0000H MAIN: MOV SP,#70H

MOV A,#00H

MOV P1,A

MOV TMIN,#0FH

MOV TMAX,#28H

MOV BZ2,#00H

MOV BZ3,#00H

LOOP: LCALL

GET_TEMPER

LCALL

TEMPER

LCALL

KEY

MOV

A,BZ3

JNZ

NEXT

LCALL

WARN

NEXT: LCALL

DISPLAY

LJMP

LOOP

;温度获得程序

ORG

0100H GET_TEMPER:

LCALL INIT

JB

BZ1,S22

LJMP

GET_TEMPER S22: MOV

A,#0CCH

LCALL WRITE

MOV

A,#44H

LCALL WRITE

NOP GET01: LCALL INIT

JB

BZ1, GET02

;标志位2 ;标志位3 ;蜂鸣器发光二极管复位(低电平) ;给上限赋值

;给下限赋值 ;按健1标志位 ;按键4标志位

;读取此时的温度值

;把DS18B20传来温度转化为单个值

;调用键盘程序

;若BZ3为1,则跳转NEXT ;调用报警子程序

;调用显示程序 ;主程序循环 ;若BZ为一,则跳转S22 ;跳过ROMA匹配 ;发启动转换命令 2

北京交通大学微机原理与接口技术综合实践说明书

LJMP GET01 GET02: MOV A,#0CCH

;跳过ROM匹配

LCALL WRITE

MOV A,#0BEH

;发出读温度命令

LCALL WRITE

LCALL READ

;采集温度

RET

;初始化DS18B20

ORG

0200H INIT: SETB

DQ

;定时入口

NOP

CLR

DQ

MOV

R0, #0F0H

DJNZ

R0, $

;480?s复位脉冲(低电平)

SETB

DQ

MOV

R0, #1EH

DJNZ

R0, $

;等待60?s

JNB

DQ, INI1

;检测到低电平则置标志位

LJMP

INI2 INI1: SETB

BZ1

;置标志位,DS18B20存在

LJMP

INI3 INI2: CLR

BZ1

;清标志位,DS1B820不存在

LJMP

INI4 INI3: MOV

R0, #36H

DJNZ

R0, $

;低电平持续108?s INI4: SETB

DQ

RET

写DS18B20

ORG

0300H WRITE: MOV R2,#08H

;循环8次写入一个字节

CLR C WR1: CLR DQ

;数据线变低电平产生写起始信号

MOV R3,#03H

DJNZ R3,$

;低电平持续6s

RRC A

;写入位从A移到Cy

MOV DQ,C

;命令字按位依次送DS18B20

MOV R3,#0FH

DJNZ R3,$

;写过程持续30s

SETB DQ

DJNZ R2,WR1

RET

读DS18B20的程序,从DS18B20中读出两个字节的数据

ORG

0400H

北京交通大学微机原理与接口技术综合实践说明书

READ: MOV R4,#02H

;将温度高位和低位元从DS18B20中读出

MOV R0,#TL

;低位元存入TL,高位存入TH RE00: MOV R2,#08H

;循环8次读一字节 RE01: CLR C

SETB DQ

NOP

NOP

;高电平持续2s

CLR DQ

NOP

NOP

NOP

;数据线低电平3s

SETB DQ

;数据线升高电平产生读起始信号

MOV R5, #04H

DJNZ R5, $

;等待8s

MOV C, DQ

MOV R3, #0CH

DJNZ R3, $

;读周期持续24s

RRC A

;读取数据移入A

DJNZ R2, RE01

MOV @R0, A

;读完1字节数据移入A

INC

R0

DJNZ R4, RE00

;读入2字节

RET

将从DS18B20中读出的温度数据进行转换

ORG

0500H TEMPER: MOV

A, #0F0H

ANL A, TL

;低字节高4位存入A

SWAP A

;A中高低四位互换

MOV TEM, A

MOV A, TL

;TL低四位移入A

JNB ACC.3,TEMPER01 ;去小数部分取整数

INC

TEM

;对小数部分四舍五入 TEMPER01:MOV A, TH

ANL A, #07H

;高字节低四位移入A

SWAP A

;高低四位互换

ORL A, TEM

;实际温度高低四位装配

MOV TEM,A

;把DB18B20采集温度送TEM

RET

;比较子程序

ORG

0600H WARN: CLR

C

MOV A, TEM

SUBB A,TMIN

;把现在的温度与下限比较

北京交通大学微机原理与接口技术综合实践说明书

JC

LIGHT

MOV A, TEM

SUBB

A,TMAX

;把现在的温度与上限比较

JNC ALARM FH: RET ALARM:SETB P1.6

;开启蜂鸣器

SJMP FH LIGHT: SETB P1.7

SJMP FH

按键子程序

ORG

0700H KEY: MOV A, #3FH

MOV P1, A

MOV A,P1

JB

ACC.2,KEY1

JB

ACC.3,KEY2

JB

ACC.4,KEY3

JB

ACC.5,KEY4 DONE: RET KEY1: INC

TMAX

LCALL

WARN

LCALL

DISPLAY

AJMP

DONE KEY2: DEC

TMAX

LCALL

WARN

LCALL

DISPLAY

AJMP

DONE KEY3: INC

TMIN

LCALL

WARN

LCALL

DISPLAY

AJMP

DONE KEY4:DEC

TMIN

LCALL

WARN

LCALL

DISPLAY

AJMP

DONE ;显示子程序

ORG

1000H DISPLAY:MOV DPTR, #0100H

MOV A, #0EH

MOVX @DPTR, A

MOV R5, #0FH

LOOP1: MOV R2, #01H

MOV A, TMAX

ACALL FB

ACALL DIR

;开启二极管发光 ;扫描键盘 ;按健1按下则调用KEY1 ;按健2按下则调用KEY2 ;按健3按下则调用KEY3 ;按健4按下则调用KEY4 ;LED端口地址赋给程序 ;方式控制字送A ;温度循环显示15次 显示温度上限值 5

;北京交通大学微机原理与接口技术综合实践说明书

MOV

A, TEM

;显示当前温度值

ACALL

FB

ACALL

DIR

MOV

A, TMIN ;显示温度下限值

ACALL

FB

ACALL

DIR

DJNZ

R5, LOOP1

RET

;将温度值转换为BCD码

ORG

1100H FB: MOV

B,#0AH

;分半程序

DIV

AB

MOV

BIT01,A

MOV

BIT02,B

RET

ORG

1200H DIR: MOV

R0,#BIT01

MOV

A,R2

MOV

R3,#02H LD0: MOV

DPTR,#0103H ;C口地址送DPTR

MOVX

@DPTR,A

;字位码送C口

MOV

DPTR,#0102H ;B口地址送DPTR

MOV

A,@R0

;地址偏移量送A

ADD

A,#0CH

;修正A地址

MOVC

A,@A+PC

;查字形码表 DIR1: MOVX

@DPTR, A

;字形码送B口

MOV

R7,#02H

;设定延时时间

ACALL DL

;延时1ms

INC

R0

;修正显示缓冲区指针

MOV

A, R2

;字位码送A

RL

A

;显示下一位

MOV

R2, A

DJNZ

R3, LD0

RET DSEG0: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DSEG1: DB 7DH, 07H, 7FH, 6FH, 77H, 7CH DSEG2: DB 39H, 5EH, 79H, 71H, 73H, 21H DSEG3: DB 31H, 6EH, 40H, 3EH, 00H, 00H DL: MOV

R6, #0FFH DL6: DJNZ

R6, DL6

DJNZ

R7, DL

RET

END

基于18B20温度传感器论文

单片机温度传感器论文_图文.

半导体温度传感器

温度传感器课程设计

温度传感器工作原理

光纤温度传感器 毕业论文

航空机载温度传感器振动特性分析论文

基于NRF2401的无线温度传感器的设计论文

CMOS集成温度传感器设计

数字温度传感器的应用

《温度传感器试验论文程序清单.doc》
温度传感器试验论文程序清单
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文