logo资料库

微机接口课程设计 数字温度计实验报告.doc

第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
资料共24页,剩余部分请下载后查看
合肥学院 计算机科学与技术系 微机原理与接口技术 课程设计报告 2008~2009 学年第一学期 课 程 微型计算机原理与接口技术 课 程 设 计 名 称 数字式温度计 学 生 姓 名 杨路 学 号 0604032014 专 业 班 级 06 网工(2)班 指 导 教 师 龙夏老师
微机原理课程设计 2009 年 1 月 一、题意分析及解决方案 1.1 题义需求分析 本设计为从温度传感器 DS18B20 通道采样温度模拟信号,转化成数字信号, 并在 LED 液晶显示器上显示出来. 由于 DS18B20 可以直接将模拟量转换为数字量,因此在并送 LED 显示时,须 通过 A/D 转换器先将信号送入 CPU,然后再选用 8255A 作为微处理器的输入输出 接口芯片,最后将 8 位数字信号量显示到 LED 显示器上。 可以从四个方面来分析问题, 1)采样模拟信号,转化成数字信号。 2)接口的连接问题。 3)LED 显示器如何接入电路。 4) 如何进行显示控制。 1.2 解决问题方法及思路 1.2.1 硬件部分 (1) 温度传感器 DS18B20 DS18B20 温度传感器是美国DALLAS 半导体公司最新推出的一种改进型智 能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,可 编程的分辨率为 9~12 位,对应的可分辨温度分别为 0.5℃、0.25℃、0.125℃ 和 0.0625℃,可实现高精度测温。 (2) 输入输出接口芯片 8255A 由于考虑到 8086 接口不足的问题,比如对 LED 数码管进行位选需要 2 位,对 LED 数码管每一位进行段选需要 8 位,所以必须要用 8255 进行 I/O 的扩展,通过 8255A,CPU 可以直接同外设相连接,将数字量从 CPU 输出到 LED 显示器上。 (3) 硬件比较 8255A芯片 8255A芯片是可编程并行接口芯片,不需要附加外部电路便可 和大多数并行传输的外设相连,数据可多为同时传输,使用广 泛方便。 8251A芯片 8251A是可编程的串行接口芯片,数据一位一位地顺序传送, 电路简单,传输距离远。 表 1-1 8255A 芯片与 8251A 芯片比较 11
微机原理课程设计 LED LCD 与LCD相比,LED在亮度,功耗可视角度和刷新速率等方面更具 有优势,其最显著的特点是使用寿命长,光电转换效能高。 LCD占用空间小,功耗低,低辐射,能降低视觉疲劳,但会出现 闪烁现象。 表 1-2 LED和LCD比较 1.2.2 软件部分 该程序主要应分为两大部分, (1)对 DS18B20 进行设置 如何赋初始温度值,如何保存读出的数字量,如何获取当前温度值,如何将温度 值显示出来等问题进行编程. (2)对 8255 的初始化 对方式选择控制字的赋值问题,也就是解决 8255A 的 A 口、B 口分别工作在 方式几,A 口、B 口、C 口高位、C 口低位分别是作为输出口还是输入口的问题。 二、硬件设计 2.1 选择芯片 8255A 2.1.1 8255A 在本设计中的作用 芯片 8255A 在本设计中起输出、输入作用,C 口的高四位输入方式。PC7 作为读取 EOC 信号,低四位作输出方式,PC1、PC0 作七段 LED 显示器的位选码, PA 口用作输出方式,作七段 LED 的段选码,PB 口为输入方式,读取 ADC0809 转 换后的数字量即 8255A 通过 PB 口读入 ADC0809 转换后的数字量由 PC1、PC0 产生 位选,PA 口产生段选后七段 LED 显示出数字量。 2.1.2 8255A 功能分析 8255A是一种通用的可编程的并行I/O接口芯片,可用与连接PCI卡与外设, 实现数据的的输入输出功能,可以对输入/输出的数据进行数据锁存和数据缓冲, 有中断请求信号,可以向CPU发出中断请求,能进行单向和双向通信。 8255A 的数据总线缓冲器是一个三态 8 位双向缓冲器,用作 8255A 同系统数据总线相 连时的缓冲部件,CPU 通过执行输入/输出指令来实现对缓冲器发送或接收数据。8255A 的 控制字或状态字也是通过该缓冲器传送的。PA、PB、PC 三口均工作在方式0状态。 22
微机原理课程设计 图 1-1 8255A 原理图 8255A 的操作功能表 CS RD WR A1 A0 操 作 数 据 传 送 方 式 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 1 读 A 口 读 B 口 读 C 口 写 A 口 写 B 口 写 C 口 A 口数据 → 数据总线 B 口数据 → 数据总线 C 口数据 → 数据总线 数据总线数据 → A 口 数据总线数据 → B 口 数据总线数据 → C 口 写控制口 数据总线数据 → 控制口 表 2-1 8255A 的操作功能表 (1) 方式 0 的工作特点: 这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由 程序选定作为输入或输出。 (2) 方式 0 的功能为: a.两个 8 位通道:通道 A、B。两个四位通道:通道 C 高 4 位和低四位; 33
微机原理课程设计 b.任何一个通道可以作输入/输出; c.输出是锁存的; d.输入是不锁存的; e.在方式 0 时各个通道的输入/输出可有 16 种不同的组合。 2.1.3 8255A 主要技术参数 参数名称 符号 测试条件 输入低电平电压 输入高电平电压 VIL VIH 输入低电平电压(数据总线) VOL 输入低电平电压(外部端口) VOL 输入高电平电压(数据总线) VOH 输入高电平电压(外部端口) VOH 达林顿驱动电流 电源电流 输入负载电流 输出浮动电流 IDAR ICC IIL IOFL IOL=2.5MA IOL=1.7MA IOH= -400UA IOH= -200UA REXT=750 VEXT=1.5 I=VCC~0MA VOUT=VCC~0MA 规范值 最大 最小 -0.5V 0.8V VCC 2.0V 0.45V 0.45V 2.4V 2.4V -0.4MA 1.0MA 120MA +10MA -MA -MA +MA 表 2-2 8255A 主要技术参数 2.2 选择芯片 LED 2.2.1 LED 在本设计中的作用 LED 发光二极管(Light-Emitting Diode),在本设计中采用 7 段数字发 光二级管,做为终端显示。 2.2.2 LED 的功能分析 笔画型 LED 显示器是由 8 个二极管电路 a~dp 按字型‘8’的方式排列, 当不同的二极管被选通后根据发光效果会显示不同的自型。本设计中采用共 阴极连接方式,当某段接入正电压时,对应的发光二极管会发光,当需要显 示字型码“0”时,对应下图中的 a,b,c,d,e,f 发光二极管应发光,输入 位选码应为 00111111,即为:3FH;类似可以显示其他。a~dp 分别与 74LS273 的 1Q~8Q 相连,接收段选码信号(高电平);4 位 LED 显示器的 4 根共阴极 引线与 8255A 的 PC0~PC3 相连,接收位选码信号(低电平)。段选码和位选 码共同作用以显示不同的字型。 44
微机原理课程设计 数字 DP 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 g 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 f 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 e 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0 c 1 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 b 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 a 二进制编码(字形) 1 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 3FH 03H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH 69H 5EH 79H 71H 表 2-3 共阴极七段 LED 显示段码 2.2.3 芯片 LED 的技术参数 Pcw If Vr Ir If BT235-2 BT1441529 BT1341529 70 100 100 25 40 40 5 5 5 ≥1.5 ≤2.5 ≥0.5 ≤2.5 ≥0.5 ≤2.5 ^p 200 565 585 对应型号 散射颜色 SEL-10 红色 绿色 蓝色 表 2-4 LED 的技术参数 消耗功率 PM=150mW 最大工作电流 IFM=100mA 正常工作电流 IF=40mA 正向压降 VF ≤ 1.8V 燃亮电压为 5v 共阴极 LED 的 PM=300mW,IFM=200 mA,IF=60mA,VF ≤ 1.8V,VR≥ 5V,发红光。 2.3 选择芯片 DS18B20 2.3.1 DS18B20 在本设计中的作用 55
微机原理课程设计 DS18B20 在本设计中主要是测量手部的温度并将接收的模拟信号转化为数 字信号输出至 8255 中。 2.3.2 DS18B20 的功能分析 DS18B20 测温原理如图 2-2 所示。图中低温度系数晶振的振荡频率受温度影 响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变 化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度 寄存器被预置在-55℃所对应的一个基数值。计数器 1 对低温度系数晶振产生的 脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1, 计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲 信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加, 此时温度寄存器中的数值即为所测温度。图 3 中的斜率累加器用于补偿和修正测 温过程中的非线性,其输出用于修正计数器 1 的预置值。 图 2-2 DS18B20 测温原理图 1) DS18B20 主要数据部件 (1)光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是 该 DS18B20 的地址序列码。64 位光刻 ROM 的排列是:开始 8 位(28H)是产品类 型标号,接着的 48 位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环 冗余校验码(CRC=X8+X5+X4+1)。光刻 ROM 的作用是使每一个 DS18B20 都各不相 同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。 (2)DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为 例:用 16 位符号扩展的二进制补码读数形式提供,以 0.0625℃/LSB 形式表达, 其中 S 为符号位。如图 2-3: 66
微机原理课程设计 图 2-3 DS18B20 温度值格式 这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中, 二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测 到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的 数值需要取反加 1 再乘于 0.0625 即可得到实际温度。 例如+125℃的数字输出为 07D0H,+25.0625℃的数字输出为 0191H, -25.0625℃的数字输出为 FF6FH,-55℃的数字输出为 FC90H。 图 2-4 DS18B20 温度转换 (3)DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易 失性的可电擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、TL 和结构寄存 器。 (4)配置寄存器 低五位一直都是"1",TM 是测试模式位,用于设置 DS18B20 在工作模式还是 77
分享到:
收藏