空气温湿度检测仪毕业设计_第1页
空气温湿度检测仪毕业设计_第2页
空气温湿度检测仪毕业设计_第3页
空气温湿度检测仪毕业设计_第4页
空气温湿度检测仪毕业设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕毕 毕业设计毕业设计 空气温湿度检测仪空气温湿度检测仪 目目 录录 第一章第一章 引言引言.1 第二章第二章 方案论证方案论证.2 2.1 中央处理单元 cpu 的选择.2 2.1.1 常见几种单片机的比较.2 2.1.2 中央处理单元 at89c51 的确定.3 2.1.3 at89c51 的基本结构和功能简介.3 2.2 传感器的选择.9 2.2.1 温度传感器选择.9 2.2.2 湿度传感器的选择.12 第三章第三章 系统的组成以及辅助电路的设计系统的组成以及辅助电路的设计.16 3.1 采样保持器和 ad 转换电路的设计.16 3.1.1 采样保持器.16 3.1.2 a/d 转换器

2、 adc0809.17 3.2 键盘与显示芯片 hd7279a 介绍.20 3.2.1 hd7279a 芯片简介.20 3.2.2 显示电路.26 3.2.3 串行通讯接口电路.27 第四章第四章 软件设计软件设计.29 4.1 上位机简介以及软件设计.29 4.1.1 visual basic 语言编程简介.29 4.1.2 软件实现.30 4.2 下位机软件设计.34 总结及致谢总结及致谢.35 参考文献参考文献.36 附录附录 1 上位机软件程序清单上位机软件程序清单.37 附录附录 2 下位机软件程序清单下位机软件程序清单.41 第一章第一章 引言引言 人类的生存和社会活动都与温度湿度

3、密切相关。随着现代化的实现,无论是企 业还是事业、无论是医疗卫生还是科学研究都很难找出一个与温度湿度无关的领域 来。所以温度和湿度的测量成为日常生产生活最常见的测量活动,在市场上我们随 处可见各种温湿度测量仪器,本设计就是一种简单适用的空气温度和湿度的检测仪 器,它能精确实时的测量出空气的温度和相对湿度。通过装置上的 led 来实时显示 空气的温度和湿度,其测量精度为:温度0.5湿度5%rh,除了具有记录和打印 的功能外,还能通过上位机能实时显示温度变化的曲线。本设计的产品不但适用于 家庭,也适用于温度范围在55150内的所有场所。如:蔬菜生产的温室、工 厂等。其具有结构简单娇小、设计制造成本

4、低、适用范围广、设计成品便于携带等 优点。 第二章第二章 方案论证方案论证 整个系统采用两级控制结构,由上位机和下位机组成:上位机为综合管理级, 主要实现显示、记录、打印等功能;下位机为直接控制级,主要完成温湿度检测、 实时显示、数据传输等功能。 以 8051 为中央处理单元,配以外围的 ad 转换电路、键盘显示电路和 rs-232 串 口等基本简单电路构成了检测器的核心控制部件,在加上温度传感器和湿度传感器 构成了本测量系统的下位机。 上位机选用普通 pc 机即可,便于实现综合管理、存储数据、打印曲线及事后数 据处理。下位机选用嵌入式系统,结构简单、体积小、成本低、实时性好,便于实 时采集环

5、境温度和湿度。 2.12.1 中央处理单元中央处理单元 cpucpu 的选择的选择 单片机已成为电子系统中进行数据采集、信息处理、通信联络和实施控制的重 要器件。通常利用单片机技术在各种系统、仪器设备或装置中,形成嵌入式智能系 统或子系统。中央处理器的选择直接关系到所做系统的性能,要选择既便宜又实用 的单片机款型。 2.1.1 常见几种单片机的比较 intel 公司早期的产品 8031/8051/8751。 80318031 片内不带程序存储器 rom,使用时用户需外接程序存储器和一片逻辑电路 373,外接的程序存储器多为 eprom 的 2764 系列。用户若想对写入到 eprom 中的程

6、序进行修改,必须先用一种特殊的紫外线灯将其照射擦除,之后再可写入。写入到 外接程序存储器的程序代码没有什么保密性可言。 80518051 片内有 4k 的 rom,无须外接外存储器和 373,更能体现“单片”的简练。 但是你编的程序你无法烧写到其 rom 中,只有将程序交芯片厂代你烧写,并是一次 性的,今后你和芯片厂都不能改写其内容。 87518751 与 8051 基本一样,但 8751 片内有 4k 的 eprom,用户可以将自己编写的程 序写入单片机的 eprom 中进行现场实验与应用,eprom 的改写同样需要用紫外线灯 照射一定时间擦除后再烧写。 由于上述类型的单片机应用的早,影响很

7、大,已成为事实上的工业标准。后来 很多芯片厂商以各种方式与 intel 公司合作,也推出了同类型的单片机,如同一种 单片机的多个版本一样,虽都在不断的改变制造工艺,但内核却一样,也就是说这 类单片机指令系统完全兼容,绝大多数管脚也兼容;在使用上基本可以直接互换。 我们统称这些与 8051 内核相同的单片机为“51 系列单片机” 。 在众多的 51 系列单片机中,要算 atmel 公司的 at89c51at89c51 更实用,因他不但和 8051 指令、管脚完全兼容,而且其片内的 4k 程序存储器是 flashflash 工艺的,这种工 艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 at

8、mel at89cx 做的编 程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也 大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。 重要的一点 at89c51 目前的售价比 8031 还低,市场供应也很充足。 2.1.2 中央处理单元 at89c51 的确定 从多方的因素考虑论证。硬件的核心选用 atmel 公司生产的 at89c51 单片机。它 是一种低功耗、低电压、高性能的 8 位单片机,片内带有一个数 kb 的 flash 可编程、 可擦除、只读存储器;它采用了 cmos 工艺和 atmel 公司的高密度非易失性存储器技 术,而且其输出引脚

9、和指令系统都与 mcs-51 兼容。 at89c51 是一种带 4k 字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能 cmos8 位微处 理器,俗称单片机。该器件采用 atmel 高密度非易失存储器制造技术制造,与工业 标准的 mcs-51 指令集和输出管脚相兼容。由于将多功能 8 位 cpu 和闪烁存储器组合 在单个芯片中,atmel 的 at89c51 是一种高效微控制器,为很多嵌入式控制系统提 供了一种灵活性高且价廉的方案。 2.1.3 at89c51 的基本结构和功能简介 1

10、. 结构框图 图 2.1 89c51 单片机结构框图 特殊功能 寄存器 工作寄存器区 4 组 r0-r7 位寻址区 128 位 数据 缓冲区 片内 ram 外部数据 存储器 与 外设 i/o 端口 2.存储器空间结构 计算机操作的主要对象是数据,cpu 是按地址控制与组织数据流的。因此,地 址空间结构是微机结构的一项重要内容,并直接影响其指令系统。at89c51 的存储 空间(哈佛结构:程序空间与数据空间分别独立) (1)程序存储器(由 pc 提供地址) ffffh 1000h 0fffh 0000h 图 2.2 mcs-51 的程序存储空间 (2)数据存储器 1)内部数据存储器(8 位地址)

11、 2)外部数据存储器与 i/o 端口 ffh 80h 7fh 30h 2fh 20h 1fh 00h 图 2.3 89c51 的数据存储空间 ffffh 0000h (由数据指针 dptr 提供 16 位地址) 外部 60k 内部 4k ea=1 外部 4k ea=0 (3)引脚及其功能 1) 工作电源与地 图 2.4 两种时钟电路, (a)内部时钟方式, (b)外部时钟方式。 vcc(40):电源 +5v0.5v gnd(20):地 2) 时钟(图 2.4) xtal1(19):内部振荡器输入端 xtal2(18):内部振荡器输出端 3) 并行 i/o 口 p0.0 0.0 p0.70.7

12、(3932) 通用 i/o 口 p0 0 / / a0 0-a7 7 / / d0 0-d7 7。 p1.0 1.0 p1.71.7 ( 18 ) 通用 i/o 口 p1 1 p2.0 2.0 p2.72.7 (2128) 通用 i/o 口 p2 2 / / a8 8-a1515 p3.0 3.0 p3.73.7 (10-17) 通用 i/o 口 p3 3 / / 第二功能 p3.0 3.0 (10)收 p3.1 3.1 (11):txd 串行口数据发送 p3.2 3.2 (12):int0 0 非外中断 0 p3.3 3.3 (13):int1 1 非外中断 1 p3.4 3.4 (14):

13、 t0 0 计数/定时器 0 的外部计数脉冲输入 p3.5 3.5 (15): t1 1 计数/定时器 1 的外部计数脉冲输入 p3.6 3.6 (16): wr 非外部数据存储器写控制信号 p3.7 3.7 (17): rd 非外部数据存储器读控制信号 4) 控制信号 ale(30):输出正脉冲,1 有效,外部地址锁存信号。 ea 非(31):输入,0 有效,前 4k 选择外部程序存储器的控制信号。 psen 非(29):输出,0 有效,访问外部程序存储器的选通信号。 wr 非(16):外部数据存储器写控制信号 rd 非(17):外部数据存储器读控制信号 rst(9):输入,高电平持续 24

14、 个时钟周期有效,产生复位操作。 图 2.5 上电与手动复位电路 5) cpu 使用的特殊功能寄存器 累加器(acc) 运算指令的目标寄存器,用于访问外部存储器的唯一寄存器。 b 寄存器(b)专用于乘除法指令,亦可作通用寄存器。 程序状态字(psw) 标志寄存器 d7 d0 cycyacacf0f0rs1rs1rs0rs0ovovp p cy:进位标志;位操作累加器。 ac:半进位标志。 f0 :用户标志,由用户自行设置,在程序运行中标识某种状态。 ov:溢出标志。 p:奇偶标志(标识 acc 的当前奇偶状态) rs1、rs0:当前工作寄存器组编号值,可在程序中设定。 堆栈指针(sp) 据指针

15、(dptr) 16 位寄存器,由两个 8 位寄存器 dph 与 dpl 组成。 主要作用是提供访问外部数据存储器或 i/o 端口的地址。 dph 与 dpl 可作为通用寄存器使用。 程序计数器(pc) 即指令指针。16 位寄存器,为 cpu 提供当前待取的指令地址。 cpu 每读取一个字节的指令内容,pc 即自动加一。 复位状态为 0000h。 不能在程序中直接读或修改 pc 的内容。 6) 特殊功能寄存器 表 2 特殊功能寄存器功能说明 符号名地址 功 能 说 明 p080hp0 口锁存器,可用于数据总线与地址线低八位。 sp81h堆栈指针,系统复位时 sp=07h,监控初始化时 sp=40

16、h。 dpl82h 数据地址指针寄存器 dptr 的低八位。 dph83h 数据地址指针寄存器 dptr 的高八位。 pcon87h电源控制寄存器,可设置节电状态。d7 为波特率因子。 tcon88h 定时器控制寄存器,d4-7 控制定时器,d0-3 与外中断有关。 tmod89h 定时器工作方式控制寄存器 tl08ah t0 计数器低八位。 tl18bh t1 计数器低八位。 th08ch t0 计数器高八位。 th18dh t1 计数器高八位。 p190h p1 口锁存器。 scon98h 串行口控制寄存器。 sbuf99h 串行口数据缓冲寄存器。 p2a0hp2 口锁存器,可用于地址总线

17、高八位。 iea8h中断允许寄存器。 p3b0hp3 口锁存器,各位有第二功能如 txd.rxd.int0.int1等。 ipb8h 中断优先级寄存器。 pswd0h 程序状态字, 含状态标志位及工作寄存器组指针 rsi。 acce0h 累加器。 bf0h 乘除运算寄存器,也可用作八位通用寄存器。 特殊功能寄存器只能直接寻址,寄存器名即代表其地址。 字节地址可被 8 整除的特殊功能寄存器可以位寻址。其 d0 位的位地址与字节地 址相同,后面逐位加一。 3.外部中断源 mcs-51 单片机设有四个双向 i/o 端口(p0,p1,p2,p3),每一条 i/o 线都能独 立地用作输入或输出。p0 口

18、为三态双向口,能带 8 个 lsttl 电路。p1,p2,p3 口为准 双向口,负载能力为 4 个 lsttl 电路。 (1)多个外部中断源系统设计 mcs-51 有两个中断源,但在实际的应用系统中,外部中断请求源往往比较多。 定时器中断作为外部中断使用把 mcs-51 的两个定时器/计数器(t0 和 t1)选择为计 数器方式,每当 t0 或 t1 引脚上发生负跳变时,t0 和 t1 的计数器加 1。利用这个特 性,可以把 t0 和 t1 引脚作为外部中断请求标志。而定时器的益出中断作为外部中 断请求标志。 当接在 t0 引脚上的外部中断请求输入线发生负跳变时,tl0 加 1 益出,tf0 被

19、 置“1”向 cpu 发出中断请求。同时 th0 的内容自动送入 tl0,使 tl0 恢复初始值 0ffh。这样,每当 t0 引脚上有一次负跳变时都置“1”与 tf0,向 cpu 发中断请求, t0 引脚就相当于边沿触发的外部中断请求源输入线。同理,也可以把 t1 引脚作类 似的处理。 图 2.6 五个外部中断源连接 8031 设备0 设备1 设备2 设备3 设备4 int0 int1 p1.0 p1.1 p1.2 p1.3 (2)五个外部中断源连接中断和查询结合的方式。 这种方法是把系统中多个外部中断源按它们的重要程度进行排队,把其中最高级别 的中断源接到 mcs-51 的一个外部中断源输入

20、端,其余的中断源用线或的方法连接到 另一个外部中断输入端,并同时还接到一个 i/o 口。中断请求有硬件电路产生,而 中断源的识别由程序查询来处理,查询顺序由中断源的优先级决定。上图为五个外 部中断源的连接电路,其中设备 14 经 oc 门与 int1 连接,并连接到 p1.0p1.3 均 采用电平触发方式。设备 0 为最高级中断源,单独作为外部中断 0 的输入信号。外 部中断 1 的中断服务程序如下: intr:pushpsw pusha jnbp1.0, dvt1 jnbp1.1,dvt2 jnbp1.2, dvt3 jnbp1.3, dvt4 intr1:pop a poppsw ret1

21、 dvt1: ajmp intr1 dvt2: ajmp intr1 dvt3: ajmp intr1 dvt4: ajmp intr1 2.22.2 传感器的选择传感器的选择 现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和 信息处理(计算机技术)。传感器属于信息技术的前沿尖端产品,尤其是温度传感器 被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。传感 器选择的恰当与否直接关系到整个测量系统的精确度和稳定性。 1 2 3 2.2.1 温度传感器选择 近百年来,温度传感器的发展大致经历了以下三个阶段;(1)传统的分立式温度 传感器(含敏感元件);(2

22、)模拟集成温度传感器控制器;(3)智能温度传感器。根 据系统的设计要求和从经济实用的角度来看,本系统采用了 ad590 作为温度传感器。 ad590 的简单介绍的简单介绍 ad590 是 ad 公司利用 pn 结正向电流与温度的关系制成的电流输出型两端温 度传感器。实际上,中国也开发出了同类型的产品 sg590。这种器件在被测温度一 定时,相当于一个恒流源。该器件具有良好的线性和互换性,测量精度高,并具有 消除电源波动的特性。即使电源在 515v 之间变化,其电流只是在 1a 以下作微 小变化。 1.ad5901.ad590 的功能及特性:的功能及特性: ad590是电流型温度传感器,通过对电

23、流的测量可得到所需要的温度值。根据特 性分挡ad590,的后缀以i,j,k,l,m表示。ad590l, ad590m一般用于精密温度测量电 路,其电路外形如图6 所示,它采用金属壳3脚封装,其中1脚为电源正端v+;2脚为 电流输出端i0;3脚为管壳,一般不用。集成温度传感器的电路符号如下图所示。 v+ 1 2 3 v- 图2.7 ad590的外形电路图和集成温度传感器电路符号 2.ad5902.ad590的主特性参数如下:的主特性参数如下: 工作电压:430v; 工作温度:55150 保存温度:65175; 正向电压:44v; 反向电压:20v; 焊接温度:(10s);300; 灵敏度:1a/

24、k 3.ad5903.ad590的工作原理的工作原理 在被测温度一定时,ad590相当于一个恒流源,把它和530v的直流电源相连, 并在输出端串接一个1k的恒值电阻,那么,此电阻上流过的电流将和被测温度成 正比, 此时电阻两端将会有1mv/k的电压信号。其基本电路如下图2.8所示。 i1 i2 电源 es - ube + 图2.8 感温部分的核心电路 图2.8是利用ube特性的集成pn结传感器的感温部分核心电路。其中t1、t2 起恒流作用,可用于使左右两支路的集电极电流i1和i2相等;t3、t4是感温用的 晶体管,两个管的材质和工艺完全相同,但t3实质上是由n个晶体管并联而成, 因而其结面积是

25、t4的n倍。t3和t4的发射结电压ube3和ube4经反极性串联后加在电 阻r上,所以r上端电压为ube。因此,电流i1为: i1ube/r=(kt/q)(lnn)/r 对于ad590,n=8,这样电路的总电流将与热力学温度t成正比,将此电流引至 负载电阻rl上便可得到与t成正比的输出电压。由于利用了恒流特性,所以输出 信号不受电源电压和导线电阻的影响。图2.8中的电阻r是在硅板上形成的薄膜电 阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到1a/k的i值。 4.4.测温电路的设计测温电路的设计 100mv/ 图 2.9 温度传感器的接口电路 在设计测温电路时,首先应将电流转换成电压。

26、由于 ad590 为电流输出元件, 它的温度每升高 1k,电流就增加 1a。当 ad590 的电流通过一个 10k 的电阻时, 这个电阻上的压降为 10mv/k,即转换成 10mv/k,为了使此电阻精确(0.1%) ,可用 一个 9.6k 的电阻与一个 1k 的电位器串联,然后通过调节电位器来获得精确的 10k。图 2.9 所示是一个电流/电压和绝对/摄氏温标的转换电路,其中运算放大器 a1 被接成电压跟随器形式,以增加信号的输入阻抗。而运放 a2 的作用是把绝对温 标转换成摄氏温标,给 a2 的同相输入端输入一个恒定的电压(如 1.235v) ,然后将 此电压放大到 2.73v。这样,a1

27、与 a2 输出端之间的电压即为转换成的摄氏温标。将 ad590 放入 0的冰水混合溶液中,a1 同相输入端的电压应为 2.73v,同样使 a2 的 输出电压也为 2.73v,因此 a1 与 a2 两输出端之间的电压: 2.732.730v 即对应于 0。 2.2.2 湿度传感器的选择 湿度传感器选用是湿度传感器选用 hm1500,hm1500 是一种专门为那些 oem 要 求可靠性和精度高的测量所设计的,在基于 hs1101 简单电容性湿度传感器的基础上, 测量值直接以线性电压的形式输出,精度达到3%rh。 1.hm15001.hm1500 主要的特点:主要的特点: 体积小、带防护棒状封装。

28、即使浸在水里也不受影响。 可交换性极强。 高度的可靠性和长期的稳定性。 在 3-7 伏的电压范围内可正常工作。,以典型的 1-4v 电压输出表示 1- 100%的湿度。 可在很低的温度下正常工作。 在电压范围内,按比例参数调压。 在长时间处于饱和状态后快速脱湿 反应时间快 对化学品的高抵抗性 2.hm15002.hm1500 工作原理工作原理: 图 2.10 hm1500 工作原理框图 3.3.最大参数(最大参数(ta=25ta=25 除非特别注明)除非特别注明) 4.4.特性参数(特性参数(ta=23,vs=5.0vdc,rl1mta=23,vs=5.0vdc,rl1m 除非特别注明)除非特

29、别注明) vout 晶体管振荡器 传 感 器 l.p.滤波器 gain 3 4 . 2)23(1 (% etarhrh read 5.hm15005.hm1500 的典型测量范围的典型测量范围 hm1500 特别适用于在 1095%rh 精确测量的环境。超过范围(95%包 括饱和)不会影响可靠性。 图 2.11 典型测量范围输出图 6.hm15006.hm1500 模拟电压输出曲线(模拟电压输出曲线(vs=5vvs=5v) 单位:单位:mvmv 如果需要可以用如下的关系式做补偿: 温度效应: 非小线性补偿: 3 3 2 5 3 9 4 . 2)23(1 75.21607. 9335. 1919

30、 . 1 % eta veveve rh outoutout 7.hm15007.hm1500 工作曲线如下:工作曲线如下: 图 2.12 hm1500 工作曲线 第三章第三章 系统的组成以及辅助电路的设计系统的组成以及辅助电路的设计 整个温湿度检测系统结构框图如图 1 所示: 图 3.1 系统结构框图 上位机为普通 pc 机,使用标准 rs-232 串口与下位机通讯,接收下位机发来的 温度数据和湿度数据。 下位机系统主要由单片机 at89c51、温度传感器 ad590、湿度传感器 hm1500、 显示电路 hd7279a 和 led 数码管组成,原理框图如图 12 所示。 图 3.2 下位机

31、原理框图 3.13.1 采样保持器和采样保持器和 adad 转换电路的设计转换电路的设计 3.1.1 采样保持器 由于 adc0809 的分辨率为 8 位,转换时为 100s,可能会由于转换的时期带来 误差。因此常用集成电路芯片 lf398 作为采样保持器。lf398 是一种反馈型采样/保 持放大电路。采用双极型结型场效应管工艺,具有采样速度高,保持电压下降 率低,精度高等特点,lf398 的供电电压可在5v18v 之间选择,8 脚和 7 脚是两 串口 下位机 上位机 上位机 湿度传感器 hm1500 at89c51 温度传感器 ad590 显示电路 hd7279a led 数码管 a/d i

32、/o 串口 i/oa/d 个控制端使用时 7 脚接参考电压,可选择不同的电平,如当 7 脚接地时,8 脚所控 制信号电平大于 1.4v,lf398 处于采样状态,此时输出端跟随输入端变化。当 8 脚 为低电平时,lf398 处于保持状态。 由于 lf398 采用的是反相输入端,因此还需要一个倒相器,选择 lm324(反相 比例放大器) 。lf398 与 lm324。 3.1.2 a/d 转换器 adc0809 a/d转换器(adc)的作用就是把模拟量转换成数字量,以便于计算机进行处理。 随着超大规模集成电路技术的飞速发展,a/d转换器的新设计思想和制造技术层出不 穷。为满足各种不同的检测及控制

33、任务的需要,大量结构不同、性能各异的a/d转换 器芯片应运用而生。adc0809是采用cmos工艺制造的8位8通道逐次逼近式ad转换器。 1.adc08091.adc0809结构及转换原理结构及转换原理 adc0809的结构框图如下图中所示。0809是采用逐次逼近的方法完成a/d转换的。 由单一的5v电源供电;片内带有锁存功能的8路选一的模拟开关,由c、b、a的编 码来决定所选的通道。0809完成一次转换需要100s左右。输出具有ttl三态锁存缓 冲器,连接到mcs-51的数据总线上。通过适当的外接电路, 图3.3 adc0809转换原理图 adc0809可对05v的模拟信号进行转换。其工作过

34、程如下: 首先用指令选择0809的一个模拟输入通道,当执行movxdptr,a时,产生一个 启动信号给start引脚送入脉冲,开始对选中通道转换。当转换结束后发出结束信号, 置eoc脚为高电平,该信号可作为中断申请信号;当读允许信号到,oe端有高电平, 则可以读出转换的数字量。利用movx a,dptr把该通道转换结果读到a累加器中。 2.adc08092.adc0809引脚及功能引脚及功能 adc0809是一种逐次逼近式8路模拟输入、8位数字量输出的a/d转换器。其引脚 图如下图所示 图3.4 adc0809管脚示意图 由引脚图可见,adc0809共有28引脚,采用双列直插式封装。其主要引脚

35、功能 如下: in0in7:是8路模拟信号输入端。 d0d7:8位数字量输出端。 a、b、c与ale控制8路模拟通道的切换,a、b、c分别于三根地址线或数据线相 连,三者编码对应8个通道地址口。c、b、a000111分别对应in0-in7通道地址。 强调说明一点:adc0809虽然有8路模拟通道可以同时输入8路模拟信号,但每个瞬间 只能转换一路,各路之间的切换由软件变换通道地址实现。 oe、start、clk为控制信号端,oe为输出允许端,start为启动信号输入端, clk为时钟信号输入端。 vr()和vr()为参考电压输入端。 3.at89c513.at89c51与与adc0809adc0

36、809的接口的接口 在讨论mcs-51与0809的接口设计之前,先来讨论单片机如何来控制adc的问题。 用单片机控制adc时,多数采用查询和中断控制两种方法。查询法是在单片机把启动 命令送到adc之后,执行别的程序,同时对adc的状态进行查询,以检查adc变换是否 已经结束,如查询到变换已经结束,则读入转换完毕的数据。 中断控制法是在启动信号送到adc之后,单片机执行别的程序。当adc变换结束并向 单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务子程序,读入 转换数据,并进行必要的数据处理,然后返回到源程序。这种方法单片机无须进行 转换时间的管理,cpu效率高,所以特别适用于变换时

37、间较长的adc。 如果对转换速度要求高,采用上述两种adc控制方式往往不能满足要求,可采用 dma接口(例如intel公司的8237dma控制器)。传输一开始,ad转换的数据就可以从 输出的寄存器经过dma中的数据寄存器直接传输到主寄存器,因而不必受到程序的限 制。 (1)软件延时方式 adc0809与89c51单片机的接口如下图中所示。 图 3.5 adc0809与89c51单片机的接口电路 由于adc0809片内无时钟,可利用89c51提供的地址锁存允许信号ale经d触发器 二分频后获得,ale脚的频率时89c51单片机时钟频率的1/6(但要注意的是,每当访 问外部数据存储器时,将少1个a

38、le脉冲)。如果单片机时钟频率采用6mhz,则ale脚 的输出频率为1mhz,再二分频后为500khz,恰好符合adc0809对时钟频率的要求。由 于adc0809具有输出三态锁存器,其8位数据输出引脚可直接与数据总线相连。地址 译码引脚a、b、c分别与地址总线的低三位a0、a1、a2相连,以选通in0-in7中的一 个通路。将2.7(地址总线a15)作为片选信号,在启动a/d转换时,由单片机的写信 号和p2.7控制adc的地址锁存和转换启动,由于ale和start连在一起,因此adc0809 的锁存在锁存通道地址的同时,启动并进行转换。在读取转换结果时,用低电平的 读信号和p2.7脚经一或非

39、门后,产生的正脉冲作为oe信号,用以打开三态输出锁存 器。 由以上分析可知:在软件编写时,应令p2.7a150;a0、a1、a2给出被选择的模 拟通道的地址;执行一条输出指令,启动a/d转换;执行一条输入指令,读取转换结 果。 (2)中断方式 adc0809与89c51的中断方式接口电路只需要将上图中的eoc脚经过一非门连接到 89c51的int1脚即可。采用中断方式可大大节省cpu时间,当转换结束时,eoc发出一 个脉冲向单片机提出中断申请,单片机响应中断请求,由外部中断1的中断服务子程 序读a/d结果,并启动0809的下一个转换,外部中断1采用跳沿触发方式。 3.23.2 键盘与显示芯片键

40、盘与显示芯片 hd7279ahd7279a 介绍介绍 3.2.1 hd7279a 芯片简介 1.1.芯片简介芯片简介 hd7279a硬件电路图hd7279a是一种管理键盘和led显示器的专用智能控制芯片。 它能对8位共阴极led显示器或64个led发光管进行管理和驱动,同时能对多达88的 键盘矩阵的按键情况进行监视,具有自动消除键抖动并识别按键代码的功能,从而 可以提高cpu工作的效率。hd7279a和微处理器之间采用串行接口,其接口电路和外 围电路简单,占用口线少,加之它具有较高的性能价格比,因此,在微型控制器、 智能仪表、控制面板和家用电器等领域中日益获得广泛的应用。 hd7279a是一片

41、具有串行接口的,可同时驱动8位共阴式数码管的智能显示驱动 芯片,该芯片同时还可以连接多达64键的键盘矩阵,单片即可完成led显示、键盘接 口的全部功能。 hd7279a内部含有译码器,可直接接受bcd码或者16进制码,并同时具有2种译码 方式,此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。 hd7279a具有片选信号可方便地实现多于8位的显示或多于64位的键盘接口。 特点特点: 串行接口,无需外围元件可直接驱动led 各位独立控制译码、不译码、消隐以及闪烁等属性 左右移动指令 具有段寻址指令,方便控制独立的led 64键键盘控制器,内含去抖动电路 图3.6 hd7279a管脚示

42、意图 2.2.管脚说明管脚说明 hd7279a的硬件电路如图3.6所示,它共有28个引脚。 rc引脚用于连接hd7279a 的外接振荡元件,其典型值为r=1.5k,c=15pf。reset为复位端。该端由低电平变 成高电平并保持25ms即复位结束。通常,该端接+5v即可。dig0dig7分别为8个led 管的位驱动输出端。sasg分别为led数码管的a段g段的输出端。dp为小数点的驱动 输出端。hd7279a片内具有驱动电路,它可以直接驱动1英吋及以下的led数码管,使 外围电路变得简单可靠。 dig0dig7和sasg同时还分别是64键盘的列线和行线端口, 完成对键盘的监视、译码和键码的识别

43、。在88阵列中每个键的键码是用十六进制 表示的,可用读键盘数据指令读出,其范围是00h3fh。 hd7279与微处理器仅需4条 接口线,其中cs为片选信号(低电平有效) 。当微处理器访问hd7279a(读键号或写 指令)时,应将片选端置为低电平。data为串行数据端,当向hd7279a发送数据时, data为输入端;当hd7279a输出键盘代码时,data为输出端。clk为数据串行传送的 同步时钟输入端,时钟的上升沿表示数据有效。key为按键信号输出端,在无键按下 时为高电平;而有键按下时此引脚变为低电平并且一直保持到键释放为止。 表 1 所列为 hd7279a 的电特性。 参数符号测试条件最

44、小值典型值最大值 电源电压 vcc/v.4.55.05.5 工作电流 icc/ma 不接 led .35 工作电流 icc/ma led 全亮, iseg=10ma .60100 逻辑输入高电 平 vih/v. 逻辑输入低电 vil/v.0.0.8 平 按键响应时间 tkey/ms 含去抖时间 101840 key 引脚输入 电流 iki/ma.10 key 引脚输出 电流 iko/ma.7 3.3. 控制指令控制指令 1)hd7279a 指令系统由 6 条纯指令、7 条带数据指令和 1 条读键盘指令组成。 6 条纯指令为: (1) 复位指令。指令代码为 a4h,其功能为清除所有

45、显示,包括字符消隐属 性和闪烁属性。 (2) 测试指令。指令代码为 bfh,其功能为将所有的 led 点亮并闪烁,可用 于自检。 (3) 左移指令。指令代码为 a1h,其功能为将所有的显示左移 1 位,移位后, 最右位空(无显示),不改变消隐和闪烁属性。 (4) 右移指令。指令代码为 a0h,其功能与左移指令相似,只是方向相反。 (5) 循环左移指令。指令代码为 a3h,其功能为将所有的显示循环左移 1 位。 移位后,最左位内容移至最右位,不改变消隐和闪烁属性。 (6) 循环右移指令。指令代码为 a2h,其功能与循环左移指令相似,只是方 向相反。 2) 带数据指令均由双字节组成,它们是: (1

46、) 按方式 0 译码下载指令 1 0 0 00 a2 a1 a0dp x x x d3 d2 d1 d0 x x:无影响 第 1 字节为指令,其中 a2,a1,a0 代表显示位地址: a2,a1,a0 7 6 5 4 3 2 1 0 显示位 8 7 6 5 4 3 2 1 显示位 8 为最高位,参见图 1。 第 2 字节为显示内容,其中 dp 为小数点控制 位,dp=1,小数点显示;dp=0,小数点熄灭。 d3 d2 d1 d0 为数据,按方式 0 译码 时数据和显示的关系如下: d3 d2 d1 d0 00h 01h 02h 03h 04h 05h 06hh 07h 08h 09h 0ah

47、0bh 0ch 0dh 0eh 0fh 显示内容 0 1 2345 67 8 9 - e h l p 空 (2) 按方式 1 译码下载指令 1 1 0 0 1 a2 a1 a0dp x x x d3 d2 d1 do 该指令和按方式 0 译码下载指令的含义基本相同。按方式 1 译码时数据和显示 的关系如下: d3 d2 d1 d0 00h 01h 02h 03h 04h 05h 06hh 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 显示内容 0 1 23 4 5 67 8 9 -eh l p 空 (3) 不译码下载指令 1 0 0 10 a2 a1 a0dp a b

48、 cd e f g a2 a1 a0 仍为位地址,第 2 字节仍为显示内容,其中 dp 和 ag 分别代表小数 点和 led 显示器的 7 段,相应位为 1 时,该段点亮;为 0 时,该段熄灭。 (4) 闪烁控制指令 1 0 0 01 0 0 0d8 d7 d6 d5 d4 d3 d2 d1 该指令规定了每个数码管的闪烁属性。d1d8 分别对应第 1 到第 8 个数码管, 该位为 1 不闪烁;该位为 0 闪烁。缺省状态为所有数码管均不闪烁。 () 消隐控制指令 1 0 0 1 1 0 0 0d8 d7 d6 d5 d4 d3 d2 d1 该指令规定了每个数码管的消隐属性。d1d8 分别对应第

49、1 到第 8 个数码管, 该位为 1 显示;该位为 0 消隐。应该注意的是至少要有 1 位保持显示状态,如果全 部消隐则该命令无效。 (6) 段点亮指令 1 1 1 00 0 0 0 x x d5 d4 d3 d2 d1 d0 xx:无影响。该指令的作用是点亮某个 led 数码管中的某一段或 64 个 led 发光 管中的某一个。d0d5 的范围是 00h3fh,所对应的段如下: 数据 00h 01h .06h 07h 08h 09h .0eh 0fh . .38h 39h .3eh 3fh 段 g f . a dp g f . a dp . .g f . a dp 数码管 第 1 个 . .

50、第 2 个 . . . .第 8 个 . . (7) 关闭指令 1 1 0 0 0 0 0 0x x d5 d4 d3 d2 d1 d0 xx:无影响。该指令的作用是关闭某个数码管中的某一段,其对应关系同段点亮 指令。 3)读取键盘指令: 0 0 0 1 0 1 0 1d7 d6 d5 d4d3 d2 d1 d0 该指令的作用是读取当前的键盘代码。与其他带数据的指令不同,它的第 2 个 字节不是写入 hd7279a 的数据,而是从 hd7279a 读回的按键代码。如前说述,当有 键按下时其范围是 00h3fh;而无键按下时代码是 ffh。 4.4.时序时序 (1)纯指令时序:微处理器发出 8

51、个 clk 脉冲,向 hd7279a 传送 8 位指令。 data 引脚为高阻状态,如图 3.7 所示。 图 3.7 纯指令时序 (2) 带数据指令时序:微处理器发出 16 个 clk 脉冲,前 8 个向 hd7279a 传送 8 位指令;后 8 个向 hd7279a 传送 8 位数据。data 引脚为高阻状态,如图 3.8 所示。 图 3.8 带数据指令时序 (3)读键盘指令时序:微处理器发出 16 个 clk 脉冲,前 8 个向 hd7279a 传送 8 位指令, data 引脚为高阻状态;后 8 个由 hd7279a 向微处理器返回 8 位按键代码, data 引脚为输出状态。在最后 1

52、 个 clk 脉冲的下降沿 data 引脚恢复高阻状态,如 图 3.9 所示。 图 3.9 读键盘指令时序 5.5.几点说明几点说明 1) 证正确的时序是 hd7279a 正常工作的前提条件。当选定了 hd7279a 的振荡元 件 rc 和晶振之后,应调节延时时间,使时序中的 t1t8 满足表 2 所列要求。由表 2 所列的数值可知,hd7279a 时序规定的时间范围很宽,达 1050 倍,很容易满足, 但为了提高微处理器访问 hd7279a 的速度,在要求系统运行速度较快时,应仔细调 试 hd7279a 的读写程序,使其运行时间接近最短。 2)微处理器通过 key 引脚电平来判断是否有键按下

53、,在使用查询方式管理键盘 时,该引脚接至微处理器的 1 位 i/o 端口;如果使用中断方式,该引脚应接至微处 理器的外部中断输入端。同时应将该中断触发控制位设置成下降沿有效的边沿触发 方式。若置成电平触发方式,则应注意在按键时间较长时可能引起的多次中断问题。 3)hd7279a 没有提供组合键功能。如果某些场合确需双键组合使用,可在微处理 器某位 i/o 引脚接入一键,与 hd7279a 所连键盘共同组成双键功能。 4)图 1 电路中有 3 种电阻:阻值为 200 的电阻是限流电阻,用来限制 led 数 码管的电流。在使用中不应为了过分追求数码管的亮度而任意减小其电阻值,以防 hd7279a

54、芯片过热烧坏。阻值为 100k 和 10k 的电阻分别称为下拉电阻和位选电 阻,如果 hd7279a 仅用于显示器管理,则这两种电阻都可以去掉。 5)hd7279a 的 3,5,26 脚均为空闲引脚,一律悬空。 3.2.2 显示电路 1.显示电路由显示芯片 hd7279a 和 8 个 led 数码管组成,显示电路图如图 3.10 所示。 图 3.10 显示电路原理图 8 个共阴极 led 数码管用于显示温度和湿度,第 8 位为温度符号位,第 7 位为 温度百位数字,第 6 位为温度十位温度小数位数字,第 3 位为湿度标志位,第 2 位 为湿度十位数字。第 1 位湿度个位 3.2.3 串行通讯接

55、口电路 随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。这里所 说的通信是只计算机与外界的信息交换。因此,通信既包括计算机与外部设备之间, 也包括计算机和计算机之间的信息交换。由于串行通信是在一根传输线上一位一位 的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此, 特别适合于远距离传输。对于那些与计算机相距不远的人机交换设备和串行存储 的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普 遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各 cpu 之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。 许多

56、外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接 口电路之间的信息传送方式,实际上,cpu 与接口之间仍按并行方式工作。 1.1.串行通信的概念串行通信的概念 图 3.11 数据传输示意图 所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可 能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占 据一个固定的时间长度。如图 3.11 所示。这种通信方式使用的数据线少,在远距离 通信中可以节约通信成本,当然,其传输速度比并行传输慢。 由于 cpu 与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此, 在串行接口中,必须要有“接收移

57、位寄存器” (串并)和“发送移位寄存器” (并 串) 。典型的串行接口的结构如图 3.12 所示。 在数据输入过程中,数据 1 位 1 位地从外设进入接口的“接收移位寄存器” ,当 “接收移位寄存器”中已接收完 1 个字符的各位后,数据就从“接收移位寄存器” 进入“数据输入寄存器” 。cpu 从“数据输入寄存器”中读取接收到的字符。 (并行 读取,即 d7d0 同时被读至累加器中) 。 “接收移位寄存器”的移位速度由“接收时 钟”确定。 在数据输出过程中,cpu 把要输出的字符(并行地)送入“数据输出寄存器” , “数据输出寄存器”的内容传输到“发送移位寄存器” ,然后由“发送移位寄存器” 移

58、位,把数据 1 位 1 位地送到外设。 “发送移位寄存器”的移位速度由“发送时钟” 确定。 接口中的“控制寄存器”用来容纳 cpu 送给此接口的各种控制信息,这些控制 信息决定接口的工作方式。 “状态寄存器”的各位称为“状态位” ,每一个状态位都可以用来指示数据传输 过程中的状态或某种错误。例如,用状态寄存器的 d5 位为“1”表示“数据输出寄 存 图 3.12 典型的串行接口的结构 器”空,用 d0 位表示“数据输入寄存器满” ,用 d2 位表示“奇偶检验错”等。此设 计就采用了 rs232 通讯接口,电路采用 max3221 芯片,其原理图如图 23 所示。通过 以上的电路 pc 机就可以

59、自由的和单片机进行信息交换了。 图 3.13 rs232 通讯接口 第四章第四章 软件设计软件设计 软件的设计是整个系统的灵魂,也是系统能够实现功能的基础。程序设计的好 坏,直接关系到整个系统的运行,本设计的软件系统分为两个部分:一部分是上位 机的 vb 编程设计;一部分是下位机的 51 系统的汇编语言设计。 4.14.1 上位机简介以及软件设计上位机简介以及软件设计 4.1.1 visual basic 语言编程简介 上位机软件采用 visual basic 编程,visual 意为“可视化的” ,指的是一种开 发图形用户界面(gui)的方法,所以 visual basic 是基于 basi

60、c 的可视化的程序 设计语言。basic 指的是 basic(beginners all-purpose symbolicinstruction code,初学者通用符号指令代码)语言,一种在计算技术发展历史上应用得最为广 泛的语言。visual basic 在原有 basic 语言的基础上进一步发展,包含了数百条 语句、函数及关键词,其中很多和 windows gui 有直接关系。在 visual basic 中, 一方面继承了 basic 所具有的程序设计语言简单易用的特点,另一方面在其编程系 统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把 windows 的编程 复杂性封装起

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论