单片机DS18B20数字温度计设计 - 图文 下载本文

第二章 系统方案设计、论证与选择

2.1方案设计

该方案使用了P89V51单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,通过按键模块对报警上下温度限进行设置,显示电路采用LCD1602模块,使用蜂鸣器和LED灯构成声光报警电路。

智能温度传感器 独立按键模块 单 片 机 LCD显示模块 声光报警模块 图2.2 方案二的温度测量系统方案框

2.2方案论证

采用智能温度传感器DS18B20,它直接输出数字量,精度高,电路简单,只需要

模拟DS18B20的读写时序,根据DS18B20的协议读取转换的温度信息。

此方案硬件电路简单,程序设计复杂一些,但是经过老师的教导和自己的努力,我能够独立编写DS18B20、液晶显示、独立按键的程序,并且我能够通过DXP2004软件画出基本的系统原理图,我也已经掌握了单片机的基本原理和开发工具KEIL的使用。由此可见,该方案完成具有可行性。

第三章 硬件设计

3.1单片机最小系统

3.1.1单片机简介

单片机的原名叫Microcontroller,即微型控制器。顾名思义,单片机有别于通用微型计算机,它是专门为控制和智能仪器设计的一种集成度很高的微型计算机。其控制功能强,有优异的性能/价格比,有很高的可靠性。因而,单片机的应用范围在不断的扩大,它已经成了人类生活中不可缺少的工具。

3.1.2单片机的结构特点

单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。 1、运算器

运算器由运算部件(ALU)、累加器和寄存器等几部分组成。运算器有两个功能:(1) 执行各种算术运算。(2) 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。 2、控制器

控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器

2

等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:(1) 从内存中取出一条指令,并指出下一条指令在内存中的位置。(2) 对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。(3) 指挥并控制CPU、内存和输入输出设备之间数据流动的方向。 3、主要寄存器

(1)累加器A:微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。

(2)数据寄存器DR :数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。

(3)指令寄存器IR和指令译码器ID:指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。

(4)程序计数器PC:用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。

(5)地址寄存器AR :地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。

控制电路设计是系统的控制和数据处理的核心,而作为控制核心的单片机种类很多。根据任务书的要求以及系统实际的需要,本次课程设计采用P89V51作为系统的微控制器芯片。典型特性是它的X2方式选项。利用该特性,设计工程师可使应用程序以传统的80C51时钟频率(每个机器周期包含12个时钟)或X2方式(每个机器周期包含6个时钟)的时钟频率运行,选择X2方式可在相同时钟频率下获得2倍的吞吐量。从该特性获益的另一种方法是将时钟频率减半而保持特性不变,这样可以极大地降低电磁干扰(EMI)。

3.1.3单片机引脚配置

图3.1.1 引脚配置图

3

鉴于P89V51与MCS-51单片机类似,现介绍MCS-51单片机如下文。

在单片机的40条引脚中,有2条用于主电源的引脚,2条外接晶体的引脚,控制或其他电源复用引脚RST/Vpd、ALE、和VPP,32条输入/输出引脚。下面就本系统用到的引脚分别说明这些引脚的名称和功能。 (1)主电源引脚VCC和GND VCC:接+5V电源 GND:接电源地

(2)钟电路引脚XTAL1和XTAL2

XTAL1:接外部晶体的一端。在单片机内部,它是反相放大器的输入端,该放大器构成了片内振荡器。在采用外部时钟电路时,对于HMOS单片机,此引脚必须接地;对CHMOS单片机,此引脚作为驱动端。

XTAL2:接外部晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端,振荡器的频率是晶体振荡频率。若采用外部时钟电路时,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬空。 (3)信号引脚RST/Vpd

RST/Vpd:复位/备用电源输入端。单片机上电后,只要在该引脚上输入24个振荡周期(2个机器周期)宽度以上的高电平就会使单片机复位;若在RST与VCC之间接一个10μF的电容,而在RST与GND之间接一个8.2KΩ的下拉电阻,则可实现单片机上电自动复位。

RST/Vpd具有复用功能,在主电源VCC掉电期间,该引脚可接上+5V备用电源。当VCC下掉到低于规定的电平,而Vpd在其规定的电压范围内时,Vpd就向片内RAM提供备用电源,以保持片内RAM中的信息不丢失,复电后能继续正常运行。

(4)输入/输出(I/O)引脚P0、P1、P2和P3

MCS-51单片机有4个双向并行的8位I/O口P0~P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入时,口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电路。

P0.0--P0.7:P0口是一个8位双向I/O端口。在访问片外存储器时,它分时提供低8位地址和作8位双向数据总线。在EPROM编程时,从P0口输入指令字节;在验证程序时,则输出指令字节(验证时,要外接上拉电阻)。P0口能以吸收电流的方式驱动8个LSTTL负载。

4

图3.1.2 P0口1位结构图

P1.0--P1.7:P1口是8位准双向I/O端口。在EPROM编程和程序验证时,它输入低8位地址。P1口能驱动4个LSTTL负载。

图3.1.3 P1口1位结构图

P2.0--P2.7:P2口是一个8位准双向I/O端口。在CPU访问外部存储器时,它输出高8位地址。在对EPROM编程和程序验证时,它输入高8位地址。P2口可

驱动4个LSTTL负载。

5