数字温度计课程设计报告
. 硬件 课程设计实验报告 课题:数字温度计 . . 目目 录录 一.需求分析一.需求分析. 1. 1 二.概要设计二.概要设计. 1. 1 三.硬件电路设计三.硬件电路设计 3 3 四.系统软件设计四.系统软件设计 5 5 五.软件仿真五.软件仿真. 8. 8 六.实际连接与调试六.实际连接与调试 9 9 七.本次课设的收获与感受七.本次课设的收获与感受 . 11. 11 附录(程序源代码)附录(程序源代码). 12. 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:复位信号输入引脚/备用 电源输入引脚; (2)DS18B20 . Vcc: 接+5V 电 源; Vss:地端。 . (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: D7D6D5D4D3 D2 D1 D0 2 MSB: . 3 2221202-12-22-32-4 . D7D6D5D4D3 D2 D1 D0 S 三.硬件电路设计三.硬件电路设计 本次实验采用了老师提供的单片机系统,所以整体的硬件 电路设计需要在已知的硬件条件下进行设计。 (一)下图为已有的单片机系统部分电路图 SSSS272625 . . 分析:(1)由上图可知,时钟振荡电路,复位电路均以在 原系统中正确连接。 (2)数字温度计所需的显示电路电路中,原系统将段 码输出连在 P2 接口中,但由图可知,该图中的六个数码 管中的小数点均无法点亮, 原因在于图中并未对其进行连 接,也无引脚供外界连接。而六个数码管的位选端口连在 P1 接口上。本次课程设计中,我们选择使用 P1.0~P1.3 上所连接的四个数码管。 (3)通过软件测试验证, 原系统中的数码管为共阴极, 且原系统中位选信号是通过一个反向器之后才输入数码 管。 (4)原系统中 P0 端口未使用,所以可以用排线引出, 连接我们所需要补充的电路,包括 DS18B20 总线输入电 路、门限设置电路以及报警电路。 (二) 温度采集电路、门限设置电路及报警电路 (其余电路省 略) . . R5 10k R4 10k R3 10k U1 19 XTAL1P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 18 XTAL2 9 RST 29 30 31 PSEN ALE EA D1 R6 LED 1k R2 U2 28.0 VCC DQ GND 3 2 1 4.7k DS18B20 1 2 3 4 5 6 7 8 P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52 图中: (1)门限中的三个按键,分别为模式切换按