电气自动化毕业设计论文 MC68HC08单片机AD与DA转换系统的设计_第1页
电气自动化毕业设计论文 MC68HC08单片机AD与DA转换系统的设计_第2页
电气自动化毕业设计论文 MC68HC08单片机AD与DA转换系统的设计_第3页
电气自动化毕业设计论文 MC68HC08单片机AD与DA转换系统的设计_第4页
电气自动化毕业设计论文 MC68HC08单片机AD与DA转换系统的设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计(论文)题 目mc68hc08单片机a/d与d/a转换系统的设计 系 (院)自动化系专 业电气工程与自动化班 级2008级1班学生姓名 stefine 学 号2008090116指导教师yage职 称讲 师二一二年六月十五日独 创 声 明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。据我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。作者签名: 二一二年 月 日毕业设计(论文

2、)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定)作者签名: 二一二年 月 mc68hc08单片机a/d与d/a转换系统的设计摘 要伴随着工业的快速发展,基于单片机的转换器在工业控制、仪器仪表、家电产品的应用与日俱增。但是,但是大多数单片机还存在价格偏高、引脚利用率较低的问题。于此,我

3、们提出一种性价比高,在实际应用中具有价格竞争力的基于motorola 单片机的a/d、d/a转换技术。文中详尽地介绍了转换系统的设计方案和硬软件模块组成,并运用protel99se绘画出电路原理图,本电路主要由d/a转换器max550a,单片机mc68hc08组成,因为所采用单片机内含有a/d转换模块,所以此次设计中不需采用a/d转换器。设计中采用可调电阻来调节电压作为模拟信号的输入量,通过单片机内部模数转换模块来完成模数转换,并将结果显示出来。通过max550a完成数模转换,并利用发光二极管的亮暗程度显示其结果。关键词:a/d转换器,d/a转换器,单片机,max550aa design of

4、 the mc68hc08 microcontroller a / d and d / a conversion systemabstractaccompanied by the rapid industrial development, microcontroller-based converter in the increasing application of industrial control, instrumentation, home appliances. however, such single-chip high prices, lower pin utilization.

5、 here, we propose a cost-effective,competitively priced motorola microcontroller a/d,d/a conversion technology in practical applications.detailed text conversion system design and hardware and software module composition, and use of the protel99se drawing out the circuit schematic, this circuit by t

6、he d/a conversion device max550a microcontroller mc68hc08 composition, by using the microcontroller contains a/d,conversion module, so this design do not need a/d converter.the design of the adjustable resistor to regulate the voltage as an analog signal input through the microcontrollers internal a

7、nalog to digital conversion module to complete the analog-digital conversion, and the results are displayed. max550a completion of the digital to analog conversion, and use degree of light and dark of the light-emitting diode display the resultskey words: a / d converter,d / a converter,microcontrol

8、ler,max550a目 录第一章 绪论11.1 研究背景11.2 a/d、d/a技术发展历程11.3 a/d、d/a转换器的主流工艺技术21.3.1 双极工艺21.3.2 cmos工艺21.3.3 bicmos工艺2第二章 a/d、d/a转换技术32.1数字滤波32.2 d/a转换32.2.1 t型权电阻网络d/a转换器42.3 d/a转换器的指标5第三章 系统硬件的设计73.1 motorola单片机的介绍73.1.1 引脚功能说明:73.2 晶体振荡及外接电路设计93.3 单片机a/d转换103.4 d/a转换器133.4.1 max550a介绍133.4.2 max550a引脚说明14

9、3.4.3 工作原理及操作方式153.4.4系统整体效果图17四章 系统软件的设计194.1 a/d子程序设计194.1.1 a/d转换程序224.2 d/a转换程序设计224.2.1 d/a转换程序244.2.2 d/a转换程序框图264.3 motorola程序编译环境26第五章 总结28参考文献29致 谢30附录一31附录二37第一章 绪论1.1 研究背景在机械、动力或电子工程等领域内,对一个动态运行的系统进行测试,就是对它产生的电、磁、光以及力学量力、振动、位移、加速度等进行测试。这些动态变化的量就是我们所需要测量的信号。这些信号实际上是一个随时间变化而变化的函数,它包含了大量的信息,

10、通过这些信息我们就可以更加便捷地辨别这个系统,分析这个系统,以便可以很好地控制这个系统。但是问题的关键在于如何去提取我们想要得到的信息,还有就是如何去处理信息,而单片机是收集和处理信息最好的工具。然而单片机处理的是数字量。这就需要对信号采样,将模拟量转换为数字量就是a/d转换,然后对单片机转换后的数字量进行提取和处理。有时还需要对数字量进行转换输出,从而达到控制一个系统的目的,这就是d/a转换。图1-1给出了这种系统的结构。 采样/保持多道开关放大器传感器 a/d转换接收源信号源多道开关单片机d/a转换接收源 图1-1a/d、d/a转换系统的结构1.2 a/d、d/a技术发展历程 自20世纪初

11、以来,电子器件经历了从电子管、晶体管、到集成电路的发展历程,电子计算机也随之由电子管型发展到晶体管型,再从晶体管型发展到集成电路型。进入五十年代中期以后,才逐渐转向晶体管型。六十年代中期开始,a/d和d/a的转换器的主要单元电路逐渐构成,如基准电压源、逻辑控制电路、电压比较器、运算放大器、模拟电子开关和电阻网络等已陆续实现集成化。因此,人们逐渐放弃了传统而复杂的制作工艺,开始应用一些具有某一种特定功能的集成模块电路,并且适当地添加一些元器件,使制作出来的产品更加理想化,这种结构形式既优化了产品性能又简化了组装结构。二十世纪初期诞生了第一个单片式高位集成化转换器,这标志着a/d、d/a转换器进入

12、工业生产的新阶段。与组件型和混合型的转换器相类比,单片集成转换器更加具有生产成本低和容易获得良好的温度特性的优点。因此,伴随着工艺生产的要求,单片式集成化转换器很快就成为了a/d和d/a转换器的主流产品1。1.3 a/d、d/a转换器的主流工艺技术 由于a /d 、d/a转换器应用范围比较广泛, 对它的性能要求也各不相同。基本上半导体技术都可以用于制造a /d 、d/a 转换器。1.3.1 双极工艺双极工艺是最早得到开发并应用于制作a/d、d/a转换的半导体技术,。早期的转换器大都是选用双极工艺技术来制作的, 如最早由paul brokaw所设计的单片a/d转换器ad571。1.3.2 cmo

13、s工艺cmos工艺技术又叫作互补式金属氧化物半导体技术,cmos是受电压控制的一种放大器件。这种技术出现于20世纪60年代中期,其已经遵循摩尔定律发展了几十年,至今仍被广泛应用。一方面cmos 工艺正在朝300mm圆片、45nm、3 2nm线宽的方向快速发展, 当其作为商业用途时的尺寸还不到0.1m;一方面,伴随着工艺的不断进步,cmos 技术已从单独的数字电路的应用发展到在混合、模拟信号和射频电路领域内的应用。1.3.3 bicmos工艺bicmos是继cmos后的新一代高性能vlsi(超大规模集成电路)工艺,bicmos是cmos和双极器件同时集成在同一块芯片上的技术,其基本思想是以cmo

14、s器件为主要单元电路。因此bicmos电路既具有cmos电路高集成度、低功耗的优点,又获得了双极电路高速、强电流驱动能力的优势。通过对双极工艺和cmos工艺各自优点的适当搭配,可以得到单独采用上述两种工艺技术所无法达到的效果。第二章 a/d、d/a转换技术2.1数字滤波在模数转换的过程中需要对所收集的信号进行处理, 由于或多或少的会混入随机干扰,这会使信号中混入无用信号, 这时就得采用滤波器对被测信号进行筛选,去除无用的干扰信号。数字滤波器的工作方式与模拟滤波器的工作方式大不相同,模拟滤波器主要是依赖于电容器、电阻器、晶体管等元件组成的网络来实现对信号的滤波功能,而数字滤波器是利用数字运算器件

15、对输入的信号进行处理和运算,从而实现对信号的滤波。数字滤波器具有比模拟滤波器更高的精度,与模拟滤波器相比较数字滤波器具有更高的信噪比。这是因为数字滤波器主要是以数字器件执行运算,所以避免了受到模拟电路中噪声(如电阻热噪声)的影响。因此,它具有更高的精度、可靠性和稳定性, 因此被广泛用于克服随机干扰而带来的误差。下面介绍一些常用的数字滤波方法。(1)算术平均值滤波设有n次采样值x1、x2、xn,算术平均值滤波法就是要找到一个y值,使y与每个采样值之差的平方和最小。算术平均值滤波法的优点之处就是算法简单,缺点就是滤波过程中需要较多的的采样结果才可能得到比较理想的结果。(2)中值滤波法 把连续三次采

16、样的结果进行排序,得得x1x2x3,取这三个采样值的中间值x2为有效信号。由此,中值滤波便能有效地去除偶然性干扰信号,如果干扰信号存在的时间比较长,那么中值滤波法将失去滤波效果。 (3)中值平均滤波法设有n个采样值,排序后去掉一个最大值和一个最小值,在剩下的采样值中取平均值即为滤波结果。中值平均滤波是中值滤波和算术平均滤波的综合,既能排除偶然性干扰信号,又能平滑滤波,但程序较为复杂,运算量大2。2.2 d/a转换 数字量是由连续的数字构成的,每一位数字都对应了一个特定的权。要把一个数字量成功地转换成模拟量,就必须把每一位上的代码按照权来转换成对应的模拟量,再把各模拟量相加,这样总的模拟量便对应

17、于给定数据。在集成电路中,常用t型网络实现数字量往模拟电流的转换,再用运算放大器来完成模拟电流到模拟电压的转换。所以,要把一个数字量转换成一个模拟量,实际上需要两个不同的环节:即先把数字量转换成模拟电流,这由d/a转换起来完成;再将模拟电流转换成模拟电压,这由运算放大器来完成。有的d/a转换器只有前一个环节,有的d/a转换器却两个环节都有3。 根据电阻网络的结构可以分为权电阻网络d/a转换器、t型电阻网络d/a转换器、倒t型电阻网络d/a转换器、权电流d/a转换器等形式。2.2.1 t型权电阻网络d/a转换器从图2-1中可见,在d/a转换时,如果采用独立的权电阻,那么,对于一个8位的d/a转换

18、器,需要r、2r、4r、128r等8个阻值互不相同的电阻,而这些电阻的误差要求又比较高,这样,工艺实现起来就比较难。所以,n 个并联输入支路的方案不实用。 图2-1独立权电阻d/a转换器图2-2采用t型电阻网络的d/a转换器从图2-2中可看到,一个支路中,如果开关倒向左边,那么,支路中的电阻就接到地,如果开关倒向右边,那么,电阻就接虚地。所以不管开关倒向哪边,都可以认为是接地,但只有开关倒向右边时,才能给运算放大器供电。 t型电阻网络中,节点a的左边为两个2r的电阻并联,它们的等效电阻为r,以此类推,最后,在d点的等效于一个数值为r的电阻连在参考电压vref上。这样,就容易算出,c点、b点和a

19、点的电位让开关k3、k2、k1、k0 各对应于1位二进制数,当二进制数为1111b时,流入运算放大器的电流为: (2-1)相应的输出电压: (2-2)2.3 d/a转换器的指标(1)分辨率 d/a转换器的分辨率是指dac电路所能分辨的最小输出电压与满量程输出电压之比。最小输出电压是指输入数字量只有最低有效位为1时的输出电压,最大输出电压是指输入数字量各位全为1时的输出电压。dac的分辨率可用下式表示:分辨率1/(2n1)式中,n表示数字量的二进制位数。dac产生误差的主要原因有: 基准电压vref的波动,运放的零点漂移,电组网络中电阻阻值偏差等原因。 (2)转换误差转换误差常用满量程fsr的百

20、分数来表示。有时转换误差用最低有效位lsb的倍数来表示。dac的转换误差主要有失调误差和满值误差。dac的分辨率和转换误差共同决定了dac的精度。要使dac的精度高,不仅要选择位数高的dac,还要选用稳定度高的参考电压源vref和低漂移的运算放大器与其配合。(3)建立时间 建立时间是指输入数字量变化后,输出模拟量稳定到相应数值范围所经历的时间,是描述dac转换速度快慢的一个重要参数。 其他指标还有线性度、转换精度、温度系数、漂移等。第三章 系统硬件的设计单片微型计算机简称单片机,是典型的嵌入式微机控制器。单片机具有集成度高、功能强、易于掌握、应用灵活、可靠性高、价格低廉等优点,在工业控制、机电

21、一体化、通信终端、智能仪表、家用电器等诸多领域中都有广泛的应用。已成为传统机电设备升级为智能化机电设备的重要手段。3.1 motorola单片机的介绍mc68hc08系列单片机是motorola公司最新推出的新型8位单片机,它采用了0.35m工艺,速度更快,总线速度可达到8mhz,具有功能强及价格低等优点,特别是带有闪速(flash)存储器,具有更高的性能价格比。mc68hc08是在mc68hc05的基础上发展而来的,具有16位多功能定时模块,并行口具有拉高、开路、键中断、大电流驱动等功能,具有uart、spi、a/d等特殊i/o部件。mc68hc08单片机虽然性能比mc68hc08单片机高得

22、多,但价格却不会比mc68hc08高,是mc69hc08公司今后主要发展的8位单片机。从m68hc05系列到m68hc08系列,m68hc08系列单片机的升级与优化是多方面的,最重要的、革命性的优化在以下3个方面:(1) 应用了锁相环技术,使得外部时钟频率降到32khz,而内部时钟高达32mhz。这一改进大大降低了应用系统的噪声,提高了应用系统的抗电磁干扰能力。(2) 应用了flash技术,使得应用程序实现了在线编程的功能,可谓是过去的一次性可编程型和掩膜型产品的革命。(3) 与mc68hc05向上兼容,增加了78条指令,并且大大优化了m68hc08 cpu指令集,特别是将m68hc05固定的

23、8位堆栈指针优化为16位浮动堆栈指针,使得c语言这类的高级语言的应用成为可能4。鉴于mc68hc08单片机的诸多优点,该转换系统的设计就以这个单片机为基础进行开发。3.1.1 引脚功能说明:mc68hc08单片机虽然看上去只有四十只管脚,但是,因为几乎所有的管脚都是复用的,所以从功能上来讲,可以说的引脚不止四十只。主要可分为电源,晶振,abcde五组端口,中断,复位等等。其引脚如图3-1所示:图3-1 mc68hc08芯片引脚图(1) vdd和vss:电源供给端.mc68hc08使用的是单一电源供电,一般在vdd和vss之间接入旁路电容。(2) osc1、osc2:振荡器引脚。(3) :低有效

24、复位输入或输出。当任意一个内部中断源有效时,该管脚输出低电平,有内部上拉电阻。(4) :外部中断输入脚,有内部上拉电阻。(5) vdda和vssa:时钟发生模块模拟部分的电源供给端,与数字电源相似。这两个引脚也应有去耦电路。 (6) cgmxfc:时钟发生模块外部滤波电容连接脚。(7) vddad和vssad:a/d转换器电源供给端,两管脚间也应去耦。(8) vrefh和vrefl:a/d转换器的高和低参考电压输入端。它连之与vddad vssad相同的电位上。(9) pta7/kbd7pta0/kbd0:8位通用双向i/o口。每一位都可编程为键盘输入脚。作输入时,可选择有上拉电阻。(10)

25、ptb7/ad7ptb0/ad0:8位通用双向i/o口,可用作a/d输入。(11) ptc6ptc0:7位通用双向i/o口。作输入时,可选择有上拉电阻。(12) ptd7/t2ch1ptd0/:8位特殊功能、双向i/o口。ptd0ptd3可用作spi脚,ptd4ptd7可分别用于定时器模块t1m1、t1m2。在做输入时,可选择有上拉电阻。(13) pte1/rxd、pte0/txd:2位通用双向i/o口。它们可用作sci引脚。在使用过程中,任何一个没有用到的引脚和i/o口都应当连接到适当的逻辑电平,vdd或vss上11。现介绍几组比较重要的管脚。首先介绍abcde五组数据端口,每组端口都有两个

26、寄存器,一个是方向寄存器,用来说明这个端口数据传输的方向,也就是说明端口是用作输入端口还是输出端口。五个端口的方向寄存器分别是ddra、ddrb、ddrc、ddrd、ddre,都是八位的寄存器,分别是对应管脚的数据传输方向。另外一个是数据寄存器,也是八位的。分别是pta,ptb,ptc,ptd,pte。端口用作输出端口时,可以向寄存器内写入数据。端口用作输入端口时,可以将寄存器内的数据读出。当寄存器中的某一位为1时,端口管脚为高电平,当为0时,端口管脚为低电平。比如,想让b端口的第2位(作输出)为低电平,则写作ptb2=0。除此之外,还有一些比较常用的管脚,如中断信号管脚,它平常为高电平,当收

27、到低电平信号时就会产生一个外部中断;晶振osc2 、osc1 和comxfc,外接单片机的振荡电路;复位信号管脚。3.2 晶体振荡及外接电路设计晶振电路由内部反相器和一个外接晶体组成。osc1是一个输入引脚,osc2是一个输出引脚。外接晶振频率的范围是30khz100khz,典型值为32.768khz,串联电阻rs,取值范围是330k470 k,典型取值330k,反馈电阻rb,取值范围是10m22m,典型取值10m。两电容取值在6pf40pf范围内选择,两者取值应略有差异,以利于晶振电路起振。在该设计中,外界晶振、串联电阻和反馈电阻都取的典型值,两电容分别取33pf和36pf。除osc1和os

28、c2两个引脚外,还有以下三个引脚:(1)pll外部滤波电容器引脚cgmxfc,该引脚连接一个外接滤波网络,为芯片内部的锁相环电路提供误差电平。(2)pll电路电源引脚vdda,该引脚应该和vdd引脚连接到同一电源,并连接约0.1 u f的滤波电容,同时尽量靠近芯片。(3)pll电路电源地引脚vssa,该引脚连接到系统地线,引线尽量宽而短。需要格外说明的是,由于时钟电路会对其他电路造成干扰,所以在电路板布线时,将时钟电路的外接器件都用地线围了起来,而且晶体应采用卧式安装,将外壳焊接到了地线上。在元件布局时,滤波网络应该尽量靠近了单片机,用最短的连线连接5。晶体振荡及外接电路的原理图如图3-2所示

29、。图3-2 晶振电路图3.3 单片机a/d转换在mc68hc08中含有一个8位的12路adc转换器。它含有adc状态寄存器adscr、adc数据寄存器adr以及时钟寄存器adiclk。a/d转换器的12路输入引脚分别为ptb7ptb0和ptd3ptd0。可以选择其中的任何一个引脚作为a/d的电压输入,a/d通过近似连续的计算器值来确定转换结果,其精度为8位。当转换结束时,将结果放入adc寄存器adr中,并且设置对应标志或产生中断。ptb7ptb0和ptd3ptd0可作为普通的i/o引脚或adc 的输入。通过设定adc状态寄存器adscr来选择哪一路作为adc输入,一旦设置为adc输入,其作为普

30、通i/o口的功能失效,这时,其他未设为adc输入的引脚保持其正常的i/o功能。adc转换为线性转换。高于vss时,其结果为$ff;低于vdd时其结果为$00。每次转换要16个adc内部时钟。adc从写adscr信号的第一个adc内部时钟的上升沿开始转换。在adc内部时钟为1mhz时,其完成一次转换需要耗时16s。当连续转换时,adc对所选通道进行连续转换,并且每次都对adc的数据寄存器adr进行更新,而不管读出与否。转换通过对adscr的adc0位清零来终止。每次转换完后coco位置1,可以通过写adc状态控制寄存器或读adc数据寄存器来清零。当aien置1时,允许adc转换结果中断,且若co

31、co位为0,则会发生中断。但是允许中断时,coco位并不是作为转换结束标志。在低功耗等待模式下,adc正常工作,adc中断可以将cpu从等待模式中唤醒。倘若不希望adc中断将其唤醒,可以在执行wait指令前,把adc状态控制寄存器的ch4ch0设为1来关闭adc。在低功耗停止模式下,adc停止工作,放弃当前的转换。程序一旦退出停止模式,adc转换继续进行。在退出停止模式之后,继续转换之前会有一个转换时间来稳定转换电路。adc状态控制寄存器(adscr)adscr的结构如表3-1所示。地址:$003c表3-1 adscr结构读cocoaienadc0adch4adch3adch2adch1adc

32、h0写复位值00001111adscr中各位的意义如下:coco:转换结束位。当aien为0时,coco位只读,每次转换完毕,coco置1。可以通过写adc状态控制寄存器或读adc数据寄存器来清0。复位时该位会清0。 1=转换结束;0=转换未结束; 0=中断允许;aien:adc中断允许位。若该位为1,adc转换结束后中断发生。当写adc状态控制寄存器时adscr或读adc数据寄存器adr时信号清0。 1=adc中断允许;0=adc中断禁止。adc0:adc连续转换位。1=连续adc转换,每次更新;0=单次adc转换,复位时清0。adch4adch0:adc通道选择位。adch4adch0 用

33、于选择adc通道。特别要注意的是,当引脚同时为模拟输入和数字数字输入时,切换会产生开关噪声。当adch4adch0所有位设为1时,关闭adc,这样可减少单片机的消耗。复位时都是17。adc数据寄存器(adr)8位转换结果,每次转换后更新。其结构如表3-2地址:$003d表3-2 adc数据寄存器 7 6 5 4 3 2 10ad7ad6ad5ad4ad3ad2ad1ad0adc时钟寄存器(adiclk) 用于选择adc时钟。其结构如表3-3地址:$003e表3-3 adc时钟读写adiv2adiv1adiv0复位00000000adiv2adiv0用于选择adc内部时钟的分频率,adc时钟应设

34、在1mhz左右。在mc68hc08中,与a/d有关的引脚有芯片电源引脚vdd、vss,a/d转换器的电源机及参考电压引脚vddad/vrefh和vssad/vrefl,a/d转换输入通道引脚ad0ad7。在连接方面,只要将vddad/vrefh接至vdd,vssad/vrefl接至vss即可。为减小噪声干扰,应该在vddad引脚上加旁路电容并使电容尽可能地靠近芯片6。a/d转换电路的原理图如图3-3所示。其中rp1是可调电阻,来模拟传感器模拟量的输入;j1、j2、j3都是插针;string是现场模拟量的输入端;j7和j8是连接在a口和b口得两个排阻,避免管脚悬空;t10是电容。j1、j2、j3

35、平时是断开的,插上叉子时才会联通,只连接j2时,它和rp1组成回路,通过调节rp1进行模拟量的输入,只连接j1和j3时则是string和j1、j3组成回路,可以将现场的传感器采集的模拟量输入到单片机中。图3-3 a/d转换原理图3.4 d/a转换器maxim为工业、通信、计算以及消费类应用提供260 种以上的高精度、通用da转换器。这些高性能da转换器的设计完全满足客户对高精度、多通道的性能需求,分辨率从8 位至16位,采样速率最高可达4.3gsps。max550a是美信公司生产的高速串行数模转换器, 其最高转换速度可达10mhz, 可用于需要高速模拟量输出的场合。3.4.1 max550a介

36、绍max550a是8位电压型低功耗数据转换芯片。其引脚如图3-4所示,其内部结构如图3-5所示, 转换器的简化电路如3-7图其内部由输入移位寄存器及控制逻辑、1个dac输入寄存器、1个dac寄存器、1个r-2r梯形解码电阻网络组成. 输入移位寄存器及控制逻辑的功能是接受串行输入的2进制数, 并实现dac输入寄存器、dac寄存器数据的加载及更新, 通道的8位数字量经过dac输入寄存器、dac寄存器两级缓冲, 直接到r- 2r梯形解码电阻网络解码输出模拟量, 因此max550a可工作于双缓冲输入方式, 但输出无缓冲, 换句话说, 数模转换在正常模式下, 只要更新dac寄存器的内容, 输出模拟量就会

37、随之改变. 在睡眠模式下,内部r-2r梯形网络从电源断开, 因此此时模拟量无法输出, 但这并不影响对dac输入寄存器、dac寄存器的操作。图3-4 max550a芯片引脚 3.4.2 max550a引脚说明(1)gnd:地(2)out:dac输出电压(3):芯片选择输入,编程命令在的上升沿执行。(4)din:串行数据输入。数据被移入了16位的输入移位寄存器sclk的上升沿。(5)sclk:串行时钟输入。数据在sclk的上升沿移入。(6):加载dac输入。后变高,如果通过编程控制字,上更新dac锁存器(es)的下降沿。如果未使用连接引脚至vdd。(7)ref:为dac的外部参考电压输入。(8)v

38、dd:正电源(+2.5 v至+5.5 v)。 图3-5 max550a内部结构3.4.3 工作原理及操作方式 对dac输入寄存器、dac寄存器的控制,、相应寄存器值的更新、工作于正常模式或是睡眠模式等, 是通过输入移位寄存器的内容来完成的, 它是16位的二进制数, 包含8位控制位, 8位数据位, 其格式及各位的功能如表3-4所示。表3-4 控制位及数字位定义位名称状态操作控制位ub1无功能位,可取任意逻辑ub2无功能位,可取任意逻辑ub3无功能位,可取任意逻辑c20上电模式,即工作模式c21睡眠模式,唤醒时间等于数模转换时间c10不允许加载dac寄存器c11允许加载dac寄存器c00在的上升沿

39、更新dac寄存器c01在的下降沿更新dac寄存器a10无功能位,可取任意逻辑a11无功能位,可取任意逻辑a00不寻址a01寻址daca,用于对寄存器操作数据位d7d08位数据位图3-6是max550a的工作时序图, 在cs为低时,输入移位寄存器在串行时钟sclk的上升沿接受从din输入的串行数据. 其中ub1首先移入, d0最后移入。传输的数据可以是16位的字, 也可以是2个字节( 之间有停顿) , 当16位数据输入移位寄存器后, cs的上升沿对dac编程, 可同时或单独的加载输入寄存器而不更新dac寄存器, 这样可以允许每个dac寄存器用不同的数值同时更新,ldac独立于cs, 可用于不同时

40、更新dac寄存器的值的情况, 当c1= 1, 可设置1个或2个dac寄存器在的下降沿或是上升沿更新。图3-6 串行接口时序图图3-7 转换器简明电路图3.4.4系统整体效果图通过硬件电路的设计,完成了转换系统的硬件实现,绘制出了系统的整体原理图(附图一)及系统的pcb图(图3-8),为了更加直观的了解系统的结构和组成,生成了3d效果图如图3-9所示。 图3.8 系统pcb图图3.9 系统电路板3d效果图四章 系统软件的设计4.1 a/d子程序设计在本设计中,单片机要从现场采集现场中各种传感器的技术数据,由于现场采集过来的都是模拟数据,而单片机只能处理数字型号,这些数据要传送到单片机中当然少不了

41、模拟量和数字量之间的转换,而且,mc68hc08单片机内部集成了a/d转换器,该a/d转换器是8路8位的,它的8个模拟量输入通道的引脚与b口复用。a/d转换器进行各部分的操作时需要内部时钟的协调,mc68hc08的a/d时钟可直接由晶振电路产生,也可以来自锁相环产生的总线时钟,再经分频电路使a/d时钟频率变为1mhz左右。本次设计中采用的是后一种方法。a/d转换器的操作是通过a/d状态和控制寄存器、a/d数据寄存器和a/d时钟寄存器实现的,下面分别介绍他们的功能和各位的定义8。a/d状态和控制寄存器简称adscr,地址是$003c,各位定义如表4-1所示。表4-1 a/d状态和控制寄存器bit

42、765 43210adch4adch3adch2adch1adch01=a/d转换结束,0=正在转换1=a/d中断允许,0=a/d中断禁止1=a/d连续转换,0=单次转换adc通道选择其中要说明的是,当aien=0时,表示禁止中断,用户只能通过查询coco/idmas的直来判断转换是否结束,当aien=1时,表示允许中断,转换完成后就会发送中断请求。a/d数据寄存器简称为adr,地址是$003d,是个8位只读寄存器,用来放a/d转换结果,每次转换完毕后会自动更新。a/d时钟寄存器简称为adclk,地址是$003e,个各位的定义如表4-2所示。它用于a/d转换器时钟频率的选择,一次转换的时间是1

43、617个adc时钟,所以,adc的转换速率=a/d时钟频率/(1617) bit 7 6543210定义adiv2adiv1adiv0adiclk0000000 分频系数为1001 分频系数为2010 分频系数为4011 分频系数为8 1* 分频系数为16时钟源的选择0选晶振时钟1选总线时钟不用表4-2 a/d时钟寄存器本次设计采用单次转换方式,即adco=0;aien=0禁止中断;选择adc的通道7,即adch4=0,adch3=0,adch2=1,adch1=1,adch0=1;设置的分频数为2,即adiv2=0, adiv1 =0,adiv0=1;adiclk=1,选择总线时钟,即时钟频

44、率为1mhz9。a/d转换程序的流程图如图4-1所示。 a/d程序开始延时并清进位 延时子程序 a/d转换使能,并选择 channel7 a/d是否转换完成ny将转换数据从adr中读出子程序返回rts图4-1 a/d子程序流程图4.1.1 a/d转换程序ad: lda ct_1sec ;每1s调用1次ad子程序 cmp #$01 bne ad jsr ad_subad_sub: nop nop clc atod_sam20ms: nop nop ad_chnal0: mov #$07,adscr ;turn on a/d and select channel 7 nop nop nop nop

45、 ad_star2: brclr 7,adscr,ad_star2 ;wait a/d convert nop nop lda adr sta data_ad ;load the datarts4.2 d/a转换程序设计要实现对一个操作系统的控制,就得将数字信号转换为模拟信号,以此来控制操作系统,设计中采用了max550a来作为d/a转换器。max550a串行接口编程命令如下表4-3所示:表4-3串行接口编程命令图控制位数据位指令,的上升沿执行的命令首先加载首先加载ub1ub2ub3c2c1c0a1a0d7d0pin6未分配的指令xxx00xx0xxxxxxxxx未分配的指令xxx1xxx0x

46、xxxxxxxx未分配的指令加载dac输入寄存器指令xxx00xx18位数据x加载dac输入寄存器。 dac寄存器不变加载dac寄存器指令xxx010x0xxxxxxxxx更新dac寄存器当前内容,输入寄存器不变xxx010x18位数据x加载dac输入寄存器并更新dac寄存器xxx011x0xxxxxxxx0更新dac寄存器当前内容,输入寄存器不变xxx011x18位数据0加载dac输入寄存器并更新dac寄存器异步载入功能的命令xxx011x0xxxxxxxx1在的上升沿和下降沿,更新寄存器。输入寄存器不变。xxx011x18位数据1加载dac输入寄存器,更新dac寄存器断电和加载仅输入寄存器

47、指令xxx10xx18位数据x加载dac输入寄存器和功率下降供电和更新dac寄存器指令xxx110x18位数据x加载dac输入寄存器,下dac的电源,更新dac寄存器。xxx111x18位数据0加载dac输入寄存器,下dac的电源,更新dac寄存器。断电异步载入指令xxx111x18位数据1加载dac 输入寄存器和功率下降。掉电时,ldac引脚的下降沿,更新dac寄存器。4.2.1 d/a转换程序da: mov #%11101011,data_control mov data_ad,data _data jsr da_subda_sub: bclr 0,ptc nop nop nop nop* mov #$f5,spdr nop ;waite 10 nop nop nop nop nop nop nop nop nop noptong

温馨提示

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

评论

0/150

提交评论