(完整版)基于51单片机的数字温度计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件课程设计实验报告课题:数字温度计
班级:
作者:
学号:
指导老师:
课设评价:
课设成绩:
目录
一.需求分析 (1)
二.概要设计 (1)
三.硬件电路设计 (3)
四.系统软件设计 (5)
五.软件仿真 (8)
六.实际连接与调试 (9)
七.本次课设的收获与感受 (11)
附录(程序源代码) (12)
一.需求分析
功能要求:
测量环境温度,采用接触式温度传感器测量,用数码管显示温度值。
设计要求:
(一)功能要求
(1) 由4位数码管显示当前温度。
(2) 具备报警,报警门限通过键盘设置。
(3) 精度为0.5℃。
(二)画出参考的电路原理图
(三)画出主程序及子程序流程图、画出MCS51内部RAM分配图,并进行适当地解释。
(四)写出实现的程序及实现过程。并进行适当地解释说明。
二.概要设计
(一)方案选择
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
(二)系统框图
该系统可分为以下七个模块:
(1)控制器:采用单片机STC89C52对采集的温度数据进行处理;
(2)温度采集:采用DS18B20直接向控制器传输12位二进制数据;
(3)温度显示:采用了4个LED共阴极七段数码管显示实际温度值;
(4)门限设置:主要实现模式切换及上下门限温度的调节;
(5)报警装置:采用发光二极管进行报警,低于低门限或高于高门限均使其发光;
(6)复位电路:对整个系统进行复位;
(7)时钟振荡模块:为整个系统提供统一的时钟周期。
(三)重要器件及其相关参数
(1)单片机STC89C52
P0.0~P0.7:通用I/O引脚或数据低8位地址总线复用地
址;
P1.0~P1.7:通用I/O引脚;
P2.0~P2.7:通用I/O引脚或高8位地址总线复用地址;
P3.0~P3.7:通用I/O引脚或第二功能引脚(RxD、TxD、
INT0、INT1、T0、T1、WR、RD);
XTAL1、XTAL2:外接晶振输入端;
RST/Vpd:复位信号输入引脚/备用电源输入引脚;
Vcc:接+5V电源;
Vss:地端。
(2)DS18B20
(a)通过单线总线端口访问 DS1820 的协议如下:
•初始化
• ROM 操作命令
•存储器操作命令
•执行/数据
DS1820 需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1、读0 和读1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。和 DS1820 间的任何通讯都需要以初始化序列开始,初始化序列见图11。一个复位脉冲跟着
一个存在脉冲表明DS1820 已经准备好发送和接收数据(适当的ROM 命令和存储器操作命令)
(b)当总线上只有一个器件时,DS18B20读温度的流程为:
复位发0CCH SKIP ROM命令发44H开始转换命令延时复位发0CCHSKIP ROM命令发0BEH读存储器命令连续读出两个字节数据(即温度)结束。
➢Convert T [44h]
这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS1820 保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS1820 又忙于做时间转换的话,DS1820 将在总线上输出“0”,若温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出这条命令后立即起动强上拉,并保持500ms。
➢Read Scratchpad [BEh]
这个命令读取暂存器的内容。读取将从字节0 开始,一直进行下去,直到第9(字节8,CRC)字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。(c)DS18b20 用12 位存贮温值度最高位为符号位,下图为18b20 的温度存储方式,负温度S=1 正温度S=0
LSB:
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
三.硬件电路设计
本次实验采用了老师提供的单片机系统,所以整体的硬件电路设计需要在已知的硬件条件下进行设计。
(一)下图为已有的单片机系统部分电路图
分析:(1)由上图可知,时钟振荡电路,复位电路均以在原系统中正确连接。
(2)数字温度计所需的显示电路电路中,原系统将段码输出连在P2接口中,但由图
可知,该图中的六个数码管中的小数点均无法点亮,原因在于图中并未对其进行连接,也无引脚供外界连接。而六个数码管的位选端口连在P1接口上。本次课程设计中,我们选择使用P1.0~P1.3上所连接的四个数码管。
(3)通过软件测试验证,原系统中的数码管为共阴极,且原系统中位选信号是通过
一个反向器之后才输入数码管。
(4)原系统中P0端口未使用,所以可以用排线引出,连接我们所需要补充的电路,
包括DS18B20总线输入电路、门限设置电路以及报警电路。
(二) 温度采集电路、门限设置电路及报警电路(其余电路省略)