基于51单片机的最小系统的数字体温计设计(编辑修改稿)内容摘要:

特殊功能寄存器的内容。 P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。 当 P3 口写入 “1” 后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部 下拉为低电平, P3口将输出电流( ILL)这是由于上拉的缘故。 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高 电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不 7 变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1时, /EA 将内部锁定为 RESET;当/EA端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 单片机最小系统 单片机最小系统应用是指仅使用单片机内部资源辅以必须的外围电路所构建的简单的应用系统。 它包括两方面的内容:单片机的选择和单片机最小系统的设计。 通过单片机的选择,最大限度满足应用系统对硬件资源的 要求。 最小应用系统设计则是指单片机最基本的、最通常的外围电路设计。 任何一个复杂的应用系统都是以最小应用系统为基础,通过搭接外部功能模块的方法实现的。 单片机最小系统的功能主要如下: •单片机能够运行用户程序 •用户可以复位单片机 •具有相对强大的外部扩展功能 单 片 机接 口时 钟 电 路复 位 电 路 图 单片机最小系统原理框图 Smallest Microcontroller system block diagram 8 复位电路 在单片机系统中,一般需要一 个硬件复位电路,用于用户的手动复位。 常用的复位电路由一个电阻、一个电容和一个按钮组成,其原理图如图所示。 在接通电源后,自动实现自动复位操作。 在接通电源条件下,通过按钮操作是单 片机实现复位。 上电自动复位时通过外部复位电容来实现的,手动复位 通过单片机复位引脚经电阻和电源接通而实现的。 图 复位电路 Reset Circuit 时钟振荡电路 在单片机系统中,一般在单片机引脚 XTAL1 和 XTAL2 之间接一个 晶振 和两个电容,这样就构成了内部振荡方式,由于在单片机内 部有一个 高增益反相放大器,外接一个晶振后,构成了自激振荡器并产生振荡时钟脉冲。 其电路图如图所示。 图 时钟振荡电路 Oscillation circuit 9 电源 模块 本方案采用 USB 口通过电脑直接供电,电路连接简单易实现。 图 电源电路 Power Modules 温度传感器模块 DS18B20 原理 DS18B20 采用 3 脚 TO92 封装或 8 脚 SOIC 封装,管脚排列如图 3 所示。 图中 GND 为地, DQ 为数据输入 /输出端 (即单线总线),该脚为漏极开路输出,常态下呈高电平, Vcc 是外部 +5V 电源端,不用时应接地, NC 为空脚。 图 DS18B20的外部结构 DS18B20 external structure 10 DS18B20 内部主要包括寄生电源、温度传感器、 64 位激光 ROM 单线接口、存放中间数据的高速暂存器(内含便笺式 RAM),用于存储用户设定的温度上下限值的 TH 和 TL 解发器存储与控制逻辑、 8 位循环冗余校验码( CRC)发生器等七部分,内部结构如图。 图 DS18B20内部结构 DS18B20 internal structure 寄生电源由二极管 VD VD2 和寄生电容 C 组成,电源检测电路用于判定供电方式,寄生电源供电时, VDD 端接地,器件从单线总线上获取电源,在 DQ 线呈低电平时,改由 C 上的电压 Vc 继续向器件供电。 该寄生电源有两个优点:第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读 ROM。 若采用外部电源 VDD,则通过 VD2 向器件供电。 光刻 ROM 中的 64位序列号是出厂前被光刻好的,它可以看作是该 DS18B20的地址序列码 , 序列 开 始 8位( 28H)是产品类型标号,接着的 48位是 DS18B20自身的序列号,最后 8位是前面 56 位的循环冗余校验码( CRC=X8+X5+X4+1)。 光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。 DS18B20 测量温度时使用特有的温度测量技术。 其内部的低温度系数振荡器能产生稳定的频率信号 f0,高温度系数振荡器则将被测温度转换成频率信号f。 当计数门打开时, DS18B20 对 f0 计数,计数门开通时间由高温度系数振荡器决定。 芯片内部还有斜率累加器,可对 频率的非线性予以被偿。 测量结果存入 11 温度寄存器中。 一般情况下的温度值应为 9 位(符号点 1 位),但因符号位扩展成高 8 位,故以 16 位编 码形式读出,表。 表 DS1820 温度数字对应关系表 Table DS1820 digital temperature mapping table DS18B20温度传感器的内部存储器包括一个高速暂存 RAM和一个非易失性的可电擦除的 E2RAM, 后者存放高温度和低温度触发器 TH、 TL 和结构寄存器。 暂存存储器包含了 8个连续字 节,前两个字节是测得的温度信息,第一个字节的内容是温度的低 8 位,第二个字节是温度的高 8 位 , 第三个和第四个字节是 TH、TL 的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新 , 第六、七、八个字节用于内部计算 , 第九个字节是冗余检验字节 ,如表 所示。 表 DS18B20暂存器分布 寄存器内容 字节地址 温度最低数字位 0 温度最高数字位 1 高温限制 2 低温限制 3 保留 4 保留 5 计数剩余值 6 12 每度计数值 7 CRC校验 8 该字节各 位的意义 为 TM R1 R0 1 1 1 1 1 , 低五位一直都是 1 , TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式 , 在 DS18B20 出厂时该位被设置为 0,用户不 用 改动 , R1 和 R0 用来设置分辨率 , DS18B20 出厂时被设置为 12 位,分辨率设置如表。 表 分辨率设置表 Table resolution settings table R1 R0 分辨率 温度最大转换时间 0 0 9位 0 1 10位 1 0 11位 375ms 1 1 12位 750ms 根据 DS18B20 的通讯协议,主机控制 DS18B20 完成温度转换必须经过三个步骤:每一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM指令,这样才能对 DS18B20 进行预定的操作。 复位要求主 CPU 将数据线下拉 500 微秒,然后释放, DS18B20 收到信号后等待 16~ 60 微秒左右,后发出 60~ 240微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。 ROM 命令令和暂存器的命令如表。 表 DS18B20暂存器的命令 指令 说明 温 度转换( 44H) 启动在线 DS1820做温度 A/D转换 读数据( BEH) 从高速暂存器读 9bits温度值和 CRC值 写数据( 4EH) 将数据写入高速暂存器的第 2和第 3字节中 复制( 48H) 将高速暂存器中第 2和第 3字节复制到 EERAM 读 EERAM( B8H) 将 EERAM内容写入高速暂存器中第 2和第 3字节 读电源供电方式( B4H) 了解 DS1820的供电方式 13 DS18B20 电路连接 由于 DS18B20 工作在单总线方式,其硬件接口非常简单,仅需利用系统的一条 I/ O 线与 DS18B20 的数据总线相连即可,如图 所示。 图 DS18B20电路 circuit 液晶显示模块 HS1602 采用标准的 16 脚接口,其中 VSS 为地电源, VDD 接 5V 正电源, V0为液晶显示 模块 对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,可以通过一个 10K 的电位器调整对比度。 RS 为寄存器选择,高电平时选择数据寄存器 , 低电平时选择指令寄存器。 RW 为读写信号线,高电平时进行读操作,低电平时进行写操作 , 当 RS 和 RW 共同为低电平时可以写入指令或者显示地址 ,当 RS 为低电平 RW为高电平时可以读忙信号,当 RS为高电平 RW 为低电平时可以写入数据。 E端为使能端,当 E端由高电平跳变成低电平时,液晶模块执行命令。 BLA 和 BLK 为背光电源, BLA 接 5V 正电源, BLK 接 GND。 D0~D7 为 8 位双向数据线。 用 HS1602 液晶显示模块 显示字符或字符串之前必须对其进行初始化,HS1602 液晶显示模块 的初始化流程如下: •初始化过程(复位过程) •延时 15ms •写指令 38H(不检测忙信号) •延时 5ms •写指令 38H(不检测忙信号) •延时 5ms •写。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。