毕业设计论文基于单片机数据采集系统含源代码_第1页
毕业设计论文基于单片机数据采集系统含源代码_第2页
毕业设计论文基于单片机数据采集系统含源代码_第3页
毕业设计论文基于单片机数据采集系统含源代码_第4页
毕业设计论文基于单片机数据采集系统含源代码_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、毕 业 论 文(设计)题 目: 基于80C51单片机和TLC2543的多路 数据采集系统设计 学 号: 姓 名: 年 级: 学 院: 信息科学技术学院 系 别: 电子通信系 专 业: 通信工程 指导教师: 完成日期: 在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数据进行采集。数据采集技术是信息科学的重要分支,是传感器、信号获取、存储与处理等信息技术结合。Philips公司推出的增强型80C51系列P89C51RA2组成多路高精度的数据采集系统。这个数据采集系统特点是实现低成本、高可靠性、多点的数据采集,并且具有易实现、 、易编程、移植 、体积小、功耗低等优点。该系统还可通过U

2、SB数据总线接口与PC机进行数据通信,达到在PC机上实时的显示、存储和处理采样数据的目的。以上所有的特性使得本系统可很好的应用于实验室或工业现场等多种场合的多路数据实时采集。关键词:数据采集AbstractPC and Industrial PC are often utilized in all walks of life in industrial production and scientific research to acquire various data. Data acquiring technology is an important branch of informatio

3、n science, and it combine transducer, signal obtaining, information storing and processing together. This paper adopts 11 analog input channels and 12-bit -analog-to -digital converter called TLC2543 from TI Company and enhancement mode 80C51 series signal-chip computer called P89C51RA2 from Philips

4、 Company to form the multi-function and high-accuracy data gathering. With small size and low power consumption, this kind of data gathering technology is easy to realize, program, and transplant. This system also can carry on data communication with PC through USB data bus interface and PC, and it

5、can finally achieve display, memory, and sample processing. With the characteristics mentioned above this system will be well applied in the laboratory, industry, or other departments where the multi-function real time data acquire technology can be used.Keyword: TLC2543 ; A/D converter; data acquis

6、ition目 录IAbstractII1 引言- 1 -1.1 研究意义- 1 -1.2 研究内容- 1 -2 数据采集系统的构成- 2 -3 基于USB的数据采集系统的硬件设计- 3 -3.1系统的原理及其组成- 3 - 5 -3.2.1 单片机芯片选择- 5 -3.2.2 模数转换芯片选择- 6 - 8 - 9 - 10 - 11 - 11 - 14 - 14 - 14 -4.1.2 接口时序- 14 -4.2 采集模块程序设计- 16 -4.2.1 A/D转化程序设计- 17 -5 系统调试- 18 -6 结束语- 20 -致 谢- 21 -参考文献- 22 -附录 A:A/D转换程序-

7、 23 -附录 B:主程序- 26 -1 引言1.1 研究意义在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数据进行采集。数据采集技术是信息科学的重要分支,是传感器、信号获取、存储与处理等信息技术结合。将外部世界存在的温度、压力、液位等转换为模拟或数字信号,再传送到计算机作进一步处理的这一过程,即“数据采集”。数据采集已在工农业,医药卫生,生态环境,航天航空,军事,气象等领域得到了广泛的应用,可以通过对信号测量,处理,控制及管理,实现测、控、管的自动化与系统化。而利用Philips公司推出的增强型80C51单片机系列P89C51RA2和TI公司的11路12位串行模数转换芯片TL

8、C2543组成多路高精度的数据采集系统,很容易就能实现低成本、高可靠性、多点的数据采集。并可通过USB数据总线接口与PC机进行数据通信,在PC机上实时地显示和存储采样数据,本系统可应用于实验室或工业现场等多种场合的多路数据实时采集。1.2 研究内容2 数据采集系统的构成在任何计算机测控系统中,都是从尽量快速,尽量准确,尽量完整的获得数字形式的数据开始的。因此,数据采集系统作为沟通模拟域与数字域的桥梁起着非常重要的作用。70年代初,随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集

9、系统被微处理器控制的采集系统所代替。因为由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大的提高,系统的硬件成本和系统的重建费用大大的降低。数据采集系统一般由信号调理电路,采样保持电路,A/D转换芯片,微处理器组成。结构框图如图1所示。采样保持电路A / D转换微处理器信号调理电路图1 数据采集系统结构框图其中信号调理电路,它是传感器与A/D之间的桥梁,也是测控系统中重要组成部分。信号调理的主要功能是:(1)目前标准化工业仪表通常采用010Ma,420mA信号,为了和A/D的输入形式相适应,必须经I/V变换成电压信号。(2)某些测量信号可能是非电压量,如热电阻等,这

10、些非电压量信号必须变为电压信号,还有些信号是弱电压信号,如热电偶信号,必须放大,滤波,这些处理包括信号形式的变换,量程调整,环境补偿,线性化等。(3)某些恶劣条件下,共模电压干扰很强,如共模电平高达220V,不采用隔离的办法无法完成数据采集的任务,因此,必须根据现场环境,考虑共模干扰的抑制,甚至采用隔离措施,包括地线隔离,路间隔离等等。综上所述,非电量的转换,信号形式的变换,放大,滤波,共模抑制及隔离等等,都是信号调理的主要功能。信号调理电路包括电桥,放大,滤波,隔离等电路。根据不同的调理对象,采用不同的电路。电桥电路的典型应用之一就是热电阻测温。用热电阻测温时,工业设备距离计算机较远,引线将

11、很长,这就容易引进干扰,并在热电阻的电桥中产生长引线误差。解决的办法有:采用热电阻温度变送器:智能传感器加通讯方式连接:采用三线制连接方法。信号放大电路通常由运放承担,运放的选择主要考虑精度要求(失调及失调温漂),速度要求(带宽、上升率),幅度要求(工作电压范围及增益)及共模抑制要求。常用于前置放大器的有uA741,LF347(低精度),OP-07(中精度),ICL7650(高精度)等。滤波和限幅电路通常采用二极管,稳压管,电容等器件。用二极管和稳压管的限幅方法会产生一定的非线性且灵敏度下降,这可以通过后级增益调整和非线性校正补偿。此外,由于限幅值比最大值输入值高,当使用多路开关时,某一路超限

12、时可能影响其他路,需要选用优质模拟开关如AD7501。共模电压的存在对模拟信号的处理有影响。高的共模电压会击穿器件,即使没有损坏器件,也会影响测量的精度。隔离是克服共模干扰影响的有效措施。常用的隔离方法有:光电隔离,采用隔离放大器等。3 基于USB的数据采集系统的硬件设计3.1系统的原理及其组成在工业生产和科学技术研究的各行业中,常需要对各种信号进行采集,如液位、温度、压力、频率等。但传统的采集方式是在PC机或工控机内安装数据采集卡,采用这种方式不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线的出现,很好地解决了上述这些冲突

13、,很容易就能够实现低成本、高可靠性、多点的外置式数据采集系统,这不仅能提高系统的数据传输速度,还能增强系统的灵活性,同时有利于系统的维护。本USB的数据采集系统主要利用了A/D转换技术、温度控制技术、微处理器和USB技术,是伴随着USB技术的迅速发展与新的数据采集技术的发展而发展起来的。采集到的数据通过主机接口(USB口)发送到PC机并实时显示出来,其波形保真性能与A/D转换器的转换速率、分辨率与精度密切相关。A/D转换速率越高,复现的波形的分辨率也就越高:A/D转换器位数越多,精度越高,波形保真性越高。本系统总体结构图如图2所示。其中温度控制技术、USB技术和数据采集波形的实现由第三方设计完

14、成,这里不在介绍。USB芯片CPU芯片USB接头数据控制串行数据USB总 线主机USB 接口温度采集电路数据采集电路数据命令数据控制图2 USB数据采集系统总体结构图基于USB的数据采集系统的数据采集模块主要是由A/D转换器、微处理器、电压跟随器等组成。数据采集系统的结构框图如图3所示:微处理器11路模拟输入信号电压跟随器数据A/D转换 器数据数据图3 数据采集系统结构图从以上两个结构图中可知,11路模拟输入信号通过电压跟随器滤波后,输出到A/D转换器,微控制器把经过A/D转换器转换后的数字信号通过USB控制芯片输出给计算机,同时可以在计算机上实现数据的显示;而USB主机及显示部分则通过输出接

15、口在PC机上显示,采用软件来模拟显示输入信号的波形。同时可以控制A/D转换器的启停、数据存取器的存取、USB外设芯片的工作、显示图形的放大和缩小等。在选择一个芯片时,用户一般考虑的是芯片含有的功能、价位、是否容易取得以及是否容易开发等因素。一个芯片是否容易开发,视开发工具是否容易取得及其品质,设备的驱动程序,有无示例程序代码,以及对设备结构等的了解而定,下面对本系统中芯片的选择作一个简单的介绍。 单片机芯片选择本设计中我们采用了Philips公司推出的增强型80C51单片机P89C51RA2,此芯片包含8K可并行可编程的非易失性FLASH程序存储器,并可实现对器件串行系统编程(ISP)和在应用

16、中编程(IAP)。在系统编程 ISP(In-System Programming),当MCU安装在用户板上时允许用户下载新的代码。在应用中编程 IAP(In-Application Programming),MCU可以在系统中获取新代码并对自己重新编程,这种方法允许通过调制解调器连接进行远程编程片内ROM中固化的默认的串行加载程序Boot Loader允许。ISP 通过UART将程序代码装入Flash存储器而Flash代码中则不需要加载程序,对于IAP用户程序通过使用片内ROM中的标准程序对Flash存储器进行擦除和重新编程 该器件可通过并行编程或在系统编程的方法对一个Flash位进行编程,从

17、而选择6时钟或12时钟模式。此外也可通过时钟控制寄存器CKCON中的X2位选择6时钟或12时钟模式,另外当处于6时钟模式时外围功能可以选择一个机器周期6时钟或是12时钟,这是通过CKCON寄存器进行选择的。该系列微控制器是 80C51 微控制器的派生器件是采用先进CMOS工艺制造的8位微控制器,指令系统与80C51完全相同。该器件有4组8位I/O口、3个16位定时/计数器、多中断源-4中断优先级-嵌套的中断结构、1个增强型 UART 片内振荡器及时序电路和扩展数据存储器片内64K、PCA(可编程计数器阵列)、硬件看门狗定时器。新增的特性使得P89C51RA2成为功能更强大的微控制器,从而更好地

18、支持需要用到脉宽调制,高速I/O,递增/递减计数功能(如电机控制)等应用场合。 模数转换芯片选择近年来模数转换技术发展很快,在功能增强、功耗降低的同时转换速度也极大地提高,转换频率从几百kHz提高到几十MHz,而且芯片也较廉价,使用也日益广泛。其A/D转换器的种类也越来越多,目前使用广泛的有:逐次逼近式A/D转换器、余数反馈比较式A/D转换器、双积分A/D转换器、V/F变换式A/D转换器和式A/D转换器等等。(1) 逐次逼近式A/D转换器:速度高,外用元器件也不多,大多数单片集成A/D转换器芯片多采用此种方式。但对快速变化的输入信号应配备采样保持器才能保证转换精度的要求。此外,A/D转换器本身

19、对输入信号中的噪声无抑制作用,必须采用外加软硬件抗干扰措施,才能抑制输入信号中大部分随机干扰。(2) 余数反馈比较式A/D转换器:这种转换方式分辨率很高,量化误差小,转换精度高。这种转换方式的速度主要受两个因素的限制:一是每次循环进行电压数字转换的时间;二是余数模拟电压的建立时间。目前,采用这种方式的A/D芯片,通过辅之以一些另外的技术措施,其转换速度还是比较快的。(3) 双积分A/D转换器:抗干扰能力强,具有较高的转换精度,电路结构简单,编码方便,但转换速率低,常用于速度要求不高,精度要求较高的测量仪器仪表中。(4) V/F变换式A/D转换器:由于应用了积分电容,具有很好的抗干扰性能、良好的

20、线性度和高的分辨率,电路结构简单。缺点是转换速率低,在一些非快速的检测信道中愈趋向使用V/F变换式A/D转换器代替通常的A/D转换器。(5) 式A/D转换器:它兼有反馈比较和积分式的特征,具有较强的抗干扰能力,量化噪声小、分辨率高和线性度好的优点。转换速率也高于积分式ADC,因此,式A/D转换器是用于户外智能仪器仪表和工业过程参数检测控制的优先选择。在本系统中,根据实际需要和性价比综合考虑,采用了TI公司生产的TLC2543C,11路12位开关电容逐次逼近串行A/D转换器,采样率为66 kbit /s,在工作温度范围内10us转换时间。具有三个控制输入端:片选,输入/输出时钟I/O CLOCK

21、以及地址输入端AD_DIN。它还可以通过一个串行的3态输出端AD_OUT与主处理器或其外围的串行口通讯,输出转换结果。本器件可以从主机高速传输数据。除了高速的转换器和通用的控制能力外,本器件有一个片内的14通道多路器可以在11个输入通道或3个内部自测试(SELF-TEST)电压中任意选择一个。采样-保持是自动的。在转换结束时,转换结束EOC输出端变高以指示转换的完成。本器件中的转换器结合外部输入的差分高阻抗的基准电压,具有简化比率转换、刻度以及模拟电路与逻辑电路和电源噪声隔离的特点。开关电容的设计可以使在整个温度范围内有较小的转换误差。此多通道,小体积的TLC2543C器件,线性误差小 (&#

22、177;1 LSB max),节省I/O资源,成本较低,特别适用于单片机数据采集系统的开发。TLC2543的内部结构如图4所示。图4 TLC2543内部结构图TLC2543内部由通道选择器、输入地址寄存器、采样保持电路、12位的模数转换器、输出寄存器、并串转换器以及控制逻辑电路等7个部分组成。通道选择器根据输入地址寄存器中存放的地址选择输入通道,并将输入通道中的信号送到采样保持电路中,然后在12位数模转换器中将采样的模拟量转换成数字量,存放到输出寄存器中,这些数据经过并行串行转换器转换成串行数据,由AD_OUT端输出到微处理器中。在80C51系列微处理器中都不带SPI或相同的接口能力,为了和T

23、LC2543模数转换器接口,需要用软件来合成SPI的操作,这样数据传送速率下降,受微处理器指令周期时间控制,因而受微处理器的时钟频率影响。因此要尽可能选择微处理器的最高始终频率,以减小指令周期时间,优化接口数据传输速率。如图5所示,TLC2543和单片机的接口电路。TLC2543的转换结束端EOC、I/O时钟、串行数据输入端AD_DIN、串行数据输出端AD_OUT片选CS分别连接单片机的并行双向I/O口1的管脚P1.0、P1.1、P1.2、P1.3、P1.4。在设计制作时要注意事项:(1)电源去耦当使用TLC2543这种12位A/D器件时,每个模拟IC的电源端必须用一个0.1F的陶瓷电容连接到

24、地,用作去耦电容。在噪声影响较大的环境中,建议每个电源和陶瓷电容端并联一个10F的钽电容,这样能够减小噪声的影响。(2)接地对模拟器件和数字器件,电源的地线回路必须分开,以防止数字部分的噪声电流通过模拟地回路引入,产生噪声电压,从而对模拟信号产生干扰。所有的地线回路都有一定的阻抗,因此地线要尽可能宽或用地线平面,以减小阻抗,连线应当尽可能短,如果使用开关电源,则开关电源要远离模拟器件。(3)电路板布线使用TLC2543时一定要注意电路板的布线,电路板的布线要确保数字信号和模拟信号隔开,模拟线和数字线特别是时钟信号线不能互相平行,也不能在TLC2543芯片下面布数字信号线。在PCB设计中,布线是

25、完成产品设计的重要步骤,在整个PCB中,以布线的设计过程限定最高,技巧最细、工作量最大。布线的方式也有两种:自动布线及交互式布线。由于本设计采用的是单面板且用交互式布线既手工布线。对于单面板,设计的难点是如何减少跳线情况下把线路布通。此次设计经过合理放置元件和多次改进,最后终于克服一切困难,在跳线很少的情况下把线路布通,达到了设计的目标。为了防止外部电磁干扰,采用了电路板外部用相对较宽的铜线构成非闭合的保护电路。在电路内部,直接用板上剩余空间的大面积接地来提高电路信号的稳定性。如图10所示。PCB布线原则:(1)电源、地线的处理电源、地线的处理不好会引起干扰,使产品的性能下降,有时甚至影响到产

26、品的成功率。所以对电、地线的布线要认真对待,把电、地线所产生的噪音干扰降到最低限度。l 在电源、地线之间加上去耦电容,滤除噪音干扰。l 尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线电源线信号线,对数字电路的PCB可用宽的地导线组成一个回路, 即构成一个地网来使用(模拟电路的地不能这样使用)。 l 用大面积铜层作地线用,在印制板上把没被用上的地方都与地相连接作为地线用。或是做成多层板,电源,地线各占用一层。(2) 数字电路与模拟电路的共地处理现在有许多PCB不再是单一功能电路(数字或模拟电路),而是由数字电和模拟电路混合构成的。因此在布线时就需要考虑它们之间互相干扰问题,特别

27、是地线上的噪音干扰。数字电路的频率高,模拟电路的敏感度强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,对地线来说,整个PCB对外界只有一个结点,所以必须在PCB内部进行处理数、模共地的问题,而在板内部数字地和模拟地实际上是分开的,只是在PCB与外界连接的接口处(如插头等),数字地与模拟地有一点短接,这在设计时必须考虑,只有一个连接点。也有在PCB上不共地的,这由系统设计来决定。(3) 设计规则检查(DRC)布线设计完成后,需认真检查布线设计是否符合设计者所制定的规则,同时也需确认所制定的规则是否符合印制板生产工艺的需求,一般检查有如下几个方面:线与线,线与元件焊盘,线与贯通孔,元件

28、焊盘与贯通孔,贯通孔与贯通孔之间的距离是否合理,是否满足生产要求。 电源线和地线的宽度是否合适,电源与地线之间是否紧耦合(低的波阻抗),在PCB中是否还有能让地线加宽的地方。 对于关键的信号线是否采取了最佳措施,如长度最短,加保护线,输入线及输出线被明显地分开。 模拟电路和数字电路部分,是否有各自独立的地线。 后加在PCB中的图形(如图标、注标)是否会造成信号短路。 (4) TLC2543的工作过程分为两个周期:I/O周期和转换周期。(1) I/O周期I/O周期由外部提供的I/O CLOCK定义,延续8、12或16个时钟周期,决定于选定的数据长度。器件进入I/O周期后进行两种操作。首先,在I/

29、OCLOCK的前8个脉冲的上升沿,以MSB前导方式从DATA INPUT端输入8位数据流到输入寄存器。其中前4位为模拟通道地址,控制14通道模拟多路器从11个模拟输入和3个内部测试电压中选通一路送到采样保持电路,该电路从第4个I/O CLOCK脉冲的下降沿开始对所选信号进行采样,直到最后一个I/O CLOCK脉冲的下降沿。I/O周期的时钟脉冲个数与输出数据长度(位数)同时由输入数据的D3、D2位选择为8、12或16。当工作于12或16位时,在前8个时钟脉冲之后,DATA INPUT无效。其次,在DATA OUT端串行输出8位、12或16位数据。当保持为低时,第一个数据出现在EOC的上升沿。若转

30、换由控制,则第一个输出数据发生在的下降沿。这个数据串是前一次转换的结果,在第一个输出数据之后的每一个后续位均有后续的I/O时钟下降沿输出。(2) 转换周期在I/O周期的最后一个I/O CLOCK下降沿之后,EOC变低,采样值保持不变,转换周期开始,片内转换器对采样值进行逐次逼近A/D转换,其工作由与I/O CLOCK同步的内部时钟控制。转换完成后EOC变高,转换结果锁存在输出数据寄存器中,待下一个I/O周期输出。I/O周期和转换周期交替进行,从而可减小外部数字噪声对转换精度的影响。 接口时序可以用四种传输方法使TLC2543得到全12位分辨率,每次转换和数据传递可以使用8、12或16个时钟周期

31、。一个片选()脉冲要插到每次转换的开始处,或是在转换时序的开始处变化一次后保持 为低,直到时序结束。图11显示每次转换和数据传递使用12个时钟周期和在每次传递周期之间插入 的时序,图12显示每次转换和数据传递使用12个时钟周期,仅在每次转换序列开始处插入一次 时序。图 11 12时钟时序传送图(使用,MSB在前)图12 12时钟时序传送图(不使用,MSB在前)4.2 采集模块程序设计在系统上电后,必须从高变到低后开始一次I/O周期。EOC开始为高,输入数据寄存器被置为全零。输出数据寄存器的内容是随机的,并且第一次转换的结果将被忽略。为了对器件初始化,被转为高再回到低后开始下一次I/O周期。在器

32、件从掉电状态返回后的第一次转换,由于器件的内部调整,读数可能不准确。数据采集系统流程图如图13所示。系统上电m+,通道值是否大于14系统初始化通道、时钟、极性设定采集通道m0A/D转换程序返回数据AdResultdatah*256+datal到单片机否是图13 数据采集系统流程图采集程序设计为一个循环程序,在一个循环中完成以下工作:A/D转换器通过AD_DIN从单片机接收命令字选取通道、时钟和极性,然后进入采样周期,在I/O周期的最后一个I/O CLOCK下降沿之后,EOC变低,采样值保持不变,转换周期开始,片内转换器对采样值进行逐次逼近A/D转换,其工作由与I/O CLOCK同步的内部时钟控

33、制。转换完成后EOC变高,转换结果锁存在输出数据寄存器中,待下一个I/O周期输出。当下一个I/O周期开始时,A/D转换器将上一次的转换结果从AD_OUT串行输入到单片机的外部存储器中。4.2.1 A/D转化程序设计在主程序Mainloop中使用函数init_ADC(m | OUTPUTLENGHT_12 | UNIPOLAR)对A/D芯片进行初始化,定义了系统的初始通道、时钟模式以及极性。由于TLC2543有3种时钟模式分别为8、12和16时钟,其中默认的为12时钟,出于对系统通用的考虑,在A/D转换子程序中把它设计成可选时钟模式。在本数据采集系统中,TLC2543输出结果设置成12位无符号整

34、型数,输出顺序为高位在前且为单极性。在每一个A/D转换过程中,TLC2543都要从串行输入端AD_DIN读取由单片机输入的控制字来选定对某个或多个通道进行采样,然后进行A/D转换,转换结果被存入输出数据寄存器AD_OUT。在下一个I/O周期中,由数据输出端AD_OUT串行输出到单片机的外部寄存器。但是由于采集的为12 位数据,对于8 位单片机,要存放在两个内存地址中,因此需要利用AdResult = datah *256+datal合成后再返回给主程序送入单片机。本程序不仅实现了14路模拟信号的数据采集而且可以任意选择一路或多路进行数据转换,同时合成了SPI功能使TLC2543A/D转换芯片和

35、P89C51RA2单片机能够快速的进行正常通信。但是还存在一定的问题,需要在后续工作中进一步改进。A/D转换的详细程序见附录A。在 TLC2543 的编程中注意以下几个问题: (1)一个输入输出工作周期为 12个时钟信号,随着12个时钟信号的进入, TLC2543的AD_OUT 引脚送出的12 位数,为上一个工作周期的 A/ D 转换数据,而这一数据是何通道的采集量,取决于上一工作周期从AD_DIN引脚送入TLC2543的控制字的前四位。那么对于系统上电后第一个工作周期,从 AD_OUT取出的数据是没有意义的。(2)控制字的低4位决定输出数据长度及格式,初始设定后,一般不要在运行过程中改变,以

36、免数据混乱。而在工作周期循环,若累加器 A 中数据没有处理好,容易把非法的控制字带入TLC2543,引起输出数据格式错误,这一点应予特别注意。(3) 端控制着TLC2543的转换初始化与输入输出。本文中端控制转换过程,在输入输出数据过程必须保持为低,即在输入12个时钟信号期间必须保持0之后,端被置高,以便使由高到低的变化,而产生下一工作周期。 端被置高时,与 TLC2543相联的其它三线呈高阻状态,可为其它线路使用,硬件设计时,可设计为共享线路,软件编程时,根据 情况决定谁使用这些线路。(4)对于转换结果用二进制方式输出,当输入电压等于时,转换结果为 12个“1”,即(1111 1111 11

37、11),当输入电压等于 时,转换结果为12个“0”,即(0000 0000 0000),当输入电压等于( + )/ 2 时,转换结果为(1000 0000 0000),供校正参考。5 系统调试图14显示的就是在本论文中设计的USB数据采集系统实物图。电压跟随器A/D转换芯片图14 USB数据采集系统结构图在调试过程中从硬件到软件由于经验不足和知识水平的限制,走了不少弯路,但最终还是调试成功。现在总结一下,对于系统的进一步开发具有一定的积累意义。 (1) 拿到电路板之后不要急于焊接元件,要先认真检查板子连线是否存在短 路、断路的情况,在确认无误之后,然后可以加电测试电源供电情况。正常后基本上就可

38、以开始焊接元件了,一般先焊帖片、电阻等元件,遵循由低往高的焊接顺序。焊接完毕后加电,如果电路工作不正常,可以先检查供电、是否存在虚焊、粘连的情况直至排除故障。 (2) 数据采集系统的调试主要是测试AD转换是否正常。A/D电路的测试是通过采样一组确定电压并通过USB接口送往PC机观察,由于TLC2543芯片有3个内测电压即REF+、REF-、(REF+ +REF-)/2,它们的值是固定不变的,分别为5v、0v和2.5v,可以通过这3个通道的值来确定A/D电路采集的数据是否正确,同样也得到AD电路能够正常工作的结论。如图15所示为应用程序的界面图。图15 应用程序的界面图 如图所示当按下确定按钮时

39、,从通道1到基准波形3的14路模拟转换通道就开始实时的变化,其中基准波形1,基准波形2,基准波形3这3个为TLC2543的内测电压,AD转换结果正确与否都主要观察这个数值的变化。在转换的过程中它们是基本上不变化的,如果有较大幅度的变化就说明转换过程中存在着问题,使得转换结果的精度和准确性下降,否则转换的结果是正确的。6 结束语并可通过USB数据总线接口与PC机进行数据通信,在PC机上实时的显示和存储采样数据。而且选用了体积小、功能全的12位TLC2543作为A/D转换器同时采用C51对系统编程,使系统具有易实现、易编程、可移植、体积小、功耗低等优点 ,具有良好的推广与应用价值。本系统可应用于实

40、验室或工业现场等多种场合的多路数据实时采集。由于时间仓促和知识有限,致使许多部分都未能完善,存在着很多错误和问题,敬请各位老师同学提出、指正和批评。通过这次设计,对大学四年所学知识进行了一次检验和全面的复习,并且又学会了很多新的电子与计算机专业知识,从中得到了很多宝贵的经验。致 谢设计中遇到的困难。通过与的讨论和学习使我获得了很多丰富的宝贵的经验。那兢兢业业的治学态度、敏锐创新的科学思维和身体力行的工作作风是我收获的最大财富,同时还要感谢海南大学信息学院的易家傅老师在此次设计中对我的精心指导,使我能顺利完成此次设计。在设计过程中还有很多同学对我有很大帮助,特别是王新建同学、许元统同学,感谢他们

41、在我毕业设计过程中给予我的大力支持和耐心指导。还要感谢我的父母、哥哥、姐姐是他们在背后默默的支持我,仅以此文献给他们。最后感谢海南大学四年来对我的培养,使我学到了很多的知识,这是本次设计成功的基础。参考文献1 梁合庆.增强核内存80C51教程.北京: 电子工业出版社,2003 .P1682102 刘文涛编著.单片机语言C51程序设计.北京:原子能出版社,2004 3 尹勇, 王洪成编著.单片机开发环境Vision2使用指南及USB固件编程与调试. 北京:北京航空航天大学出版社,2004.10 P1954 杨小川. Protel DXP设计指导教程.北京:博导创新科技有限公司,2003.115

42、TLC2543带串行控制和11个输入端模数转换器中文应用笔记.武汉:武汉力源有限公司, 98-3-26 6 TLC2543中文数据手册.武汉:武汉力源有限公司,98-6-307 王述全 孟臣 张福军 基于串行接口方式单片机通用数据采集系统设计 2006-2-168 王宜怀 12位A/D转换器TLC2543与51系列单片机接口技术.苏州丝绸工学院学报,1999 年10 月,第19 卷第5期:45-509 黄天禄 郝东来 邓玉元 用TLC2543 A/D转换器设计数据采集系统.西安通信学 报,2004年6月,第3卷第3期10 程继红 TLC2543在传感器实验台测试系统中的应用. 南京师范大学学报

43、(工程技术版),2003年,第3卷第1期11 卢鑫 庞伟正 新型模数转换器TLC2543的串行接口及其应用. 器件与应用, 维 普资讯12 左克群 基于TLC2543设计的采集系统.计算机控制监测与管理,2003年第5期13 段军 基于USB数据采集和控制系统的开发与研究.南京理工大学,2004年3月 14 LM324 四运放的应用. 51单片机实验网 15 武汉办 肖艳中 TLC2543在仪器仪表中的应用16 单片机C51论坛. 网址:附录 A:A/D转换程序/* /* / USB-DATACOMMUNICATION / File Name: ADC.C / Revision:1.1(200

44、6-05-20) / Author:Liu Shao Fei / Note: /*/#include <stdio.h>#include <string.h>#include <REG51Rx2.H> /* special function register declarations */#include "mainloop.h"#include "AD_Convert.H"#define uint unsigned int#define uchar unsigned charextern unsigned char

45、xdata ADCBuf;sbit AD_CLK = P11; /输入/输出时钟(I/O CLOCK)sbit AD_DIN = P12; /串行数据输入端sbit AD_DOUT = P13; /A/D转换结果三态输出端sbit AD_CS = P14; /片选端sbit AD_EOC = P10; /转换结束端 /REF、REF:正、负基准电压端。通常REF 接VCC,REF接地 /最大输入电压范围取决于两端电压差;void clock_in() /时钟脉冲AD_CLK=1;AD_CLK=0;void init_ADC(unsigned char TongDao) /AD初始化;我们只写不

46、读uchar j,k;if(TongDao&0x04)=0x00) /定义时钟模式12,8,16 k=12;else if(TongDao&0x08)=0x00) k=8; else k=16;ADCBuf0=k;AD_CS=0;AD_CLK=0; /我们采集上边沿for(j=0;j<k;j+)AD_DIN=(bit)(TongDao&0x80); /取tongdao最高位TongDao<<=1; /逐次取得通道数clock_in(); / 进行AD转换,输入:要进行AD转换的通道号(tongdao)/ 输出:AD转换的结果unsigned int A

47、DC(uchar TongDao)uchar datah;uchar datal,i,k;unsigned int AdResult;datah=0;datal=0 ;if(AD_EOC=1)if(TongDao&0x04)=0x00) k=12;else if(TongDao&0x08)=0x00) k=8; else k=16;ADCBuf0=k;AD_CS=0;AD_CLK=0; /我们用片选来读for(i=0;i<k;i+) /输入k个时钟 if(i<4) /输出高4位 AD_DIN=(bit)(TongDao&0x80); TongDao<&

48、lt;=1; datah<<=1; datah|=AD_DOUT; else /输出低8位数据 AD_DIN=(bit)(TongDao&0x80); TongDao<<=1; datal<<=1; datal|=AD_DOUT; clock_in(); AD_CS=1;AdResult=datah*256+datal;else AdResult=0xF000; return(AdResult);附录 B:主程序/* /* USB-DATACOMMUNICATION / File Name:mainloop.C / Revision:1.1(2006

49、-05-20) / Author:Wang Xin Jian / Note:/*/#include <stdio.h>#include <string.h>#include <REG51Rx2.H> /* special function register declarations */#include "mainloop.h"#include "INTERRUPT_Server.H"#include "REQUEST_PROCESS.H"#include "AD_Convert.H&qu

50、ot;#include "TEMP_Gather.H"#include "D12_Interface.H"/*/*/ Public static data/*/extern EPPFLAGS bEPPflags;extern unsigned char idata GenEpBuf;extern unsigned char idata EpBuf;extern unsigned int data d12_addr;unsigned char xdata ADCBuf36=0,0,0,0,0,0;unsigned char xdata channelid;

51、unsigned int idata TEMPBufLow = 0;unsigned int idata TEMPBufHig = 0; extern unsigned int data D12_DATA; /D12_DATA输出的是数据extern unsigned int data D12_COMMAND; /D12_COMMAND输出的是命令unsigned char m = 0x00;/D12中断服务usb_isr() interrupt 0 /0,外部中断;1,定时器0溢出;2,外部中断1; /3,定时器1溢出;4,串口中断;5,定时器2溢出DISABLE; /EA为内外存储器选择控制端fn_usb_isr(); /调用D12中断服务子程序ENABLE;void main(void) byte_count adcdata;byte_count tempdata

温馨提示

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

评论

0/150

提交评论