基于ds18b20的智能温度检测系统(编辑修改稿)内容摘要:

A 单片机控制的数码管 LED 显示电路,如下图所示。 下图是 4 位 LED 数码管显示电路,也可以扩展成更多的位或减少到一位数的显示。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据 数码管的驱动方式的不同,可以分为静态式和动态式两类。 ① 静态显示驱动:静态驱动也称直流驱动。 静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二 十进制译码器译码进行驱动。 静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O 端口多,如驱动 5 个数码管静态显示则需要 58 = 40 根 I/O 端口来驱动,要知道一个 89S51 单片机可用的I/O 端口才 32 个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 ② 动态显示驱动:数码管动态显示 接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划 a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。 通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态 驱动。 在电子系统综合设计 9 轮流显示过程中,每位数码管的点亮时间为 1~ 2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。 STC89C51 单片机电路 一、 ISP 与 IAP 编程方式 STC89C 系列单片机芯片内置了 ISP(在系统可编程 )/IAP(在应用可编程 )功能,无需专用编程器即可通过串口 ()用 STC 提供的 软件进行烧录。 新出厂的 STC89C51 系列单片机芯片,已经设置为单片机彻底放电后再复位,即会先进行 ISP 监控。 当单片机检测到 ,就会先将用户程序下载并烧录到用户程序区,再运行用户程序,否则软复位到用户程序区,运行用户程序。 在进行 ISP 烧录时,可以选择下次冷启动时是依旧先进行 ISP 监控,还是需要 和 引脚同时为 0 才进行 ISP 监控,否则跳过 ISP 监控直接运行用户程序 (见图 )。 电子系统综合设计 10 二. 6 时钟,机器周期模式 标准的 8051 每个机器周期为 12 时钟。 增强型的 STC89C 系列单片机在进行 ISP 烧录程序时,可以设置为 6 时钟 /机器周期 (双倍速 )或 12 时钟 /机器周期工作模式 . 6 时钟 /机器周期 (双倍速 )工作模式下,定时器的计数速度会加倍,相应的 12 时钟 /机器周期模式下的串口波特率也会加倍,因此单片机使用的最高的波特率可以提高 一倍。 三.降低簟片机对外部电磁辐射 通过设置 6 时钟 /机器周期. (双倍速 ),可以将外接晶振频率降低一半,能有效降低对外部电磁辐射 (EMI)。 更重要的是, STC89C 系列单片机可以关闭 ALE 输出,最有效地降低 EMI。 通过将 ALEoff 位 ()置 1,可以使 ALE 引脚仅在读取外接存储器时才有变化电平输出,从而降低对外部电磁辐射。 电子系统综合设计 11 四、内部扩展 RAM STC89C 系列单片机中的 51/52/53(RC 系列 )在原有 8052 共 256 字节 RAM 的基础上,又扩展了 256 字节 RAM,共有 512 字节 RAM(000H~ 1FFH)。 54/58/516(RD+系列 )则扩展了 1024 字节 RAM,共有 1280 字节 RAM(000H~ 3FFH)。 通过设置 EXTRAM 位 (见表 1),在使用 MOVX@DPTR, A/MOVXA, @DPTR 指令时,如访问在内部 RAM 范围内将会访问到内部 RAM,超出此范围才会访问外部RAM。 访问内部 RAM 时,不影响 P0 口 /P2 口 / 五.双 DPTR 数据指针 标准的 8051 只有一个 1 6 位的 DPTR 数据指针,这样在进行数据块复制等动作时,必须对源地址指针和目标地址指针进行暂存,编程会非常麻烦。 STC89C 系列单片机内有两个 DPTR 数据指针 DPTR0/DPTR1,可以通过设置 DPS 位 ()方便地选择,DPS 置 0 则选中 DPTRO,置 1 则选中 DPTR1。 通过执行 INCAUXR1 指令,能对 DPS快速切换, 并不影响 AUXR1 的高位。 此用法与 PHILIPS 单片机完全一致。 六.扩晨 P4 口 从引脚图上可以看出, PLCC4 PQFP44 两种封装方式比 PDIP40 多出的 4 个引脚在 STC89C51RC/RD+系列单片机上被做成了 P4 口 (SFR 地址为 0E8H),由 ~ 四条口线组成,使用方式上与原有 I/0 完全一致,可以位操作。 七、内置看门狗电路 电子系统综合设计 12 RC/RD+型号的 STC89C 系列单片机均内置了看门狗电路。 内置看门狗由看门狗定时器控制寄存器 WDT_CONTR(见表 2)控制。 EN_WDT 位 ()为看门狗允许位,置 1 时即启动看门狗。 CLR_WDT位 ()为看门狗清零位,置 1 则看门狗将重新计数,此位由硬件自动清零。 IDLE_WDT 位 ()为看门狗空闲模式位,当置为 1 时,看门狗在 “空闲模式 ”时 继续 计 数, 当 清零 时 , 看门 狗 在 “空 闲模 式 ”时 不计 数。 PS2 ~ PS0 位(WDT_CONTR. 2~ 0)用于设定看门狗溢出时间,看门狗溢出时间 =(NPrescale32768)/晶振频率。 其中 N 为每个机器周期的时钟数,标 准模式为 12,双倍速时为 6。 Prescale为 PS2~ PS0 位所设定的预分频值。 八 .软复位功能 STC89C 系列单片机新增加的 ISP_CONTR 特殊功能寄存器 (SFR 地址为 0E7H),实现了单片机系统软复位 (热启动之一 )功能。 用户只需简单地控制 ISP_CONTR 特殊功能寄存器的其中商位 SWBS/SWRST 就可以系统复位了。 SWBS 位 ()选择从用户应用程序区启动 (0),还是从 ISP 程序区启动 (1)。 要与 SWRST 位配合才可以实现,SWRST 位 ()置 0 则无操作,置 1 则实现系统复位,硬件自动清零。 软复位与硬件复位一样,所有的特殊功能寄存器都会复位到初始值, I/O 口也会初始化。 九.带 A/D 功能的 89LE 系列 STC89LE51/52/54/58/516AD 型号均内带一个 8 位精度的高速 A/D 转换器,扩展RAM 均为 256 字节 (共 512 字节,仅能用 MOVX A, @Ri/MOVX A, @Ri 指令访问 ),不能设置 6 时钟 / 机器周期 ( 双倍速 )模式,其余均与前几部分相同。 另有一款STC89LE516X2,比 STC89LE516AD 增加 6 时钟 /机器周期 (双倍速 )模式。 A/D 转换器为电压输入型,可做按键扫描、电池电压检测、频谱检测等。 STC89LE516AD/X2 系列允许将 ~ 作为 A/D 口使用, P1_ADC_EN 特殊功能寄存器 (SFR 地址为 097H)作为 A/D 转换输入通道允许控制,相应位为 “1”时,对应的P1. x 口被允许作为 A/D 转换使用,内部上拉电阻自动断开。 DS18B20 电路 DS18B20 的读写时序和测温原理与 DS1820 相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。 DS18B20 测温原理如图 3所示。 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号电子系统综合设计 13 送给计数器 1。 高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。 计数器 1 和温度寄存器被预置在- 55℃ 所对应的一个基数值。 计数器1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时, 温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 图 3 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。 图 3: DS18B20 测温原理框图 DS18B20 有 4 个主要的数据部件: ( 1) 光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20的地址序列码。 64 位光刻 ROM 的排列是:开始 8 位( 28H)是产品类型标号,接着的 48 位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码( CRC=X8+X5+X4+1)。 光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。 ( 2) ( 2) DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用16 位符号扩展的二进制补码读数形式提供,以 ℃ /LSB 形式表达,其中S 为符号位。 这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值电子系统综合设计 14 乘于 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数 值需要取反加 1 再乘于 即可得到实际温度。 ( 3) DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、 TL 和结构寄存器。 ( 4)配置寄存器 低五位一直都是 1, TM 是测试模式位,用于设置 DS18B20。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。