模拟数字通用数据采集器设计_第1页
模拟数字通用数据采集器设计_第2页
模拟数字通用数据采集器设计_第3页
模拟数字通用数据采集器设计_第4页
模拟数字通用数据采集器设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、数据采集是从一个或多个信号获取对彖信息的过程。随着微型计算机技术的飞速 发展和普及,数据采集监测已成为口益重要的检测技术,广泛应用于工农业等需要同 时监控温度、湿度和压力等场合。数据采集是工业控制等系统屮的重要环节,通常采 用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集 的性能特点直接影响到整个系统。木系统以at89s52单片机为核心,以逐次逼近式a/d转换器adc0832为主体, 是一款8路数据采集/传输模块,木系统不仅可以采集模拟信号,而且为使传输的距 离增长,提高信号的准确性,本设计采用基于max232的芯片,可以与pc机通信,将 采集数据送入pc机中,从而实

2、现实验数据实时采集、处理、存储与显示。关键词:at89s52单片机;数据采集;a/d转换;串口通信abstractdata acquisition is the process of obtaining object information from one or more signal with the rapid development and popularization of micro-computer technology, data collection has become increasingly important monitoring technology and is

3、widely used in industry and agriculture and other situation in which temperature, humidity or pressure monitoring is needed. data acquisition is an important part of the industrial control system, and is usually achieved by some functionally independent scm system. as an indispensible part of the mo

4、nitoring system, its performance character influences the whole system.the at89s52 microcontroller is the core of the system; and the successive approximation a/d converter is the main part of this 8-channel data acquisition/transmission module. not only can this system collect analogical signals, b

5、ut also increase the transmission distance and enhance the accuracy of the signal by basing on max232 chip to communicate with pc and to collect data into pc, therefore achieve the goal of real-time experimental data acquisition, processing, storage and display.keywords : at89s52 microcontroller; da

6、ta collection; a/d conversion; serial communicatio目 录第一章绪论1第二章方案设计52. 1方案选择52. 1. 1主控芯片设计52. 1.2显示部分方案设计52. 2方案论证52. 3系统工作原理62. 4单片机控制模块设计72. 4. 1主要性能参数72. 4. 2功能特性72.4.3单片机最小系统82. 4.4引脚功能说明82. 4.5 时钟电路102. 4.6复位电路102.5模拟与数字信号采集模块设计102. 5. 1adc0832 简介112. 5.2 a/d转换电路设计122. 5.3多路模拟开关模块设计132.5.4常用的多路开

7、关132. 5.5选择多路开关时要考虑的参数132. 5.6光电耦合实现数字信号釆集132.6显示与声音模块设计152. 6.1 led数码管显示模块152. 6.2数码管的驱动方式152. 6.3本系统数码管显示电路162. 6. 4声音指示电路162.7串口通信模块设计202. 7. 1串口通信介绍202. 7. 2单片机如何与pc机连接182. 7.3电路原理图192.8按键电路设计192.9电源模块设计19第三章系统软件设计243.1 编程软件(keil c) 223.2主程序设计233.3 a/d转换程序243.4中断服务程序27第四章系统仿真与调试284.1 分局部调试264.2整

8、机调试264.3系统仿真26结论30致谢31参考文献32附录a系统源程序33附录b系统原理图39第一章绪论数据采集是对一个或多个信号获取对象信息的过程。数据釆集器是一种具有 实验室或现场进行实时数据采集、自动存储记录、信号预处理、即时显示、即时 状态分析、自动传输等功能的自动化设备。本绪论主要介绍了数据采集系统的最 新发展、系统并行吊行总线接口、系统通信的新技术、国内外常用的数据采集器 及不同釆集器的特点和存在的问题。数据采集屮,关键在于如何把随时连续变化的模拟量转化成数字量,完成这 种转换的电路叫模数转换器(a/d)o数据采集的核心部件就是a/d转换器,由于 各种不同的a/d转换原理构成了各

9、种不同类型的dvmo -般说来,a/d转换的方 式可分为两类:积分式和逐次逼近式。积分式a/d转换器是先用积分器将输入的模拟电压转换成时间或频率,再将 其数字化。根据转化的中间量不同,它乂分为ut (电压时间)式和uf (电压. 频率)式两种。逐次逼近式a/d转换器分为比较式和斜坡电压式,根据不同的工 作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式 和阶梯斜坡式两种。本毕业设计将介绍一种以单片机为核心的数据采集卡设计,它能测量直流电 压、直流电流以及交流电压,并且测量结果能通过数码管显示和将所测的数据传 送给pc机,从而具有一定的智能性。本设计将就这一系统的硬件电路部分

10、和软件 程序部分分别作介绍。在硬件部分,本文就系统的各个组成模块的原理做了详细 的介绍。另外,在每一模块电路中都对元器件的选择做了简单的介绍,其中包括 有关数值的计算和分析。在软件部分,详细阐述了各个模块电路的软件设计方法 和设计中的细节。随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应 用。数据釆集是工、农业控制系统中至关重要的一环,在更药、化工、食品、等 领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等 参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段 内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案, 提

11、高产品的合格率,产生良好的经济效益。随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这 一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可 获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。总之,不 论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。此外,计算机的发展对通信起了巨大的推动作用计算机和通信紧密结合构成 了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发 展产生了深远的影响。数据通信是计算机广泛应用的必然产物。数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动 检测或巡回检测

12、,并且能够对数据实行存储、处理、分析计算以及从检测的数据 屮提取可用的信息,供显示、记录、打印或描绘的系统。数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出 及显示这五个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等 工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库, 并进行管理和调用。数据处理就是从采集到的原始数据中,删除有关干扰噪声, 无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数 据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式,以可输出 的形态在输出设备上输出,例如打印,显示,绘图等。数据输出及显示

13、就是把数 据以适当的形式进行输出和显示。由于rs-232在微机通信接口中广泛采用,技术已相当成熟。在近端与远端通 信过程屮,釆用串行rs-232标准,实现pc机与单片机间的数据传输。本课题研究的基本内容1、总任务:设计一个模拟数字通用数据釆集器。2、设计目标:(1)测量范围:05v的直流电压信号。(2)精度:0.01vo(3)其他功能(如与pc机通信)。3、结合设计任务书拟定的要求,确定总体设计方案,并对方案进行必要的说 明及论证。4、各部分设计(1)系统框图的设计。(2)各功能模块的设计与元件选择及性能 描述,原理论述。(4)单片机软件设计与编程。5、系统安装及调试(按实验室条件完成)按要求

14、进行系统调试和参数测试,达到设计要求。第二章方案设计单片机系统方案采用输入处理电路+adc0832+at89s52+数码管显示实现,被 测信号由adc0832模拟输入端输入,单片机采集转换数据,将转换数据送数码管 和pc机显7k °2.1方案选择2.1.1主控芯片设计方案一:选用专用电压转换芯片inc7107实现电压的测量和现实。缺点是精 度比较低,且内部电压转换和控制部分不可控制,优点是价格低廉。方案二:选用单片机at89s52和a/d转换芯片adc0832实现电压的转换和 控制,用四位数码管显示出最后的转换电压结果。缺点是价格稍贵,优点是转换 精度高,且转换的过程和控制、显示部分

15、可以控制。终上所述:方案二所需元件少、成本低且易于实现,可选此方案。2. 1. 2显示部分方案设计方案一:选用4个单体的共阴数码管,将ah全部连接起来,然后接到单片 机口的i/o上进行控制。缺点是焊接时比较麻烦,容易出错,优点是价格比较便宜。方案二:选用一个四位一体的共阴数码管,外加四个三极管驱动。这个电路 几乎没有缺点,优点是便于控制,价格低廉,焊接简单。终上所述:由于两个方案都可以实现同样的功能,但方案二设计简单、系统 开销小、反应速度较快,因此选择此方案。2.2方案论证经过以上方案设计,决定采用如图2所示方案。图2.1系统框图2.3系统工作原理本课题要求以单片机为控制器,对多通道模拟信号

16、作数据采集并进行8位转 换,采集到的数据以中断方式接入内存加以显示,并送到上位机,进行处理。由于信号比较多,计算机不可能把这些信号同时接收,因此需要由多路开关 进行通道转换,分时地把信号送到采样/保持器(s/h)、a/d转换器,把模拟量转 换成数字量,然后送到计算机。智能化a/d板中,单片机完成数据的采集、滤波 和非线性补偿等,主计算机只将其作为一个i/o 口,每隔一定的时间,读其一次 数据,因而大大减轻了主机的负担,提高了系统的扩展能力。这样的智能化a/d 板自身就是一个小的数据采集系统。模拟量输入通道的主要任务就是把被测参数进行采集,并转换成数字量,以 便使用微型机进行处理、显示或打印。完

17、成这一任务的核心部件是a/d转换器。 在选择系统结构时,必须认真考虑以下问题:参数变化的速率、分辨率、精度和 参数的通道数等,根据系统的不同要求,选择不同的结构形式。单通道的转换比 较简单,主要视其变化速度决定是否需要采样/保持器,并根据所要求的分辨率及 精度选择合适位数的a/d转换。多通道的数据转换系统则根据不同的要求,采用 相应的结构形式。整个系统受at89s52芯片的控制,定时器用来产生定时信号,因为一般模拟 信号的采集都是每隔一段时间进行的,利用at89s52的片内定时/计数器配合,用 相应的软件就可以完成该功能。2.4单片机控制模块设计对于整个数据采集系统而言,起到控制和枢纽作用的单

18、片机模块无疑是其中 最为重要的部分。at89s52是美国atmel公司生产的低电压,高性能cm0s8位单片 机,片内含8k bytes的可反复擦写的只读程序存储器(perom)和256bytes的随 机存取数据存储器(ram),器件采用atmel公司的高密度,非易失存储技术生产, 兼容标准mcs-51指令系统,片内置通用8位中央处理器(cpu)和flash存储单 元,功能强大at89s52是此系统的最佳选择。单片机控制模块的作用是控制各单 元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组 成。2. 4.1主要性能参数与mcs-51产品指令系统完全兼容 4k字节可重擦写fl

19、ash闪速存储器 1000次擦写周期全静态操作:0hz-24mhz三级机密程序存储器 128x8字节内部ram 32个可编程i/o 口线2个16位定时/计数器 5个屮断源可编程串行uart通道低功耗空闲和掉电模式2. 4.2功能特性at89s52提供一下标准功能:8k字节flash闪速存储器,256字节内部ram,32 个i/o 口线,两个16位定时/计数器,一个5向量两级中断机构,一个全双工串行 通信口,片内振荡及时钟电路。同时,at89s52可降至ohz的静态逻辑操作,并 支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,只允许ram, 定时/计数器,串行通信口及屮断系统继续工作。

20、掉电方式保存ram中的内容, 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。243单片机最小系统图2. 2系统单片机图t图2.3系统单片机晶振图2.4系统单片机复位2.4.4引脚功能说明(1) vcc:电源电压(2) gnd:地(3) p0 口:p0 口是一组8位漏极开路型双向i/o 口,即地址/数据总线复用口。作为输岀 口用时,每位能吸收电流的方式驱动8个ttl逻辑门电路,对端口写“1”可使其 成为高阻抗输入端。在访问外部数据存储器或程序存储器时,这组口线分别被地址(低8位)和数 据总线使用,在访问期间激活内部上拉电阻。在flash编程时,p0 口接受指令字节,而在程序校验时,输

21、出指令字节,校 验吋,要求外接上拉电阻。(4)p1 口:p1是一个带内部上拉电阻的8位双向i/o 口,p1的输出缓冲级可驱动(吸收 或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉 到高电平,此时可作输入口,做输入口使用时,因为内部存在上拉电阻,某个引 脚被外部信号拉低时会输出一个电流。flash编程和程序校验期间,p1接受低8 位地址(5)p2 口:p2是一个带有内部上拉电阻的8位双向i/o 口,p2的输岀缓冲级可驱动(吸 收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口 拉到高电平,此时可作输入口,做输入口使用时,因为内部存在上拉电阻

22、,某个 引脚被外部信号拉低吋会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行movxdptr 指令)时,p2 口送出高8位地址数据。在访问8位地址的外部数据存储器(如执 行movxri指令)时,p2 口线上的内容(也即特殊功能寄存器(sfr)区中r2寄 存器的内容),在整个访问期间不改变。flash编程时,p2亦接受高位地址和其他 控制信号。(6)p3 口:p3是一个带有内部上拉电阻的8位双向1/0 口,p3的输岀缓冲级可驱动(吸 收或输出电流)4个ttl逻辑门电路。对p3 口写“1”,它们被内部的上拉电阻拉 高,此时可作输入口,做输入口使用时,被外部拉低的p3 口将

23、用上拉电阻输出电 流。p3 口除了作为一般的i/o 口线外,更重要的用途是它的第二功能,如下表2. 1 所示:表2.1 i/o第二功能表端口引脚第二功能p3. 0rxd (串行输入口)p3. 1txd (串行输出口)p3. 2into(外中断0)p3. 3int1(外中断1)p3. 4t0 (定时/计数器0)p3. 5t1 (定时/计数器1)p3. 6wr (外部数据存储器写选通)p3. 7rd (外部数据存储器读选通)p3 口还接受一些用于法拉盛闪速存储器编程和程序校验的控制信号(7)rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片 机复位。(8)ale/pro

24、g:当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输岀脉冲用丁锁 存地址的低8位字节。即使不访问外部存储器,ale仍以时钟振荡频率的1/6输岀 拱顶的正脉冲信号,因此它可对外输出时钟或用于定时。要注意的是:每当访问 外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(prog)如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的do位置位, 可禁止ale操作。禁止后,只有一条movx和movc指令可激活ale。此外,该引脚 会被微弱拉高,单片机执行外部程序时,应设置ale无效。(9)ea/vpp:外部访问允许。欲使cpu仅访问外部程序

25、存储器(地址为0oooh-ffffh)0 ea 端必须保持低电平(接地)。需注意的是:如果加密位ib1被编程,复位时内部会 锁存e端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。flash存储器编程时,该引脚要加上+12v的编程允许电源vpp,当然这必须是 该器件是使用12v编程电压vpp(10)xtal1:振荡器反相放人器的及内部吋钟发生器的输入端。(11)xtal2:振荡器反相放大器的输出端。空闲节电模式:at89s5有两种可用软件编程的省电模式,它们是空闲模式和 掉电工作模式,这两种方式是通过控制专用寄存器pcon (即电源控制寄存器)中 的pd (pcon.

26、 1)和idl(pon.o)位来实现的。pd是掉电模式,当pd二1时,激活掉 电工作模式,单片机进入掉电工作状态。idl是空闲等待方式,当idl=1,激活空 闲工作模式,单片机进入睡眠状态。如需同时进入两种工作模式,即pd和idl同 吋为1,则先激活掉电模式。在空闲工作模式状态,cpu保持睡眠状态而所有片内的外设仍保持激活状态, 这种方式由软件产生。此吋,片内ram和所有特殊功能寄存器的内容保持不变。 空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活, idl (pcon. 0)被硬件清除,即刻终止空闲工作模式。程序会首先响应中断

27、,进入 中断服务程序,执行中断服务程序并紧随ret1 (中断返回)指令后,下一条要执 行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位将空闲工作模式终止。需要注意的是,当由硬件复位来 终止空闲工作模式时,cpu通常是从激活空闲模式那条指令的下一条指令开始继续 执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时 钟周期)有效,在这种情况下,内部禁止cpu访问片内部ram,而允许访问其他端 口。为了避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不 应是一条对端口或外部存储器的写入指令。掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式

28、的指令是最后 一条被执行的指令,片内ram和特殊功能寄存器的内容在终止掉电模式前被冻结。 退出掉电模式的唯一方法是硬件复位。复位后将重新定义全部特殊功能寄存器但 不改变ram中的内容,在vcc恢复到止常工作电平前,复位应无效,且必须保持 一定时间以使振荡器重启并稳定工作。空闲和掉电模式外部引脚状态如下表2.2 所示:表2.2空闲和掉电期间外部引脚状态程序存储器alep0p1p2p3空闲模式内部11数据数据数据数据空闲模式外部11浮空数据地址数据掉电模式内部00数据数据数据数据掉电模式外部00浮空数据数据数据程序存储器的加密:at89s52可使用对芯片上的3个加密位lb1,lb2, lb3进行编

29、程(p)或不编程(u) 来得到如下表2. 3所示的功能:表23加密位保护功能表程序加密位lb1lb2lb3保护类型1uuu没有程序保护功能禁止从外部程序存储器中执行movc指令2puu读取内部程序存储器的内容3ppu除上表功能外,还禁止程序校验4ppp除以上功能外,同时禁止外部执行当加密位lb1被编程时,在复位期间,ea端的逻辑电平被采样并锁存,如果 单片机上电后一直没有复位,则锁存器的初始值是一个随机数,且这个随机数会 一直保存到真正复位为止。为使单片机能正常工作,被锁存的ea电平值必须与该 引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。芯片擦除:利用控制信号的正确组合并保

30、持ale/prog引脚10ms的低电平脉冲 快读即可将per0m阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操 作中将任何非空单元写入“1”,这个步骤在编程之前进行读片内签名字节:at89s52单片机内有三个签名字节,地址为030h, 031h和 032h。用于声明该器件的厂商,型号和编程电压。读签名字节的过程和单元030h, 031h及032h的正常校验相仿,只需将p3. 6和p3. 7保持低电平。2. 4.5时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的xtal1和xyal2 两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器g和 c?对振荡频率有微调

31、作用,通常取(30±10)pf石英晶体选择6mhz或12mhz都可 以。时钟电路如图2.3所示。2. 4.6复位电路单片机的rst管脚为主机提供了一个外部复位信号输入口。复位信号是高电 平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式可由手 动复位方式完成。电阻、电容器的参考值r =1okq> c严10uf、q=0.01ufo复位 电路如图2.4所示。2.5模拟与数字信号采集模块设计模拟信号采集主要采用逐次逼近型a/d转换器,它属于直接型a/d转换器, 它能把输入的模拟电压肓接转换为输出的数字代码,而不需要经过中间变量。主要由比较器、环形分配器、控制门、寄存器与

32、d/a转换器组成。在数字信号方面 我们采用的是光电耦合的方式使采集的信号与我们的系统互不影响。2.5.1 adc0832 简介1. adc0832引脚功能adc0832芯片有8条引脚,采用双列直插式封装,如图2.5所示。下面说 明各引脚功能。cs片选使能,低电平芯片使能;cho模拟输入通道0,或作为in+/使用;ch1模拟输入通道1,或作为in+/使用;gnd芯片参考0电位(地);di数据信号输入,选择通道控制;表2.4 adc0832高低位配置表输入形式配置位选择通道号ch0ch1ch0ch1差分ll+lh+单端hl+do数据信号输出,转换数据输出;clk芯片时钟输入;vcc/ref电源输入

33、及参考电压输入(复用)。“+”表示输入通道的端点为正极;表示输入通道的端点为负极;h或l表高、低电平。输入配置位时,高位(cho)在前,地位(ch1)在后。adc0832为8位分辨率a/d转换芯片,其最高分辨可达256级,可以适应 一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电 压输入在05v之间。芯片转换时间仅为32 us,据有双数据输出可作为数据校 验,以减少数据课差,转换速度快且稳定性能强。独立的芯片使能输入,使多器 件挂接和处理器控制变的更加方便。通过di数据输入端,可以轻易的实现通道 功能的选择。2. 单片机对adc0832的控制原理:正常情况下adc0832

34、与单片机的接口应为4条数据线,分别是cs、clk、 do、de但由于do端与di端在通信吋并未同吋有效并且它们与单片机的接口 是双向的,所以电路设计时可以将do和di并联在一根数据线上使用。当 adc0832未工作时其cs输入端应为高电平,此时芯片禁用,clk和do/di的 电平可任意。当要进行a/d转换时,须先将cs使能端置于低电平并且保持低电 平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 clk输入时钟脉冲,do/di端则使用di端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前di端必须是高电平,表示启始信号。在第2、3个脉冲下 沉之前di端应输入2位数

35、据用于选择通道功能3. adc0832主要特性:8位分辨率;双通道a/d转换;输入输出电平与ttl/cmos相兼容;5v电源供电时输入电压在05v之间;工作频率为250kh乙 转换时间为32 ps;一般功耗仅为15mw;8p、14pdip (双列直插)、picc多种封装;商用级芯片温宽为0° c to +70° c,工业级芯片温宽为-40° cto +85° c;2. 5.2 a/d转换电路设计集成模数转换芯片adc0832实现的a/d转换电路如图2.6所示,被测信号由 adc0832模拟输入端输入,完成a/d转换后送入单片机,经相应处理后送出显示。图2

36、6 adc0832与单片机的连接2.5.3多路模拟开关模块设计多路模拟开关的作用主要是用于信号切换,如在某一时刻接通某一路,让该 路信号输入而让其他路断开,从而达到分时进行多通道检测的目的。理想的多路 开关其开路电阻无穷大,而接通时的导通电阻为零。此外,述需耍有切换速度快、 噪声小、寿命长、工作可靠的特点。2. 5.4常用的多路开关(1)机械触点式多路开关:这类开关主要有干簧继电器、水银继电器和机械 振子式继电器等。其特点是:断开电阻大,导通电阻小,寿命长,输入电压,电 流容量大,动态范围宽。主要缺点是:体积大,切换频率低,在通断时存在抖动 现象。因此一般用于低速、高精度检测系统中。(2)模拟

37、集成多路开关:模拟集成开关是指在一个单片上包含多路开关,其 中釆用cmos工艺的模拟开关最为广泛。其特点是切换速度快,无抖动,但其导通 电阻较大,输入电压、电流容量较小,动态范围有限,常用于高速且系统体积小 的场合。2. 5.5选择多路开关时要考虑的参数(1)泄露电流:如果信号源内阻很大,传输的是电流量,此吋就更多考虑多 路开关的泄露电流,一般希望泄露电流越小越好。(2)切换速度:对于需要传输快速信号的场合,就要求多路开关的切换速度 高。同时要考虑其后级采样保持电路和a/d的速度,开关切换速度只需大于它们 的速度即可。(3)开关电阻:断开电阻尽可能大,导通电阻应远小于负载电阻。否则会使 信号衰

38、减。(4)在进行精密数据采集和测量时,需考虑模拟开关的传输精度问题,尤其 需注意模拟开关漂移特性,因为如果性能稳定,即使开关导通电阻较大,也可以 采取补偿措施来消除影响。但如果阻值和漏电流等漂移很大,将会大大影响测量 精度。由于模拟开关在接通吋有一定的导通屯阻,在某些情况下,可能会对信号的 传递精度带来较大的影响。作为一种补救,一般应尽可能使负载阻抗大一些,必 要时可在负载前加缓冲器。另外,为了防止两个通道在切换瞬间同时导通情况(多 选开关),往往在某一通道断开到后一通道闭合之间加一延时。当然,这会影响到 模拟开关的切换速度。多路模拟开关地典型应用是与采样保持器和a/d转换器配 合,构成多路数

39、据采集通道。在此系统设计中我们用到的多路模拟开关是cd405k如图2. 7所示,cd4051由逻辑转换电路、地址译码电路和cmos开关等三部分 组成,其中s引脚为选通端,只有当s为低电平时,才能选中某一通道,时开关 接通。a、b、c是开关通道输入端,当a、b、c输入000111时,分别对应07 通道上的开关处于闭合状态。通常,s和a2a0信号由接在cpu数据总线上的一 个锁存器提供,这样就可以用输出指令实现通道选择,a、b、c引脚均要求输入 ttl电平信号,而各个cmos开关则要求用cmos电平控制,逻辑电平控制,逻辑电 平转换电路完成ttl电平到cmos电平的转换,8个i/o引脚1/001/

40、07可以作为 输入端,这时0/1引脚便作为输出端,开关实现8到1的选择功能。由于coms开 关可以双向工作,即信号也允许从0/1引脚输入,根据需要,从8个1/0引脚从 的某一个输出,实现18的分配功能。该片子有3个电源引脚,其中,vss通 常与系统模拟地相连,vdd接止电压,vee接负电压或地。图2. 7通道选择电路2. 5.6光电耦合实现数字信号采集图2.8为数字信号采集模块屯路jp5为数字信号输入接口数字脉冲信号通过 tlp521产生光电脉冲同吋在输出端产生光电的电流信号然后提供给单片机。单片 机对信号作下一步处理。图2. 8为数字信号采集模块2.6显示与声音模块设计2. 6.1 led数

41、码管显示模块led数码管被广泛用作数字仪器仪表、数控装置、计算机的数显器件,系统中 采用4位一体数码管作为显示器件输出信息。led数码管的主要特点如下:(1) 能在低电压、小电流条件下驱动发光,能与cmos、itl电路兼容。(2) 发光响应时间极短,高频特性好,单色性好,亮度高。(3) 体积小,重量轻,抗冲击性能好。(4) 寿命长,使用寿命在10万小时以上,甚至可达100万小时,成本低。2. 6.2数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示岀 我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两 类。(1) 静态显示驱动:静态驱动也称直流

42、驱动。静态驱动是指每个数码管的每一 个段码都由一个单片机的i/o端口进行驱动,或者使用如bcd码二-十进制译码器 译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用i/o端口 多,如驱动5个数码管静态显示则需要5x8=40根i/o端口来驱动(一个89s51 单片机可用的i/o端口才32个),实际应用吋必须增加译码驱动器进行驱动,增 加了硬件电路的复杂性。(2) 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示 方式之一,动态驱动是将所有数码管的8个显示笔划,za, b, c, d, e, f, g, dp/z的同名 端连在一起,另外为每个数码管的公共极com增加位选

43、通控制电路,位选通由各 自独立的i/o线控制,当单片机输岀字形码时,所有数码管都接收到相同的字形 码,但究竟是那个数码管会显示出字形,取决于单片机对位选通com端电路的控 制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没 有选通的数码管就不会亮。通过分时轮流控制各个数码管的的com端,就使各个 数码管轮流受控显示,这就是动态驱动。在轮流显示过程屮,每位数码管的点亮 吋间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各 位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的 显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节

44、省大量 的i/o端口,而且功耗更低。2. 6.3本系统数码管显示电路本设计led显示选择的是动态显示在四位一体共阳极数码管用9012三极管驱 动。段选直接接单片机位选连接三极管集电极由三极管提供驱动,点亮数码管。 这种设计方式数码管属于扫描点亮的形式。它的程序简单且在设计过程屮又可以 节省元器件,这样既节省了开发成本又有一个比较好的效果。其电路原理图见图 2. 9所示。1110000462图2. 9数码管显示电路2.6.4声音指示电路在本系统中我们加入蜂鸣器的主要作用是过压报警或者是欠压提示,在我们 的进行数据采集时当采集信号高于我们的量程是我们的蜂鸣器长鸣,但采集的数 据信号低于我们采集的最

45、小范围是我们的蜂鸣器将发出嘀、嘀、嘀响声。图2.10蜂鸣器电路图中d4作用是防止电路中产生反向电流损坏电路。2.7串口通信模块设计2. 7.1串口通信介绍rs-232-c接口也称标准吊口,是日前最常用的一种$行通讯接口。它是在1970 年由美国电子工业协会(eia)联合贝尔系统、调制解调器厂家及计算机终端生产 厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(dte)和数据 通讯设备(dce) z间串行二进制数据交换接口技术标准。传统的rs-232-c接口 标准有22根线,采用标准25芯d型插头座。后来的pc上使用简化了的9芯d型 插座。现在应用中25芯插头座已很少采用。现在的电脑一

46、般有两个串行口: com1 和com2,你到计算机后面能看到9针d形接口就是了。现在有很多手机数据线或 者物流接收器都采用com 口与计算机相连。串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到电脑 端,而且也能实现电脑对单片机的控制,比如你可以把写入单片机的数据码显示 在电脑上,如可以使用一个按键,当按下它时使某一个字母如:aa,通过单片机 的串口将它发送到电脑上显示,起到仿真器的某些功效。51单片机有一个全双工 的吊行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯 时要满足一定的条件,比如电脑的串口是rs232电平的,而单片机的串口是ttl 电平的,两者之间

47、必须有一个电平转换电路,我们采用了专用芯片max232进行转 换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。 我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线: 第5脚的gnd、第2脚的rxd、第3脚的txd。这是最简单的连接方法,但是对我 们来说已经足够使用了,电路如图2.11所示,max232的第11脚和单片机的p31 脚连接,第12脚和单片机的p30脚连接,第15脚和单片机的20脚连接。2. 7.2单片机如何与pc机连接随着计算机技术的快速发展和广泛应用,上位机和下位机的主从工作方式更 加为数据采集系统所采用,由于微机的分析处理能力较强,处理速

48、度更快,而单 片机则使用灵活方便,所以一般主机采用微机,从机采用单片机来构成主从多机 工作模式。上位机(386以上pc机)的串行口采用的是标准的rs-232c接口,由于8098单 片机的串行口电平是ttl电平,但是ttl电平特性与rs232的电气特性不兀配, 因此为了使单片机的串口能与rs-232c接口通信,必须将串行口的输入/输出电平 进行转换。采用目前最常用的芯片max232来实现rs-232c与ttl的电平转换。图2. 11为连接示意图。图2. 11单片机与pc机连接图单片机cpu和串行口之间通过sbuf_tx发送寄存器和sbuf_rx接收寄存器进 行数据传输,cpu将欲发送的数据写入s

49、buftx;从sbufrx中读取串行口接收到的 数据。一旦一帧信息中最后一个数据位写入缓冲器或从中读出,即产牛相应的发 送和接收中断。2.7.3电路原理图图2.12串口通信电路图51单片机有一个全双工的串行口,所以单片机和pc之间可以方便地进行串口 通讯。进行串行通信时要满足一定的条件,如pc的串口是rs232电平的,而单片 机的串口是ttl电平的,两者z间必须有一个电平转换电路,这里用专用芯片max232进行转换,用专用芯片更简单可靠。2.8按键电路设计在本系统中,采用独立式键盘。四个按键一的端连在一起直接接地另一段分 别和单片机的p 口相连接。加上上拉电阻和loonf的电容增加了按键的抗干

50、扰性 能。本键盘完成的功能为输入控制系统的设定值,以便切换模拟/数字模式和选择 通道及选择是否连接pc机。本系统中编写的键盘处理子程序,主要注重3个问题。a如何减少开关的使用次数,以提高开关的使用寿命。b如何更快捷,更方便地给出设定值。c如何更有利于总程序的整体调度。图2. 13按键电路图为此,采用4个键来搭建键盘屯路,如图2. 13所示。第一个按键用了判断是 否选择连机和在选择过程中判断是否联机成功,此吋若联机成功则led小数点被 点亮,其它三个按键无效。而联机失败则数码管显示no,点亮5秒后恢复原始状 态。按下第二个键则选择第几个模拟通道或者第几个数字通道进入选择状态,第 三个和第四个键为

51、配合选择通道。再次按下第二个按键,此时这个通道就被选择 中了。2.9电源模块设计整个电源电路由4个部分组成:电路图如图2. 14所示1.变压电路,本设计中采用的是220v交流到12v交流的变压器模块。它将交 流电网220v的电压变为所需要的电压值。2.整流电路,该电路将交流电压变成脉动的直流电压。本设计采用的整流电 路是整流桥。3滤波电路,由于脉动的直流电压还含有较大的纹波,必须通过滤波电路加 以滤除,从而得到平滑的直流电压。本设计屮采用的是电容滤波电路,电容分别 使用了 1000uf和104的电容组合,分别滤除高频和低频部分。4. 稳压电路,由于滤波后的屯压还随屯网电压波动、负载和温度的变化

52、而变 化。因而在整流、滤波电路之后,还需接稳压电路。稳压电路的作用是当电网电 压波动、负载和温度变化时,维持输出肓流电压稳定。木设计采用的是三端稳压 集成芯片7805o图214电源电路第三章系统软件设计3. 1编程软件(keil c)keil c介绍:keil c51是美国keil software公司出品的51系列兼容单 片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、 可维护性上有明显的优势,因而易学易用,单片机开发中除必要的硬件外,同 样离不开软件,我们写的汇编语言源程序要变为cpu可以执行的机器码有两种 方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编

53、的方法 to机器汇编是通过汇编软件将源程序变为机器码,用于mcs-51单片机的汇 编软件有早期的a51,随着单片机开发技术的不断发展,从普遍使用汇编语言 到逐渐使用高级语言开发,单片机的开发软件也在不断发展,keil软件是目 前最流行开发mcs-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布 全面支持kc订即可看出。keil提供了包括c编译器、宏汇编、连接器、库管 理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环 境(uvision)将这些部份组合在一起。运行keil软件需要pentium或以上的 cpu, 16mb 或更多 ram、20m 以上空闲的硬盘空间、wtn

54、98、nt、wtn2000、wtnxp 等操作系统。keil c51软件提供丰富的库函数和功能强大的集成开发调试工 具,全windows界面。另外重要的一点,只要看一下编译后生成的汇编代码, 就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代 码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。根据需要,可将系统软件按照功能划分为5个模块,分别是主程序模块、a/d 转换模块、数码管显示模块、中断服务程序模块、按键输入模块,各模块的功能 关系如图3.1所示。编写系统软件时,可首先编写各模块的底层驱动程序,而后是 系统联机调试,编写上层主程序。3.2主程序设计图3.

55、1系统软件框图开始图3.2主程序流程图图3.3按键相关处理程序流程图主程序主要负责各个模块的初始化工作:设置外部中断、初始化串口,启动 a/d转换,读取转换结果,串口发送,控制数码管实时显示等,其流程图如图3.2 所示。3.3 a/d转换程序a/d转换程序的功能是采集数据,在整个系统设计中占有很高的地位。木设 计中采用中断的方式来读取转换完成的数据,这样能节省cpu的资源,当系统设 置好后,一旦数据转换完成,当便会进入外部中断0,然后在中断中读取转换的数 值,处理数据并送数码管显示输出。程序流程图如图3.4所示。图3.4 a/d转换程序流程图3.4中断服务程序at89s52单片机共有5个屮断源,按屮断向量号分别为外部屮断0、定时器屮 断0、外部屮断1、定时器屮断1、串口屮断。本系统屮用到了外部屮断0,实时 读取adc0832转换完成的数据,并送数码管显示,串口中断主要是完成转换数 据的发送。第四章系统仿真与调试在进行电路的局部调试之后,我又进行了系统整机调试。首先为adc0832接 上+5v的电压,为其它芯片接上+5v的工作电压。另外还要输入待测的模拟电压, 该电压从200mv以下的电压开始输起,依次增大,直到达到待测电压的上限5v 为止,记录测量数据并分析系统性能。4.1分局部调试1. 检查adc0832是否工作

温馨提示

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

评论

0/150

提交评论