




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
杨弋、程于、王嘉敏、任召宝:多路数据采集控制器(ROTUES仿真软件)多路数据采集控制器(ROTUES仿真软件)1.1 概述前端数据采集能够及时获取被控对象和生产过程的有效信息,在某些实时性要求高的场合尤为重要。工业生产过程中,为了清晰地反映出生产过程的详细信息,往往需要获得多个参量的动态数据,这就有必要对被控对象和生产过程进行多路数据采集。数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个借口。数据采集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具。 采集器是一种具有现场实时数据采集、处理功能的设备。具备实时采集、自动存储、即时显示、即时反馈、自动处理、自动传输功能。为现场数据的真实性、有效性、实时性、可用性提供了保证。由于外界输入的信号都是模拟信号,而计算机只能处理数字信号。所以外界信号要经过数据采集器(A/D转换和D/A转换),才能由计算机处理。而且,由于外界的信号往往不止一路,所以多路数据采集器的设计就显得十分的必要。1.2 Proteus介绍Proteus是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES(Adv-Ancd Routingand Editing Software)也就是PCB.Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。 Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,AVR,ARM等多种系列的处理器。Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。1.3 设计要求(1)此系统采用PROTUES仿真系统设计信号发生器,能够产生幅值范围为5V可调,频率为1k-10kHz可调的正弦波、方波、三角波。(2)设计一个多路数据采集器,每一路都能够采集由信号发生器产生的信号,并能通过LED(LCD)显示波形的频率及幅值。并设计了人机交互接口,包括键盘、显示器和发光二极管。而且能够通过人机交互接口设置信号发生器参数和数据采集器的告警上下限,并能通过发光二极管给出上下限告警(如超上限则用红色发光二极管报警,超下限用绿色发光二极管报警)。2 系统分析2.1 信号发生器 信号发生器是一种产生所需参数的电测试信号仪器。我们这次设计的信号发生器是一种能够产生正弦波、方波、三角波,并且频率和幅值可调的信号发生器。该信号发生器可以广泛应用于通信、仪表和自动控制系统测试之中,还应用于他非电测量领域。我们的设计思想是首先通过单片机把每个点对应的数值计算出来,然后再通过D/A转换芯片将数字信号转换为模拟信号输出。在单片机计算每一个点对应的数值时我们幅值因素考虑了进去,因此我们输出的波形是可调的。在D/A转换芯片对点进行输出时,我们把频率因素考虑了进去,因此我们输出波形的频率也是可调的。信号发生器系统框图如图 1所示。图 1 信号发生器系统框图2.1 数据采集控制器 该模块主要完成从模拟信号输入到量程转换(05V电压),输入方式转换,再到芯片内部完成模拟量的数字量化。对于信号单端直接输入而言,其线路简单、易于实现,但可能信号干扰严重。信号差分输入具有抗干扰能力强的特点。系统框图如图2所示。图2 数据采集系统框图2.3 LCD显示模块 LCD(Liquid Crystal Display),即液晶显示屏,一般皆分为单色与彩色液晶屏两种。液晶部分由点阵液晶显示器、液晶控制器和内部驱动电源发生器组成。LCD属于平板显示器的一种,按驱动方式可分为静态驱动(Static)、单纯矩阵驱动(Simple MATRIX)以及有源矩阵驱动(Active MATRIX)三种。LCD液晶显示屏相比于LED显示,有很多的优点,可以在LCD液晶显示屏上显示波形的形状、频率、幅值等。 4. 串口通信串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a.波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b.数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 c.停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 d.奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。其原理图如图3所示。图3 串口通信原理图3 功能实现3.1 信号发生器的设计系统分为PC机和单片机系统两部分。从系统图上可见,本系统的硬件部分较简单且成熟:其中D/A转换器选用0832,采用文献1的电路实现双极性电压输出,后接跟随器改善带负载能力。存储器选用62256。MAX232实现电平转换。本系统的关键是软件部分,特别是通讯的实现。现分别介绍如下。3.1.1 PC机部分VB是一种面向对象的程序设计语言,具有事件驱动编程模式并可以使用添加的控件,能够十分方便地作出良好的人机界面。因此,PC机采用VB编程。用VB作出直观的人机界面:图片框中绘制波形,三个命令按钮分别用于波形输出、重新绘制和结束系统。界面如图3所示。用户拖动鼠标左键在图片框绘制波形时,同时将各点值存储下来,按波形产生键传送给单片机系统。在PC的通信模块设计上,MSComm控件的直接引用使通讯设计变得更加便捷。该控件是一个标准的十位串行通信,可设置串行通信的串口状态及串口通信的信息格式和协议,它提供事件驱动和查询两种处理串行通信的方法。事件驱动法是当串口接收到或发送完指定的数据时,或当状态发生改变时,MSComm控件都将触发OnComm事件,应用程序可通过检查CommEvent属性的值来获知所发生的事件和错误,从而执行相应的处理。查询法是在每个重要的程序后查询MSComm控件某些属性的值来检测事件和通讯错误。本设计采用查询法。值得注意的是在通信模块内设置MSComm控件的Inputmode属性为1,则送收二进制数据,反之为字符。另外,由于拖动鼠标绘制图形随意性很强,还需编程均匀插点。为了保证数据通信正确,采用了应答和累加和的检验方法。考虑到本设计的特点,选用00H、FFH、00H、FFH作握手信号。PC机与89C51之间的通信如图2所示。多功能信号发生器是一种能够产生多种标准信号和用户自定义信号的电子仪器,并具有高精度、高稳定性、可重复性和易操作性的特点。它是一种信号源,具有连续相位变换和频率稳定等优点,不仅可以模拟多种信号,还可以对频率、幅值、相移、波形进行动态、及时控制,并能和PC机及其它模块组成自动测试系统。信号源主要给被测电路提供已知信号,然后测试有研究和实用价值的参数。信号源在自动化、雷达、电子测量等方面有着广泛的应用。现在,随着多功能信号发生器输出波形频率的进一步提高,较新的多功能波形发生器己能提供几百MHz频率的波形,从而广泛应用于诸如通讯,计算机和显示等领域。提高多功能波形发生器输出频率,需要高速的存储器和高速的D/A转换器。如今,集成电路技术的发展己有lns的砷化稼RAM产品,但是将大量砷化稼RAM用到多功能波形发生器显然价格过高,而且系统功耗较大。多功能信号发生器软件不仅简化了操作,而且更加贴近用户。它可以让工程师使用鼠标、数学方程式在PC机上以图解方式设计波形,或者从现有的波形库中取出小段波形和部分波形并以此在PC机上设计波形。用户不必编制任何程序,也不用操作面板。用户还可以利用DSO采集波形,并将所采集的波形变换为任意波形。所以利用多功能波形发生器和一台合适的DSO,用户就可以组合成一个完整的波形采集和再生工作站,完全不需要计算机和软件。近年来,仪器技术己经逐步从模拟仪器、数字式仪器、智能仪器向虚拟仪器 (Virtual Instrumentation)发展。虚拟仪器系统中最引人注目的应用就是基于VXI总线平台技术的自动测试仪器系统,这些系统很多都是用来测量和产生复杂的波形,VXI的系统资源在这些应用中具有明显的优势。现代电子技术的发展使得AWG的输出频率不断提高,波形输入更加方便,应用领域不断扩大,AWG性能和VXI资源的密切结合将成为新一代测量仪器的发展方向。多功能信号发生器作为一种激励,首先要考虑的是它的输出波形和波形参数。输出波形和波形参数将影响到多功能信号发生器的性能和应用范围。其中尤为重要的是输出频率。输出频率高是一个难点,国外的信号发生器已经达到了1GHz。国内虽然已经开始研制多功能信号发生器,并取得可喜的成果,但是信号发生器只能达到几百MHz,相比之下,国内就比较落后。因为西方国家对我国实行技术封锁,限制频率高信号源设备出口我国,从而制约我国军事、工业的发展。因而必须加紧这类产品的研制开发。首先信号发生器输出比较高的频率,才有使用价值和意义。其次从成本和开发周期角度出发,采用FPGA和单片机组合开发设计信号发生器比较合适。所以本设计选择时钟频率相对高、速度快和门级多的FPGA、高速DAC和运放产生波形。波形发生器就是要能够设置频率和幅度,所以本设计采用易控制的单片机和矩阵键盘控制幅度和频率。波形发生器还必须有频率和幅度的显示,因此本设计采用液晶显示相关信息。 方案论证方案一PC与VXI资源结合。各种计算机语言(VB、VC)的飞速发展也推动了多功能信号发生器软件技术的发展。目前可以利用可视化编程语言编写任意波形发生器的软面板,这样允许徒手从计算器显示屏上任意输入波形,实现波形的输入。由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量和产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得任意波形发生器VXI模块仅限于航空、军事及国防等大型领域。在民用方面,VXI模块远远不如台式仪器方便,且开发起来成本也高。方案二采用模拟分立元件或单片压控函数发生器MAX038, 可产生正弦波、方波、三角波, 通过调整外部元件可改变输出频率, 频率范围可达0.1HZ20MHZ,但采用模拟器件由于元件分散性大, 即使用单片函数发生器, 参数也与外部元件有关, 外部的电阻电容对参数影响很大, 因而产生的频率稳定度较差、精度低、抗干扰能力低, 成本也高; 而且灵敏性较差, 不能实现在较高频率下实现1或几HZ的步进,不能实现任意波形及波形运算输出等智能化的功能。方案三采用锁相式频率合成方案。锁相式频率合成是将一个高稳定度和高精度的标准频率经过加减乘除的运算产生同样稳定度和精度的大量离散频率的技术, 它在一定程度上解决既要频率稳定精确, 又要频率在较大范围可变的矛盾。但频率受VCO可变频率范围的影响, 高低频比不可能做得很高, 而且只能产生方波和正弦波, 不能满足多功能信号发生器的要求。方案四单片机与FPGA/CPLD结合。单片机控制能力强,但是速度慢。FPGA/CPLD的速度快,但控制能力差。二者结合即可扬长避短、株连壁合,开发出性价比高的多功能信号发生器。FPGA/CPLD开发的产品工艺简单可靠、性能稳定、保密性好、开发成本低和开发周期短,从而降低开发投资风险。因此本设计采用此方案。这种结构中主要由相位累加器、数据存储器 ROM 和D/A 变换器组成,它是一种全新的直接数字合成方式。(目前国内外文献中提到的 DDS 一般指这种直接数字合成方式,下文均指这种方式。)工作原理将要产生的波形数据存入波形存储器,然后在参考时钟的作用下,对输入的频率数据进行累加,并且将累加器的输出一部分作为读取波形发生器的地址,将读出的波形数据经 D/A 转换为相应的电压信号,D/A 转换器输出的一系列的阶梯电压信号经低通滤波后便输出了光滑的合成波形信号。以合成正弦波为例,通常我们考虑一个正弦波时习惯使用正弦波的幅度时间表达式:S(t)Asin(ax)。正弦函数幅度的非线性使依据幅度产生任意频率的正弦波非常困难,但我们注意到,正弦波的相位是线性变化的,DDS 技术的关键就在于充分利用了正弦波相位线性变化这一特性。在 DDS 芯片中,其核心部件是相位累加和 SIN 函数表,下面作简单介绍:(1)相位累加器相位累加器从功能上说实质是一个 N 位快速可循环累加器,N 位的相位累加器在每一个时钟来临时与频率控制所决定的相位增量累加一次,计数大于N时则自动溢出,保留后面 N 比特的数字于累加器中。每当相位累加器计数满后,可自动循环重新累加,所以输出相位可以保持连续变化,这就保证了输出正弦波的连续性。f0=(fc*K)/2N (2)正弦函数表相位累加器的输出是随时间不断线性变化,并用 N 位二进制数表达相位信息。相位信息是无法直接利用的,必须设法把相位信息转换成幅度信息。在 DDS 技术中,人们把对应于不同相位的 Sine 函数的幅度存储在 ROM 中,一般地,只要取相位累加器的高 A 位作为寻址信号,就完全可以满足精度的需要了。事实上,杂散多且幅度较高一直是限制 DDS 应用的主要因素。为获取一个低杂散的信号输出,对 DDS 的频谱分析就显得尤为重要。(3)理想 DDS 的谱分布所谓理想 DDS 是指不存在相位误差,幅度量化误差以及 DAC 误差。此时,整个 DDS 相当于一个理想采保电路。数字部分(NCO)相当于一个理想采样器,DAC 则相当于一个理想保持电路,其系统冲激响应为:h(t) = 10tTc 或h(t)=0else S(n) = sin(2f0nTc) = sin(2(kfc/2N)nT) = sin(2kn/2N) 信号处理理论有,时域的周期性与离散性和频域的离散性与周期性存在着对偶的关系。由S(n)的离散性,知 S(n)的频谱以 1/Tc为周期;另外可知 S(n)是周期系列,其周期为 2N/(2N,K)。其中(X,Y)表示两整数 X 与 Y 的最大公约数。由信号处理理论可知,一个离散周期系列的频谱可以这样求得:即对它的一个离散周期作 FFT 变换,所得出的频谱再进行周期拓展,从而得到这个系列的频谱。从而 S(n)的频谱是一些离散谱线,一个周期内共有 2N/(2N,K)根谱线。考虑到 LPF 的截至频率是 fc/2,且实系列的频谱关于 f0 对称,故再(0, fc/2)内,S(n)的频谱是 T2(N-1)/(2N,K)离散谱线。3.1.2 单片机部分主要完成正确接收数据和产生波形的任务。为确保随时响应,主程序产生波形,串行口中断进行通讯,通讯实现见图1的89C51系统的硬件组成由单片机,开关/显示接口电路,波形转换(DA)电路和外部SRAM等四部分组成。3.1.3 D/A转换芯片DAC0832(1)芯片简介DAC0832 是分辨率为8位,电流建立时间1S,增益温度系数0.0002 FS/,其功耗低至20mW,单一电源(+5-+15V)的D/A转换芯片。(2)内部结构及引脚功能其内部结构如下图4所示。图4 DAC0832内部结构框图引脚功能主要有:D7D0:输入数据线;ILE:输入锁存允许;CS:片选信号,用于把数据写入到输入锁存器;WR1:写输入锁存器;WR2:写DAC寄存器;XFER:允许输入锁存器的数据传送到DAC寄存器;VREF:参考电压,-10V+10V,一般为+5V或+10V;IOUT1、IOUT2:D/A转换差动电流输出,接运放的输入;Rfb:内部反馈电阻引脚,接运放输出;AGND、DGND:模拟地和数字地。(3)DAC0832工作方式DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式直通方式是使DAC0832内部的两个寄存器都处于不锁存状态,数据一旦到达输入端就直接被送到D/A转换器转换成模拟量。因此,内部的两个寄存器都始终处于直通状态,模拟输出始终跟随输入变化。此方式不能直接与数据总线连接,需外加并行接口(如74LS373、8255等),此时LE1,LE2处于常有效状态。所有控制信号都接成有效形式,和接地,接 +5V电源。 单缓冲方式是指DAC0832的两个寄存器中有一个处于直通方式,而另一个处于受控的锁存方式;或者两级寄存器同时锁存。CPU只需一次写入即开始转换。控制比较简单。此时LE1,LE2有一个是常有效状态,或处于同时有效状态。双缓冲方式(标准方式)是把DAC0832的两个寄存器都接成受控锁存方式。其优点是数据接收与D/A转换可异步进行,可实现多个DAC同步转换输出(分时写入、同步转换)。其转换要有两个步骤:将数据写入输入寄存器 CS=0、WR1=0、ILE=1将输入寄存器的内容写入DAC寄存器 WR2=0、XFER=0 3.2 多路数据采样器的设计3.2.1工作原理数据采样器的功能是对信号发生器所产生的电压信号进行采样,得到其相关参数,如幅值,频率等。其基本原理是,由对电压信号进行采样,将A/D转换得到的数字量D送到单片机进行相应的运算,然后输出显示采样结果。3.2.2 ADC0808芯片的介绍(1) 内部结构 ADC0808是单片CMOS器件,是8位模/数转换器,带有使能控制端,可以和微机直接接口。片内带有锁存功能的8路模拟多路开关,可以对8路05V的输入模拟电压信号分时进行转换,片内具有多路开关的地址译码和锁存电路、比较器、256R电阻T型网络、树状电子开关、逐次逼近寄存器SAR、控制与时序电路等。输出具有TTL三态锁存缓冲器,可直接连到单片机数据总线上。ADC0808逻辑框图如图5 所示。由于ADC0808设计时考虑到若干种模/数转换技术的长处,所以芯片非常适用于过程控制、微控制器输入通道的接口电路、智能仪器和机床控制等领域。 . 八路模拟开关及地址锁存与译码器 八路模拟开关用于输入IN0-IN7上八路模拟电压。地址锁存和译码器在ALE信号控制下可以锁存ADDA、ADDB和ADDC上地址信息,经译码后控制IN0-IN7上哪一路模拟电压送入比较器。例如:当ADDA、ADDB和ADDC上均为低电平0以及ALE为高电平时,地址锁存和译码器输出使IN0 上模拟电压送到比较器输入端VIN。 图5 ADC0808逻辑框图. 256电阻阶梯和树状开关 为了简化问题,现以二位电阻阶梯和树状开关(见图10.9)为例加以说明。图中,四个分压电阻使A、B、C和D四点分压成2.5V、1.5V、0.5V、和0V。SAR中高位D1控制左边两只树状电子开关,低位D0控制右边四只树状开关。各开关旁的0和1表示树状开关闭合条件,由D1D0状态决定。例如:D1=1,则上面开关闭合而下面开关断开,D1=0时的情况正好与此相反。树状开关输出电压VST和D1D0关系列出于表1。 表1 VST和D1D0关系表 D1 D0VST0 0 0V 0 1 0.5V 1 0 1.5V 1 1 2.5V (2)引脚功能 ADC0809采用双. IN0IN7(8条):IN0IN7为八路模拟电压输入线,用于输入被转换的模拟电压. 地址输入和控制(4条):ALE为地址锁存允许输入线,高电平有效。当ALE线为高电压为地址输入线,用于选择IN0IN7上哪一路模拟电压送给比较器进行A/D转换。ADDA、ADDB和ADDC对IN0-IN7的选择如表2所列。 . 数字量输出及控制线(11条):STA宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入“三态输出锁存器”。2-12-8为数字量输出线,2-1为最高位。OE为“输出允许”线,高电平时能使2-12-8引脚上输出转换后的数字量。 . 电源线及其它(5条):CLOCK为时钟输入线,用于为ADC0809提供逐次比较所需640K时钟脉冲序列。VCC为+5V电源输入线,GND为地线。VREF(+)和VREF(-)为参考电压输入线,用于给电阻阶梯网络供给标准电压。VREF(+)常和VCC相连,VREF(-)常接地。 表2 4 软件设计41 信号发生器部分 信号发生器主要包括:信号产生、D/A转换和LCD显示几个部分,因此在设计时D/A转换的速率和精度,LCD显示的准确性等问题。我们所设计的软件流程图如图6所示,程序清单见附录2。串口初始化,设置波特率N下载开关闭合?等待Y接受上位机器数据保存数据N下载开关断开读取波形数据,修改指针 启动D/A 发送波形下载开关闭合?YNY图6 信号发生器部分流程图42 数据采集部分主要包括:A/D采样和LCD显示两个部分,因此在设计软件时需要考虑到A/D采样的速率和转换精度,LCD显示的准确性等问题。我们所设计的软件流程图如图7所示,程序清单见附录2。显示欢迎界面开始清屏INT0和INT1初始化,设置T0为50毫秒,计数20次开T0和INT0中断显示电压频率幅值按键扫描有按键按下?修改时基和电压分度采样60个点最大值保存为幅值计算出采样点在LCD中位置并显示NY图7 数据采样器流程图5 总结1. 小组总结经过这次短短几天的课程设计,我们终于在整个小组成员的协调努力下,圆满的完成了此次设计的任务。通过这次设计,我们学到了很多书本上没有的知识:(1) 培养了我们的团队合作精神,通过这次分工,我们明白了团结合作的重要性,由于此次设计有软硬件之分,所以大家的分工都比较明确,大家各司其职,共同研讨,这种合作精神对设计的成功起了很大的作用。(2) 发扬了我们刻苦钻研,勇于拼搏的科研精神,整个设计过程就是一个不断发现问题,解决问题的过程,我们逐渐学会了知识的分析,发现,解决以及融会贯通的能力,真正做到了学以致用。(3)通过理论和实践的有效结合,使我们对计算机控制系统的理论知识,特别是C程序的设计与执行流程部分都有了更为深刻的了解。总之,这次的设计虽然仍有一些不足,但却极大程度上提高了我们的能力,为我们以后的学习工作积累了宝贵的经验。 最后,我们诚挚地感谢我们的指导老师李楠老师,感谢他的的耐心帮助和全力支持,同时也感谢学院给我们提供这样一次锻炼自己的好机会!2个人总结(组长杨弋心得体会):本次课程设计,是设计一个多路数据采集控制器系统。在这课程设计中,使我加深了对模块化程序的认识,对子程序的调用有了进一步的认识,不再像以前停留在课本上空泛的内容了,提高自己解决问题的能力,培养了我们在程序设计中相互合作和协调的能力,也增进了小组成员之间的友谊。本次程序我主要负责系统整体安排,LCD显示设计以及大部分程序的整和。在信号发生器模块设计时,我遇到一个难题:实验箱上提供的D/A转换模块是单极性输出,因此不能输出负电压,在输出正弦波时自然有困难。通过反复思考,我想到了一个较好的解决方法,那就是通过算法来弥补硬件上的不足。具体算法程序中会涉及。在编写程序的过程中,开始由于大家各自设计自己负责的部分,出现了许多意想不到的事情,更多的是程序兼融的问题,从而花费了大量的时间在程序的修改和调整,认识到这些问题我们小组进行了激烈而且有效的讨论,使我感受到了团队协作的重要性没有有效的沟通,许多问题是无法得不到有效地解决的。同时在这次设计中,提高了我们的文件检索能力,和对这些材料的整合和再利用的能力。感觉我们还有许多东西要明白和理解,许多东西都是要在生活中去学习,也让我们学会了团队的合作和紧密配合。大家的努力,才使得我们克服重重困难,完成了任务.相信在以后的学习中,通过我们的合作,我们能取得更大的进步! (组员任召宝心得体会):我们小组在这次课程设计中做的课题是:设计一个多路数据采集控制器系统,设计时间是一个星期。这次课程设计加深了我们对模块化程序的概念,特别是对一个大程序,通过对不同功能的分解,形成不同的模块,然后组合起来完成设计。 我在本组的任务是做DA转换,也就是信号发生器部分的DAC0832芯片的设计。主要涉及将通过单片机的P0口送出数字量D,经由DAC0832进行D/A转换得到所需要的电流信号,再通过I/V转换将电流信号转换成电压信号。开始设计程序时,感觉不知从何下手,大家分工不明确,使得程序一致性不好,大家缺乏沟通,进展缓慢,在组长杨弋的组织下,大家相互合作,特别是杨弋详细给我们阐述了程序的主体内容,又在程序的语句后面添加了详细的说明,这就使得程序更加清晰易懂,明白了程序的主体内容后,大家也就更加容易交流,进展也相应提高了.通过本次课程设计,我深刻体会到团队的重要性,大家相互取长补短,共同努力,才能最后按时完成设计., 心得体会:这次课程设计,我们组做的是设计一个多路数据采集控制器系统。在这一个周的时间里,我学到了很多东西.并且在学习的过程中发现了很多乐趣。这为进一步掌握硬件软件和仿真知识,提高自己解决问题的能力有了很大的帮助。同时,也增进了同学之间的友谊。在这次设计中,我的主要工作是部分电路的整和、多路开关以及报告的撰写。我负责的电路整和是非常重要的,因为其他成员编写的程序,如果有的地方不是很合理,就会给其他整个实验带来很大的不便。报告的撰写也非常重要,它是体现我们设计成果的东西。在编写程序的过程中,为了使各模块能够充分的发挥各自的作用,不至冲突,我与各位组员进行了积极有效的讨论,协调各模块之间数据传送和程序段命名问题。我感受到了团队协作的重要性,没有沟通交流,这些问题是得不到解决的.在这次设计中,提高了我们的文件检索能力,和对这些材料的整合和再利用的能力。感觉我们还有许多东西要明白和理解,明白了自己学到的是原理,许多东西都是要在生活中去学习,也让我们学会了团队的合作和紧密配合,同时也感谢学院给我们这样的一个实践自己的机会。心得体会:课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用空前活跃,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机相关的开发设计技术是十分重要的。本次课程设计我主要负责A/D转换部分及部分电路整合,熟练的掌握了A/D574、A/D1674和单片机C语言编程;更进一步掌握了编写一个复杂程序的方法及步骤;培养了自己发现问题,分析问题,解决问题的能力。程序大部分是用C语言编写的,把计算机控制系统、汇编原理、单片机、C语言四门学科联系起来,把各个学科之间的知识融合起来 ,把各门课程的知识联系起来,对计算机整体的认识更加深刻。使我加深了对计算机控制系统、汇编原理、单片机、C语言四门课程的认识。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。通过这次设计,我才真正领略到“艰苦奋斗”这一词的真正含义,我才意识到老一辈电子设计者为我们的社会付出。我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以,而且设计也是一个团队的任务,一起的工作可以让我们有说有笑,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里一年的相处还赶不上这几天的合作,我感觉我和同学们之间的距离更加近了;我想说,确实很累,但当我们看到所做的成果时,心中也不免产生兴奋; 正所谓“三百六十行,行行出状元”。我们同样可以为社会作出我们应该做的一切,这有什么不好?我们不断的反问自己。也许有人不喜欢这类的工作,也许有人认为设计的工作有些枯燥,但我们认为无论干什么,只要人生活的有意义就可。社会需要我们,我们也可以为社会而工作。我们决定沿着自己的路,执着的走下去。同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。某个人的离群都可能导致导致整项工作的失败。只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们、成功的一项非常重要的保证。对我们而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我们人生旅途上一个非常美好的回忆!这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!附 录附录1 硬件连接图附录2 程序清单主程序#include #include #include #include #include sbit DI=P22; / 数据指令 选择sbit RW=P21; / 读写 选择sbit E=P20; / 读写使能sbit CS1=P24; / 片选1sbit CS2=P23; / 片选2sbit busy=P17;sbit jia=P37;sbit jian=P33;sbit jia1=P30;sbit jian1=P31;unsigned char i;uchar ye,lei,shu; static uchar count=0; uint F_count=0,Fre; unsigned char idata a62; #includevoid dispaly_f(uint f);void initTimer(void) TMOD=0x1; TH0=0x40; TL0=0x6f;/timer0/counter0 interruptvoid timer0(void) interrupt 1 TH0=0x40; TL0=0x6f; count+; if (count=20) count=0; Fre=F_count; F_count=0; TR0=1;/int0 interruptvoid int0(void) interrupt 0 F_count+;/add your code here/the main funvoid opne_Fre(void)IT0=1; /INT0下降沿中断EX0=1; /允许INT1中断initTimer();TR0=1;ET0=1;EA=1;void delay_5s()uint j,t; for(t=0;t10;t+) for(j=0;j6245;j+) ; void main() uchar r,j,k,g=1,q,dianya=1; cleanall(); init();opne_Fre();/*for(i=0;i250;i+);writehz(0xba,0x40,1,duo); writehz(0xba,0x50,1,lu);writehz(0xba,0x60,1,su);writehz(0xba,0x70,1,ju);writehz(0xba,0x40,2,cai);writehz(0xba,0x50,2,ji);writehz(0xba,0x60,2,xi);writehz(0xba,0x70,2,tong);delay_5s();*/ init(); cleanall(); cleanscreen(); writehz(0xb8,0x40,2,div0); writehz(0xba,0x40,2,div1); writehz(0xbc,0x40,2,div2); writehz(0xbe,0x40,2,div3); writehz(0xb8,0x50,2,ping); writehz(0xb8,0x60,2,lv); writesz(0xb8,0x70,2,maohao); writehz(0xba,0x70,2,Hz); writehz(0xbc,0x50,2,fu); writehz(0xbc,0x60,2,zhi); writesz(0xbc,0x70,2,maohao); writehz(0xbe,0x70,2,V);again: display_f();for(k=0;k50;k-) uchar d1,d2,d3,d4,d5;while(jia=0) while(jia=0); g=g*2; while(jian=0) while(jian=0); if(g!=1) g=g/2; while(jia1=0) while(jia1=0); dianya=dianya+1; while(jian1=0) while(jian1=0); if(dianya!=1) dianya=dianya-1; for(j=0;ja61) a61=aj; if(aja62) a62=aj; delay_50us(g); while(AD!=a61) adc(); for(j=0;j60;j+) /AD采样 adc(); aj=AD; delay_50us(g); lei=0x41; for(r=0,j=0;r60;r+,j+) if(j=63)i=2;qing();if(aj=127)/正电压 AD=(aj-127)*0.188/dianya; /计算在12864的电压值 if(ADAD);else if(AD(AD-8); else if(AD(AD-16); else if(AD(AD-24);if(aj127)/负电压AD=(127-aj)*0.188/dianya; if(AD=7) ye=0xbc,shu=(0x01(AD); else if(AD=15) ye=0xbd,shu=(0x01(AD-8); else if(AD=23) ye=0xbe,shu=(0x01(AD-16);else if(AD=31) ye=0xbe,shu=(0x01d1) d5=shu; d5=d51; / while(d5!=d1) d5=d51; shu=shu|(shu1); if(shud1) d5=shu; d5=d51; while(d5!=d1) d5=d51;shu=shu|(shu1); if(yed2) for(q=0;q7;q+) shu=shu|(shu1); pianxuan(1); shuju(); ye+; while(yed2) shu=0xff, pianxuan(1),shuju(),ye+; if(ye=d2) shu=0x01; if(shud1) d5=shu; d5=d51; while(d5!=d1) d5=d51; pianxu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中铁十五局集团上海智慧交通科技有限公司招聘22人笔试题库历年考点版附带答案详解
- 2025年呼吸科患者气道管理技术考核模拟试题答案及解析
- 2025年网络安全行业网络安全风险与数据隐私保护研究报告
- 2025年放射肿瘤科放射治疗计划设计模拟考试答案及解析
- 2025年共享经济行业共享经济模式创新与共享经济监管政策研究报告
- 2025年农产品行业农产品电商发展模式研究报告
- 2025年农产品行业产地直供模式研究报告
- 2025年建筑工程行业智能建造技术应用前景展望研究报告
- 曹操献刀课件
- 2025年智慧农业行业农业大数据应用案例探讨报告
- 板块六 学案40 赏析意象(景象)与意境-分析内涵品象悟境
- 村集体山林管理办法
- 数独教学课件
- 海绵印拓画课件
- 2025年科技创新与成果转化的知识能力考核试题及答案
- 2025至2030中国惯性导航行业投资现状与前景预测分析报告
- 轻型卒中临床诊疗中国专家共识(2024版)解读
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读
- 耳机品质协议书范本
- 2025版VI设计合同范本
- 人美版五年级上册5.绘画中的透视现象一等奖教案设计
评论
0/150
提交评论