基于at89c52单片机的数字温度计设计内容摘要:

24MHz。 (6) 三级程序存储器锁定。 (7) 128 8 位内部 RAM。 (8) 32 可编程 I/O 线。 (9) 两个 16 位定时器 /计数器。 (10) 5 个中断源。 (11) 可编程串行通道。 (12) 低功耗的闲置和掉电模式。 (13) 片内振荡器和时钟电路。 3. 管脚说明 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 位地洛阳理工学院毕业设计(论文) 10 址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位 地址信号和控制信号。 P3 口: P3 口管脚是带 8 个内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口同时为闪烁编程和编程校验接收一些控制信号。 P3 口也可作为 AT89C52 的一些特殊功能口,如下表 31 所示。 表 31 P3 口的一些特殊功能口 口管脚 备选功能 RXD(串行输入口) TXD(串行输出口) /INT0(外部中 断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(片外数据存储器“写选通控制”输出) /RD(片外数据存储器“读选通控制”输出) RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器 频率的1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 洛阳理工学院毕业设计(论文) 11 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指令时 ,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP :当 /EA 保持低电平时,则在此期间外部程序存储器( 0000H0FFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA将内部锁定为 RESET;当 /EA 端 保持 高电平 (接 VCC 端) 时, CPU 则执行内部程序存储器 中的程序。 在 FLASH ROM 编程期间,此引脚也用于施加12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性 : XTAL1 和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2 应不接。 时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 DS18B20 的介绍 Dallas 半导体公司的数字化温度传感器 DS18B20 是世界上第一片支持“一线总线”接口的温度传感器。 现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。 适合于恶劣环境的现场温度测量,新的产品支持 3V~ 的电压范围,使系统设计更灵活、方便。 DS18B20 测量温度范围为 55℃ ~+125℃,在 10~+85℃范围内,精度为 177。 ℃。 DS18B20 可以程序设定 9~12 位的分辨率,及用户设定的报警温度存储在 E2PROM 中,掉电后依然保存。 DS18B20 的引脚排列 如图 32 所示, DS18B20 的外形如一只三极管,引脚名称及作用如下: GND:接地端。 DQ:数据输入 /输出脚,与 TTL 电平兼容。 洛阳理工学院毕业设计(论文) 12 VDD:可接电源,也可接地。 因为每只 DS18B20 都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。 采用数据总线供电方式时VDD 接地。 图 32 DS18B20 引脚排列 DS18B20 内部结构 DS18B20 内部结构主要由四部分组成: 64 位 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL 及配置寄存器。 DS18B20 内部结构图如33 图所示。 64位ROM和单片机接口高速缓存存 储 器 与 控 制 单 元温 度 传 感 器高 温 触 发 器 T H低 温 触 发 器 T L配 置 寄 存 器8 位 C R C 图 33 DS18B20 内部结构图 1. 64 位 ROM。 64 位 ROM 是由厂家使用激光刻录的一个 64 位二进制ROM 代码,是该芯片的标识号,如表 32 所示。 洛阳理工学院毕业设计(论文) 13 表 32 64 位 ROM 标识 8 位循环冗余检验 48 位序列号 8 位分类编号( 10H) MSB LSB MSB LSB MSB LSB 开始 8 位表示产品分类编号,接着 48 位 是该 DS18B20 自身的 序列号 ,最后 8 位为前 56 位的 CRC 循环冗余校验码( CRC=X8+X5+X4+1)。 光刻ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。 2. 温度传感器。 温度传感器是 DS18B20 的核心部分,该功能部件可完成对温度的测量。 通过软件编程可将 55~125℃范围内的温度值按 9 位、10 位、 11 位、 12 位的分辨率进行量化,以上的分辨率都包括一个符号位,因此 对应的温度量化值分别为 ℃、 ℃、 ℃、 ℃,即最高分辨率为 ℃。 芯片出厂时默认为 12 位的转换精度。 当接收到温度转换命令后,开始转换,转换完成后的温度以 16 位带符号扩展的二进制补码形式表示,存储在高速缓存器 RAM 的第 0, 1 字节中,二进制数的前 5位是符号位。 如果测得的温度大于 0,这 5 位为 0,只要将测得的数值乘上 即可得到实际温度;如果温度小于 0,这 5 位为 1,测得的数值需要取反加 1 再乘上 即可得到实际温度。 温度数据格式如表 33 所示。 表 33 温度数 据 格式 LS Byte MS Byte 其中“ S”为符号位,对应的温度计算:当符号位 S= 0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S= 1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。 表34 是一部分温度值对应的二进制温度数据。 23 22 21 20 21 22 23 24 S S S S S 26 25 24 洛阳理工学院毕业设计(论文) 14 表 34 一部分 温度对应值 温度 /℃ 二进制表示 十六进制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H + 0000 0001 1001 0000 0191H + 0000 0000 1010 0001 00A2H + 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H 1111 1111 1111 0000 FFF8H 1111 1111 0101 1110 FF5EH 1111 1110 0110 1111 FE6FH 55 1111 1100 1001 0000 FC90H DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电擦除的 E2PROM,后者存放高温度和低温度触发器 TH、 TL和结构寄存器。 高速暂存 RAM 包含了 8 个连续字节,前 2 个字节 是 测得的温度信息,第 3 和第 4 字节 是 TH 和 TL 的易失性拷贝 ,第 5 个字节是结构 寄存器 的易失性拷贝 , 这三个字节的内容在 每 一 次上电复位时被刷新。 DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。 它的字节定义如表 35所 示。 低 5 位一直为 1, TM 是工作模式位,用于设置 DS18B20 在工作模式还是在测试模式。 表 35 DS18B20 字节定义 DS18B20 出厂时该位被设置为 0,用户不要去改动, R1 和 R0 决定温度转换的精度位数,来设置分辨率,详见表 36( DS18B20 出厂时被设置为 12 位)。 TM R1 R0 1 1 1 1 1 洛阳理工学院毕业设计(论文) 15 表 36 DS18B20 分辨率设置 R1 R0 分辨率 /位 温度最大转向时间 /ms 0 0 9 0 1 10 1 0 11 375 1 1 12 750 由表 36 可见,分辨率越高,所需要的温度数据转换时间越长。 因此,在实际应用中要将分辨率和转换时间权衡考虑。 3. 温度报警触发器 TH 和 TL DS18B20 依靠一个单线端口通讯。 在单线端口条件下,必须先建立ROM 操作协议,才能进行存储器和控制操作。 因此,控制器必须首先提供下面 5 个 ROM 操作命令之一: (1) 读 ROM。 (2) 匹配 ROM。 (3) 搜索 ROM。 (4) 跳过 ROM。 (5) 报警搜索。 成功执行完一条 ROM 操作序列后,即可进行存储器和控制 操作,控制器可以提供 6 条存储器和控制操作指令中的任一条。 一条控制操作命令指示 DS1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。