当前位置:首页 > 具有语音播报功能的数字温度计设计
西安文理学院本科毕业设计(论文)
第3章 系统硬件电路设计
根据图1的系统框图可以知道系统电路的设计分为五大部分,即核心控制CPU、温度采集、语音播报、显示电路、键盘以及定时电路。以下将分别介绍各个模块的工作原理,以及在整个电路中的接口电路。系统电路图详见附录1。
3.1核心控制CPU的介绍 3.1.1 AT89C51的功能描述
AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。
3.1.2 AT89C51管脚功能
图3.1 AT89C51引脚图
第 8 页
西安文理学院本科毕业设计(论文)
VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低
第 9 页
西安文理学院本科毕业设计(论文)
电平要求的宽度。
3.1.3 AT89C51系统资源的分配
当AT89C51芯片接收到来自温度传感器的信号时,单片机根据信号的类型进行处理,根据时钟芯片的信号,将处理的结果送到显示模块、语音播报模块。此单片机在硬件设计方面,其外围电路提供能使之工作的晶振、复位电路,I/O口用于外围设备连接。
表3.1 AT89C51的试验箱接线
AT89C51的端口 P1.0 P1.1 P1.3 P1.4~P1.7 P3.2 P3.3 外围设备 串行时钟SCL 数据线SDA DS18b20通道 语音芯片地址端口 键盘中断 时钟中断 3.2温度传感器模块 3.2.1 DS18B20的功能描述
本模块主要作用是进行温度采集,将采集的数据送入AT89C51里进行分析处理。在本次设计中采用了DS18B20作为数据采集器,它的精度最少可以精确到0.0625,完全可以用来进行环境温度的测量。DS18B20是美国DALLAS 公司生产的单总线数字温度传感器,可把温度信号直接转换成串行数字信号供微处理器处理,而且可以在一条总线上挂接任意多个DS18B20芯片,构成多点温度检测系统无需任何外加硬件。DS18B20 数字温度传感器可提供9~12 位温度读数,读取或写入DS18B20 的信息仅需一根总线,总线本身可以向所有挂接的DS18B20 芯片提供电源,而不需额外的电源。由DS18B20 这一特点,非常适合于多点温度检测系统,硬件结构简单,方便联网,在仓储管理、工农业生产制造、气象观测、科学研究等日常生活中被广泛应用。
3.2.2 DS18B20的特点
数据传输采用单总线结构,无需外围其他元件,能应用在分布式测量系统中。温度输出为9bit-12bit可编程,测温范围为-55℃至125℃,在-10 ℃-85℃时精度为±0.5℃,输出分辨率为12bit时最大的转换时间为750MS,具有可编程的温度报警功能,电源电压范围为3-5.5V,低功耗,无外部供电电源也能可靠工作。
DS18B20的供电方式有两种:一种是寄生电源,另一种是外接电源供电,本设计选用了外接电源供电。
第 10 页
西安文理学院本科毕业设计(论文)
3.2.3 DS18B20的测温原理
DS18B20内有一个能直接转化为数字量的温度传感器,其分辨率9,10,11,12bit 并且可编程,通过设置内部配置寄存器来选择温度的转换精度,出厂时默认设置12bit。温度的转换精度有0.5℃、0.25℃、0.125℃、0.0625℃。温度转换后以16bit 格式存入便笺式RAM,可以用读便笺式RAM命令,通过Wire接口读取温度信息,数据传输时低位在前,高位在后。内部温度数据格式如图3.3。温度/数字对应关系如表3.4所示。
图3.2 内部温度数据格式 表3.2 温度/数字对应关系
温度 二进制数据 十六进制数据 +125℃ 0000 0111 1101 0000 07D0h +85℃ 0000 0101 0101 0000 0550h +25.0625℃ 0000 0001 1001 0001 0191h +10.125℃ 0000 0000 1010 0010 00A2h +0.5℃ 0000 0000 0000 1000 0008h 0℃ 0000 0000 0000 0000 0000h -0.5℃ 1111 1111 1111 1000 FFF8h -10.125℃ 1111 1111 0101 1110 FF5Eh -25.0625℃ 1111 1110 0110 1111 FE6Fh -55℃ 1111 1100 1001 0000 FC90h 单总线上每一个器件的使用都是从初始化开始的,初始化的时序是计算机先发出400-800us的复位脉冲,在15-60us后,一个或多个单总线期间发出60-240us的应答脉冲,其时序波形如图3.4(a)所示。数据交换命令使用具体的读/写时序脉冲读出单总线上所输出的数据,或者向单总线上期间写入数据具体写“1”、“0”和读写信号时序如图3.4(b)(c)(d)所示。只要将复位、读、写的时序了解清楚,使用DS18B20,就很容易实现温度的采集了。DS18B20无论是初始化还是读写操作都有较为严格的时序要求。初始化主机需要将总线拉低至少480us且等待SD18B20发回的存在脉冲。DS18B20将在受到复位脉冲后15-60us后将总线拉低60-240us作为存在脉冲。,股主机需要等待15-60us读取存在脉冲。读写时序分别包裹“写1”“写0”时序和“读1”“读0”时序。所有读写时序必须经过至少60us且在各个读写时序之
第 11 页
共分享92篇相关文档