单片机课程设计__基于数字温度传感器的数字温度计课程设计报告书(编辑修改稿)内容摘要:

80H)写入全 1,此时P0 口的全部引脚浮空,可作为高阻抗输入。 在 CPU 访问片外存储器时,P0 口分时提供低 8 位地址和 8 位数据的复用总线。 在此期间, P0 口内部上拉电阻有效。 P1 口 (~ , 1~8 脚 ): P1 口是一个带内部上拉电阻的 8 位准双向 I/O 口。 P1 口每位能驱动 4 个 LS 型 TTL 负载。 在 P1 口作为输入口使用时,应先向 P1 口锁存地址 (90H)写入全 1,此时 P1 口引脚由内部上拉电阻拉成高电平。 P2 口 (~ , 21~28 脚 ): P2 口是一个带内部上拉电阻的 8 位 13 准双向 I/O 口。 P 口每位能驱动 4 个 LS 型 TTL 负载。 在访问片外EPROM/RAM 时,它输出高 8 位地址。 P3 口 (~ , 10~17 脚 ): P3 口是一个带内部上拉电阻的 8 位准双向 I/O 口。 P3 口每位能驱动 4个 LS 型 TTL负载。 P3口与其它 I/O 端口有很大的区别,它的每个引脚都有第二功能,如下: : (RXD)串行数据接收。 : (RXD)串行数据发送。 : (INT0)外部中断 0 输入。 : (INT1)外部中断 1 输入。 : (T0)定时 /计数器 0 的外部计数输入。 : (T1)定时 /计数器 1 的外部计数输入。 : (WR)外部数据存储器写选通。 : (RD)外部数据存储器读选通。 80C51单片机的中断系统 80C51 系列单片 机的中断系统有 5 个中断源, 2 个优先级,可以实现二级中断服务嵌套。 由片内特殊功能寄存器中的中断允许寄存器 IE 控制 CPU 是否响应中断请求;由中断优先级寄存器 IP 安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。 80C51单片机的定时 /计数器 在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。 80C51 单片机内集成有两个可编程的定时 /计数器: T0 和 T1,它们既可以工作于定时模式,也可以工作于外部事件计数 模式,此外, T1 还可以作为串行口的波特率发生器。 芯片 DS18B20 的说明 DS18B20 的主要特性 ( 1)适应电压范围更宽,电压范围: ~ ,在寄生电源方式下可由数据线供电 ( 2)独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理与 DS18B20 的双向通讯 ( 3) DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温 ( 4) DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成 14 在形 如一只三极管的集成电路内 ( 5)温范围- 55℃~+ 125℃,在 10~ +85℃时精度为177。 ℃ ( 6)可编程的分辨率为 9~ 12 位,对应的可分辨温度分别为 ℃、 ℃、℃和 ℃,可以实现高精度测温。 ( 7)在 9 位分辨率最多在 把温度转换成数字, 12 位分辨率是最多可在 750ms 内将温度转换成数字,速度更快。 ( 8)温度测试结果直接转换成数字温度信号,以“一线总线”串行传输给 CPU,同事科传送 SRC 检验码,菊友极强的抗干扰校正能力。 ( 9)负压特性:电源极性接反时芯片 不会因发热而烧毁,但不会正常工作。 液晶显示器 1602LCD 的说明 接口信号说明: 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 Data I/0 2 VDD 电源正极 10 D3 Data I/0 3 VL 液晶显示偏压信号 11 D4 Data I/0 4 RS 数据 /命令选择端 12 D5 Data I/0 5 R/W 读 /写选择端 13 D6 Data I/0 6 E 使能信号 14 D7 Data I/0 7 D0 Data I/0 15 BLA 背光级正极 8 D1 Data I/0 16 BLK 背光级负极 控制命令表: 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 15 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 10 写数到 CGRAM 或DDRAM) 1 0 要写的数据内容 11 从 CGRAM 或 DDRAM读数 1 1 读出的数据内容 液晶显示简介 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。 要显示字符时要先输入显示字符地址,也就是告诉模块在哪 里显示字符, 下图 是 1602 的内部显址。 图 4— 1 ① 液晶显示原理 16 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。 液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、 PDA 移动通信工具等众多领域。 ② 液晶显示器的分类 液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。 除了黑白显示外,液晶显示器还有多灰度有彩色显示等。 如果根据驱动方式来分,可以分为静态驱动( Static)、单纯矩阵驱动( Simple Matrix)和主动矩阵驱动( Active Matrix)三种。 ③ 字符的显示 用 LCD 显示一个字符时比较复杂,因为一个字符由 68 或 88 点阵组成,既要找到和显示屏幕上某几个位置对应的显示 RAM 区的 8 字节,还要使每字节的不同位为 “1” ,其它的为 “0” ,为 “1” 的点亮,为 “0” 的不亮。 这样一来就组成某个字符。 但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD 上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立 光标,在此送上该字符对应的代码即可。 17 软件方案设计 程序流程图 图 51 总流程图 开始 DS18B20 初始化 跳过读ROM 温度转换 跳过读ROM 读取寄存器中 RAM 数据 将测得值乘以 将温度值送数码管显示 结束 18 发 DS18B20 复位命 令 发跳过 ROM 命令 发温度转换开始命令 结束 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行 CRC 校验,校验有错时不进行温度数据的改写。 如图 52 示 52 读出温度子程序流程图 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。 如图 53所示: Y 发 DS18B20 复位命令 发跳过 ROM 命令 发读取温度命令 读取操作, CRC 校验 9 字节完。 CRC 校验正。 确。 移入温度暂存器 结束 N N Y 19 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,如图 54 所示。 图 54 计算温度子程序流程图 显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为 0 时将符号显示位移入下一位。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。