简易温度检测系统的设计
1 设计目的
(1)本实验要实现的是通过DS18B20温度传感器读回温度并在4位数码管上显示,并学会使用单片机控制DS18B20此类单总线器件,并对数字温度传感器DS18B0进行时序分析;
(2)学会绘制硬件原理电路图,软件程序框图;
(3)掌握Proteus仿真调试。
2 设计的主要内容和要求LED数码直读显示当前温度值;
(2)温度检测范围-55°到125°(注:-1°到-55°用数值255-201表示)。
3 整体设计方案
本系统的设计分硬件系统的设计和系统软件的设计。硬件系统包括单片机、LCD显示电路、时钟、温度采集电路;系统软件主要包括温度采集和数据处理的相应子程序以及LCD显示温度值的等相关子程序。温度计电路设计总体设计方框图如下图1所示,控制器采用单片机AT89C2051,温度传感器采用DS18B20,用4位LED数码管以串口传送数据实现温度显示。
图3.1 整体设计方框图
4 硬件电路的设计
系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主板电路等,如图4.1 所示:
图4.1系统的硬件电路原理图
5 软件设计
一个应用系统,要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。图5.1为主程序流程图:
图5.1主程序流程图
主要程序设计:
ORG 0000H
TEMPER_L EQU 41H
TEMPER_H EQU 40H
FLAG1 EQU 38H
A_BIT1 EQU 31H
B_BIT1 EQU 32H
D_BIT1 EQU 35H
DQ EQU P3.2
MOD7: MOV SP,#60H
LCALL GET_TEMPER
LCALL TEMPCOV
LCALL DISPLAY
AJMP MOD7
TEMP0: INC A
AJMP TEMP1
TEMPCOV:MOV A,TEMPER_L
MOV B,#16
DIV AB
JB B.3,TEMP0
TEMP1: MOV 34H,A
MOV A,B
MOV B,#10
MUL AB
MOV B,#16
DIV AB
MOV 30H,A
MOV A,TEMPER_H6
MOV B,#16
MUL AB
ADD A,34H
MOV B,#10
DIV AB
MOV 31H,B
MOV B,#10 ;
DIV AB ;
MOV 32H,B
MOV B,#10 ;
DIV AB ;
MOV 35H,B
MOV A,TEMPER_H
MOV 33H,#10H ;
JB ACC.7,EXIT7
MOV 33H,#00H
EXIT7: RET
INIT_1820:
SETB DQ
NOP
CLR DQ
MOV R1,#3
TSR1: MOV R0,#107
DJNZ R0,$
DJNZ R1,TSR1
SETB DQ
NOP
NOP
NOP
MOV R0,#25H
TSR2: JNB DQ,TSR3
DJNZ R0,TSR2
LJMP TSR4 ;延时
TSR3: SETB FLAG1
LJMP TSR5
TSR4: CLR FLAG1
LJMP TSR7
TSR5: MOV R0,#117
TSR6: DJNZ R0,TSR6
TSR7: SETB DQ
RET
GET_TEMPER:
SETB DQ
LCALL INIT_1820
JB FLAG1,TSS2
RET
TSS2: MOV A,#0CCH
LCALL WRITE_1820
MOV A,#44H
LCALL WRITE_1820
LCALL DISPLAY
LCALL INIT_1820
MOV A,#0CCH
LCALL WRITE_1820
MOV A,#0BEH
LCALL WRITE_1820
LCALL READ_18200
RET
WRITE_1820: MOV R2,#8
CLR C
……
DJNZ R0,DPL1
RET
D1MS: MOV R7,#0FFH
DJNZ R7,$
DJNZ R7,$
RET
TAB:
DB 07DH
DB 018H
DB 06EH
DB 03EH
DB 037H
DB 01BH
DB 077H
DB 01CH
DB 07FH
DB 03FH
;
END
6 系统仿真
本设计在Proteus的ISIS 7.1sp2或者更高版本的软件环境下打开电路仿真图,下面6.1。接下来将设计好的程序在Keil C51 μVision3开发集成环境上编译成机器语言,生成.hex文件,进入Proteus的ISIS,将KeilC下编程生成的.hex文件导入到AT89C51中,可在Proteus中单击全速仿真运行按钮,
图6.1显示仿真图
7 使用说明2)将程序的.HEX文件导入AT89C2051芯片中;
(3)按开始进行仿真,此时LCD上将会显示温度传感器当前温度值。
8 设计总结
通过此次课程设计,对硬件电路的工作原理有了进一步的学习,进一步的认识;软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。[1
单片机简易温度检测.doc
下载此电子书资料需要扣除0点,





