593638860毕业设计(论文)基于单片机的信号源设计

上传人:痛*** 文档编号:79476232 上传时间:2022-04-23 格式:DOC 页数:45 大小:972.50KB
返回 下载 相关 举报
593638860毕业设计(论文)基于单片机的信号源设计_第1页
第1页 / 共45页
593638860毕业设计(论文)基于单片机的信号源设计_第2页
第2页 / 共45页
593638860毕业设计(论文)基于单片机的信号源设计_第3页
第3页 / 共45页
点击查看更多>>
资源描述
基于单片机的信号源设计学生姓名: 指导老师: 内容摘要本文是针对美国AD(Analog Devices)公司生产的DDS技术产品-AD9851芯片的功能特点进行的信号源设计,采用了AT89S52作为控制单片机,并对AT89S52控制AD9851组成直接数字式合成信号发生器的设计实现进行了阐述。以此为基础设计了硬件实现电路,并针对信号源的功能进行了C语言程序设计,完成了软件设计实现。文中阐述了信号源电路设计的总体思路,提出了键盘控制电路、频率显示电路和AT89S52对AD9851的40位频率/相位控制字输送的硬件设计,对键盘电路控制过程和频率电路显示过程中的数据传输过程进行了具体的描述。并对键盘控制电路、频率显示电路、AT89S52对AD9851的数据传送的具体软件实现程序进行了描述。从信号源的硬件实验设计来看,其工作可靠、效率良好,而且切换频率速度快,既满足了输出波形高稳定度、高精度、高分辨率的要求,又有价格低廉、体积小的特点,AD9851芯片输出频率可达几十兆赫兹。关键词:DDS;AD9851;AT89S52目录第一章 绪论.311 DDS技术概述31. 2 DDS的特点31. 3 选题的意义4第二章DDS原理及其实现521 DDS原理522 AD9851的功能特点7221 AD9851的内部结构7222 AD9851的主要特性8223 AD9851的结构功能9224 AD9851工作原理10225 控制方式1023 AT89S52的功能特点11231 AT89S52的基本特点12232 AT89S52的引脚结构和功能12第三章AT89S52控制AD9851的电路设计1531 数据传送控制电路15311 控制电路的硬件连接16312 控制电路的数据传送过程1632键盘控制电路16321键盘电路设计方案17322键盘电路的硬件设计18323矩阵式键盘的工作过程1933显示电路19331频率显示电路介绍19332频率显示系统的设计20333 AT89S52和频率显示电路的连接21第四章 AT89S52控制AD9851的程序设计2441数据传送控制电路的程序设计24411数据传送的C程序设计24412程序说明2542键盘控制电路的程序设计25421键盘查询程序设计25422数字按键的子程序设计27423小数点及其运算子程序的设计28424频率单位运算子程序的设计29425频率运算子程序的设计30426相位运算子程序的设计30427“删除”和“清除”子程序的设计31428“复位”子程序的设计3243显示电路的程序设计32431频率显示子程序设计32432“初显”子程序的设计33第五章 总结.33本文主要工作总结33下一步的工作设想34附录一信号源接口电路设计34附录二信号源电路的程序运行流程图36附录三C语言运行程序37第一章 绪论随着现代电子技术的发展,在通讯、雷达、宇航、电视广播、遥控遥测和电子测量等使用领域,都需要在一个特定的频率范围内使用一系列频率信号。这时,信号的频率和稳定度就显得尤为重要。这就直接导致了频率合成技术的发展。近年来,随着直接数字频率合成技术(Direct Digital Frequency Synthesis.简称DDS)的发展,这个问题已经得到了有效的解决。频率合成技术是将一个(或多个)基准频率变换成另一个(或多个)合乎质量要求的所需频率的技术。在通信、雷达、导航、电子侦察、干扰与抗干扰等众多领域都有应用。随着各种频率合成器和频率合成方案的出现,频率合成技术得到了不断的发展。11DDS技术概述1971年3月美国学者J.Tierncy,C.M.Rader和B.Gold首次提出了直接数字频率合成(DDS_Direct Digital Synthesis)技术。这是一种从相位概念出发直接合成所需要波形的新的全数字频率合成技术。同传统的频率合成技术相比,DDS技术具有极高的频率分辨率、极快的变频速度,变频相位连续、相位噪声低,易于功能扩展和全数字化便于集成,容易实现对输出信号的多种调制等有点,满足了现代电子系统的许多要求,因此得到了迅速的发展。在频率合成(FS,frequency synthetic)领域中,常用的频率合成技术有模拟锁相环、数字锁相环、小树分频想换(fractional-NPLL Synthesis)等,直接数字合成(DDS)是今年来新的FS技术。单片集成的DDS产品是一种可代替锁相环的快速频率合成器件。DDS是产生高精度、快速变换频率、输出波形失真小的优先选用技术。DDS以稳定度高的参考时钟位参考源,通过精密的相位累加器和数字信号处理,通过高速D/A变换器产生所需的数字波形(通常是正弦波形),这个数字波经过一个模拟滤波器后,得到最终的模拟信号波形。DDS系统一个显著的特点就是在数字处理器的控制下能够精确而快速地处理频率和相位。除此之外,DDS的固有特性还有:相当好的频率和相位分辨率(频率的可控范围达uHz级,相位控制小于0.09),能够进行快速的信号变换(输出DAC的转换速率300百万次/秒)。这些特性使DDS在军事雷达和通信系统中应用日益广泛。其实,以前DDS价格昂贵、功耗大(达watt级)、DAC器件转换速率不高,应用受到一定限制,因此只用于高端设备和军事上。随着数字技术和半导体工业的发展,DDS芯片嫩集成包括高速DAC器件在内的部件,其功耗也降低到mW级(AD9850在3.3v时功耗仅为155mW),功能增加了,价格便宜了。因此,DDS也获得了广泛的应用:现代电子器件、通信技术、无线、PCS/PCN系统、雷达、卫星通信、医学成像等领域。1.2DDS的特点1、 输出分辨率高:只要相位累加器的位宽足够大,参考时钟频率足够高,则分辨率可以很高,AD9850(参考时钟频率fc=125MHz)的相位累加器为32位,分辨率0.03Hz;AD9830(参考时钟频率fc=50MHz)的相位累加器为32位,分辨率0.012Hz;AD9852(参考时钟频率fc=300MHz)的相位累加器为48位,分辨率。2、 输出频率变换时间短:整片DDS合成器的濒临变换时间主要是DDS的数字处理延迟,通常为几十个ns(AD9850最小43ns)。3、 调频范围大:整片的DDS合成器是不受稳定性的影响的,在整个Nyquist频率范围内是可调的。4、 相位噪声低:由于数字正弦信号的相位与时间成线形关系,整片的DDS输出的相位噪声比它的参考时钟源的相位噪声小。5、 体积小、集成度高:整片的DDS封装成小面积芯片,因而占板面积小得多。6、 功耗小:整片的DDS的功耗比早期的离散型DDS要小,例如AD9850在3.3V功耗为155mW,以100MHz为参考时钟,产生一个40MHz的信号。7、 设计方便:整片DDS包括了信号D/A变换器,在系统设计时易于实现,而且现在的DDS不再需要专门的射频设计,简单的数字控制减少了硬件的复杂性。1.3选题的意义在电子行业的基础设施和制造等领域以及学校有关电子领域的实验设备中,函数发生器都是有效的通用仪器。它可以生成不同频率和幅度的大量信号,用来评估新电路的运行情况,代替时钟信号,对新产品进行制造测试,及用于许多其它用途。自第一部正弦波发生器问世以来,函数发生器的设计已经发生了多次演进,在当前数字领域中,大多数新型函数发生器正采用直接数字合成(DDS)技术。DDS在大部分操作中使用数字电路,从而提供了数字操作拥有的许多优势。由于信号只在合成的最后阶段转换到模拟域中,如果在信号源的研制中引用DDS技术会在多个方面降低了函数发生器的复杂度,提高了函数发生器的稳定性。DDS的主要优点之一是输出信号的频率精度可以达到作为发生器参考信号使用的晶体控制振荡器的水平。如果想实现更高的精度,也可以采用函数发生器本身的温度补偿晶体振荡器产生。这些信号可以提供高于0.1PPM的频率精度。在许多情况下,函数发生器还可以把频率锁定到外部实验室频率参考源上,从而生成超高精度的信号。在许多实验室工作台上,另一部仪器如频率计数器可以提供最精确的恒温器控制的时钟振荡器,其输出参考信号可以作为DDS函数发生器的参考信号使用。在其它高精度测量实验室中,将通过在每个工作台上探测10 MHz标准频率参考信号,以实现这一目的。根据数字电路的特点,DDS电路可以锁定在这一频率,从而提供与参考标准一样精确的信号。DDS的第二个优点与第一个优点相关:DDS发生器可以生成非常高的频率精度。DDS信号发生器的数字电路可以实现与数字电路相同的频率精度。如果DDS电路有一个48位计数器,它可以提供高达48位的频率分辨率,而且目前,某些DDS合成器使用了位数更多及分辨率更高的计数器。这种高分辨率意味着使用DDS函数发生器能够准确地生成希望的输出频率,同时这还意味着发生器可以非常精确地改变频率。特别适合在通信、海量存储和类似应用中评估定时电路。目前能够生成几十M H z、分辨率为1mHz的DDS发生器并不少见。由于DDS器件生成的所有的波形都是以数字方式生成,因此函数发生器中的调制功能、扫描功能和突发生成功能都受到数字控制,并可以以非常高的精度进行设置。不仅可以精确地设置/改变频率和定时,还可以精确地设置/改变相位和幅度。DDS的第三个优点是如果拥有RAM波形存储器,那么DDS函数发生器可以重现几乎任何波形。DDS发生器通过播放存储器中存储的波形来运行。如果存储器是只读存储器,那么只能生成ROM中存储的波形。一般来说,每个函数发生器中都会内置正弦波、方波、三角波和类似的波形。但是对于占空比为10%的方波,或对称性为58%的三角波(而不是50%),仅带有只读存储器的DDS发生器则无法实现。不过如果DDS电路有存储波形的RAM,那么控制器电路可以把任何波形写入RAM,并通过合成器重放波形。因此,研制开发DDS技术信号发生器的功能要远远超过传统函数发生器。对称性可变的波形现在已是标配功能,另外还可以内置各种不常见的波形,如指数上升和下降型波形或正弦脉冲型波形等。把这种R A M概念再推进一步假设工程师需要测试独有的某个特定波形,最新的函数发生器可以把客户指定的波形加载到DDS引擎的RAM中,由合成器进行播放。这为函数发生器提供了生成任意波形的额外功能。这种功能特别有用,并能得到包括Matlab、MathCad、Excel和类似的软件文件格式及示波器波形捕获文件等多种波形读取软件的支持。这种频率合成技术(DDS)具有频率转换速度快、频率分辨率高、转换频率时间和相位连续以及可灵活产生多种信号等优点,以AD9851为例,它的频率分辨率可以达到0.04Hz,输出频率变换时间最小43ns。还具有体积小、控制灵活、即时的频率转换、成本低、功耗小等优点。利用DDS合成的频率源是目前很高级的技术,研制和开发基于DDS技术的信号源无论是在理论方面还是在实验室设备更新改造方面都具有很重要的意义。第二章DDS原理及其实现频率合成信号发生器是科研、通信系统、教学实验以及各种电子测量技术中一种信号源。目前国内低频信号源通常采用电桥/振荡器的方法,不受控、且精度比较差,一般稳定性在10-4量级。近年来,由于高集成度的DDS频率合成芯片的出现,使这方面的技术有了新的进展。本章着重对信号源设计中涉及的DDS技术原理及其实现的芯片AD9851和控制单片机AT89S52进行介绍。21DDS原理直接数字频率合成(DDS)是从相位概念出发直接合成所需波形的一种频率技术。一个直接数字频率合成器由相位累加器、加法器、波形储存ROM、D/A转换和低通滤波器(LPF)构成。DDS的原理框图如2-1图所示:图2-1 DDS原理框图其中K为频率控制字、P为相位控制字、W为波形控制字、fC为参考时钟频率,N为相位累加器的字长。D为ROM数据位及D/A转换器的字长。相位累加器在时钟fC的控制下以步长K作累加,输出的N位二进制码与相位控制字P、波形控制字W相加后作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出D位的幅度码S(n)经D/A转换器变成阶梯波S(t),再经过低通滤波器平滑后就可以得到合成的信号波形。合成的信号波形形状取决于波形ROM中存储的幅度码,因此用DDS可以产生任意波形。这里我们说明DDS实现正弦波的合成。1频率预制与调节K为频率控制字,也叫相位增量。DDS方程为:,f0为输出频率,fc为时钟频率。当K=1时,DDS输出最低频率(也即频率分辨率)为,而DDS的最大输出频率由Nyquist采样定理决定,即fc/2,也就是说K的最大值为,因此只要N足够大,DDS可以得到很细的频率间隔。要改变DDS的输出频率,只要改变频率控制字即可。2累加器图2-2累加器框图相位累加器由N位加法器和N位寄存器级联构成。每来一个时钟脉冲fc,加法器将频率控制字K和寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。寄存器将加法器在上一个时钟作用后产生的相位数据反馈到加法器的输入端;以使加法器在下一个时钟作用下继续和频率控制字进行相加。这样,相位累加器在时钟的作用下,进行相位累加。当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。3控制相位的加法器通过改变相位控制字P可以控制输出信号的相位参数。令相位加法器的字长为N,当相位控制字由0跃变到P(P0)时,波形存储器的输入为相位累加器的输出与相位控制字P之和,因而其输出的幅度编码相位会增加,从而使最后输出的信号产生相移。4控制波形的加法器通过改变波形控制字W可以控制输出信号的波形。由于波形存储器中的不同波形是分块储存的,所以当波形控制字改变时,波形存储器的输入为改变相位后的地址与波形控制字W(波形地址)之和,从而使最后输出的信号产生相移。5波形存储器用相位累加器输出的数据作为波形存储器的取样地址,进行波形的相位幅值转换,即可在给定的时间上确定输出波形的抽样幅值。N位的寻址ROM相当于把0360的正弦信号离散成具有2N个样值的序列,若波形ROM有D位数据位,则2N个样值的幅度以D位二进制数值固化在ROM中,按照地址的不同可以输出相应的正弦信号的幅度。相位幅度变换原理如图2-3所示:图2-3相位幅度变换原理6D/A转换器D/A转换器的作用是把合成的正弦波数字量转化成模拟量。正弦幅度量化序列S(n)经D/A转换后变成了包络为正弦波的阶梯波S(t)。需要注意的是,频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的正弦波台阶就越多,输出波形的精度也就越高。7低通滤波器对D/A输出的阶梯波S(t)进行频谱分析,可知S(t)中除主频f0外,还存在分布在fc、2fc两边f0处的非谐波分量,幅值包络为辛格函数。因此,为了取出主频f0,必须在D/A转换器的输出端接入截止频率为fc/2的低通滤波器。22 AD9851的功能特点直接数字合成(DDS)是一种新的频率合成技术和信号产生的方法。直接数字合成器具有超高速的频率转换时间,极高的频率分辨率和较低的相位噪声,在频率改变与调频时,DDS能够保持相位的连续,因此很容易实现频率、相位和幅度调制。此外,DDS技术大部分是基于数字电路技术的,具有可编程控制的突出优点。因此这种信号产生技术得到了越来越广泛的应用,很多厂家已经生产了DDS专用芯片,这种器件成为当今电子系统及设备中频率源的首选器件。DDS技术的主要优点是:频率分辨率高,以AD9851为例,它的频率分辨率可以达到0.04Hz。还具有体积小、控制灵活、即时的频率转换、成本低、功耗小等优点。221AD9851的内部结构AD9851是AD公司采用先进的DDS技术生产的具有高集成度的DDS芯片,它是采用28脚SOP表面封装的超大规模DDS集成芯片。它将32位相位累加器,正弦函数功能查询表,D/A变换器以及调制、控制电路等集成到一起,它的时钟频率可达180MHz,输出信号频率可达70MHz,分辨率为0.04Hz。AD9851为避免要求高速参考时钟振荡器,在其电路内部结构中设计了一个6倍的参考时钟乘法器当系统时钟为180MHz时,输入参考时钟只需要30MHz即可。AD9851片内高速比较器被设计成为能够接受DAC外部滤波器的输出,用以产生一个低抖动的输出脉冲。频率调制、控制和相位调制字可以采用串行或并行的方式输入AD9851,并行方式由5组8位控制字反复送入,前8位控制输出相位,6倍频率,电源休眠和输入方式,其余各位构成32位频率控制字,串行输入以一个40位的串行数据流经过一个并行输入总线输入。AD9851运用了先进的CMOS技术,提供了在5V电源供电,以最大时钟速度为180MHz只有555mW的功能。工作温度范围4085。AD9851的内部结构图如图2-4所示:图2-4 AD9851内部结构图222AD9851的主要特性AD9851的主要特性如下:1单电源工作,工作电压在+2.7+5.25V之间;2工作温度范围-4585;3低功耗,在180MHz系统时钟下,功率为555mW。电源设置有休眠状态,在该状态下,功率为4mW;4接口电路简单,可用8位并行口或串行口直接输入频率、相位控制字;5内含6倍频参考时钟乘法器,可避免对外部高速参考时钟振荡器的需求,减小了外部频率源过高而可能产生的相位噪声。6频带宽,正常输出工作频率范围应为072MHz;7频率分辨率高,其创新式高速DDS码可接收32位调频字,使得它在180MHz系统时钟下输出频率的精度可达0.04Hz;8相位可调,可接收来自单片机的5位频率控制字;9内置高性能的10b数模转换器。10内含一个高速比较器。11可以工作在掉电方式。12采用极小的28脚贴片式封装。223AD9851的结构功能AD9851的引脚功能如图2-5所示:图2-5 AD9851的功能引脚1D0D7:8位数据输入口,用来装入32位频率和8位相位控制字。D7位是最高位,同时作为40位串行数据输入引脚。2PGND:6倍参考时钟乘法器接地端。3PVCC:6倍参考时钟乘法器正电源电压引脚。4W_CLK:字输入时钟端。上升沿异步装入并行或串行的频率/相位/控制字到40位输入寄存器。5FQ_UD:频率更新控制端。时钟上升沿确定输入信号有效。6PEFCLOCK:参考时钟输入端。CMOS/TTL脉冲序列可直接或间接地加到6倍参考时钟乘法器上,在直接方式中,输入频率即是系统时钟;在6倍参考时钟乘法器方式,系统时钟为乘法器输出。7:A GND:模拟地。数模转换器和高速比较器的模拟接地端。8A VDD:模拟电源,接5V电压。数模转换器和高速比较器的模拟电路正电压端。9R SET:数模转换器外部管脚。通过一个3.92k的电阻接地。10VOU TN:负电平输出端。内部比较器的互补CMOS逻辑负电平输出。11VOUTP:正电平输出端。内部比较器的互补CMOS逻辑正电平输出。12VINN:负电平输入端。内部比较器的反向输入端。13VINP:正电平输入端。内部比较器的正向输入端。14DACBP:数模转换器的旁路连接端。15IOUT:内部DAC互补输出端。16IOUTB:与IOUT端具有相同特性的DAC互补输出端。17RESET:主复位端。高电平有效。18DVDD:数字电路的正电平输入端。接5V电压。19DGND:数字地。224 AD9851工作原理AD9851内部的控制字寄存器首先寄存来自外部的频率、相位控制字,相位累加器接受来自控制字寄存器的数据后决定最终输出信号频率和相位的范围和精度,经过内部D/A转换器后,所得到的就是最终的数字合成信号。图2-6 AD9851的工作原理图如果相位累加器的位数为N,相位控制字的值为FN,频率控制字的位数为M,频率控制字的值为FM,系统外部参考时钟频率为30MHz,6倍参考时钟倍乘器使能,那么经过内部6倍参考时钟倍乘器后,可得到AD9851内部工作时钟FC为180MHz,此时最终合成信号的相位由公式(2-1)来决定,合成信号的相位由公式(2-2)来决定。F = FMFC/2N (2-1)= 2FN/2N (2-2)225控制方式频率/相位控制字可通过微处理器以并行方式/串行方式输入到AD9851,其中最前面的8位分别为5位相位控制字,1位用于电源休眠(powerdown)控制,2位用于选择工作方式,工作方式的选择要谨慎,无论是并行还是串行,最好都写成00,并行时的10、01和串行时的10、01、11都是工厂测试用的保留控制字,不慎使用可能导致难以预料的后果。剩余32位是频率控制字,用来对频率进行调制。并行方式输入控制字的时序图如图2-7所示(在图中,TCD:频率更新后参考时钟延迟;TDS:数据设置时间;TDH:数据装入时间;TFH:频率更新控制信号高电平有效时间;)通过8位总线D0D7可将数据输入到寄存器,在重复5次之后再在FQ_UD上升沿把40位数据从输入寄存器装入到频率/相位数据寄存器(更新DDS输出频率和相位),同时把地址指针复位到第一个输入寄存器。接着在W_CLK的上升沿装入8位数据,并把指针指向下一个输入寄存器,连续5个W_CLK上升沿后,W_CLK的边沿就不再起作用,直到复位信号或FQ_UD,上升沿把地址指针复位到第一个寄存器。40位的控制字各位的功能表2-8所示。图2-7并行方式的输入控制字时序图图2-8 控制字各位的功能表23 AT89S52的功能特点单片机的典型代表是Intel公司在80年代初研制出来的MCS51系列单片机,MCS51技术核心很快在我国得到广泛的推广应用,成为电子系统中最普遍的应用手段,并在工业控制、交通运输、家用电器、仪器仪表等领域得到了大量应用成果。随着Intel公司把精力集中在CPU的生产上,并逐步放弃了单片机的生产,但是以MCS51技术核心为主导的已成为许多生产厂家、电气公司竞相选用的对象并以此为基核,推出了许多与MCS51有极好兼容性的CMOS单片机,同时增加了一些新的功能。例如ATMEL公司推出的AT89S51单片机,就是采用了80C51内核和Flash存储器技术,并增加了ISP(InSystem Program)功能。ATMEL公司的技术优势在于Flash存储器技术,将Flash与80C51内核相结合,形成了Flash单片机AT89S系列。AT89S系列单片机和MCS51系列单片机在内部功能、引脚以及指令系统方面完全兼容。由于AT89S系列单片机继承了MCS51的原有功能,内部含有大容量的Flash存储器,又增加了新的功能,如看门狗定时器WDT、ISP及SPI串行接口技术等,因此在电子产品开发及智能化仪器仪表中有着广泛的应用,是目前取代MCS51系列单片机的主流芯片之一。231 AT89S52的基本特点AT89S52是低功耗、高性能、采用CMOS工艺制作的8位单片机,其片内具有8KB的可在线编程的Flash存储器。该单片机采用了ATMEL公司的高密度、非易失性存储器技术,与工业标准型80C51单片机的指令系统和引脚完全兼容;片内的Flash存储器可在线重新编程,或使用通用的非易失性存储器编程器;通用的8位CPU与在线可编程Flash集成在一块芯片上,从而使AT89S52功能更加完善,应用更加灵活;具有较高的性能价格比,使其在嵌入式控制系统中有着广泛的应用前景。AT89S52单片机单片机的功能特点:1片内存储器包括8KB的Flash,可在线编程,擦写次数不少于1000次;2具有256字节的片内RAM;3具有可编程的32根I/O口线(P0、P1、P2和P3);4具有3个可编程的定时器T0、T1和T2;5内含两个数据指针TPTR0和TPTR1;6中断系统具有8个中断源、6个中断矢量、两级优先权的中断结构;7串行通信口是一个全双工的UART串行口;82种低功耗节电工作方式为空闲模式和掉电模式;9具有3级程序锁定位;10含有1个看门狗定时器;11具有断电标志POF;12AT89S52的工作电源电压为4.05.5V;13全静电工作模式为03MHz;14与MCS51系列单片机完全兼容。与AT89S51/LS51单片机相比较,AT89S52主要增加了以下功能特点:1片内程序存储器由4KB增加到了8KB;2片内RAM由128字节增加到了256字节;3片内定时器由2个(T0和T1)增加到了3个(T0、T1和T2);4中断源由6个增加到了8个。232 AT89S52的引脚结构和功能AT89S52具有PDIP、PLCC和TQFP3种封装形式。其PDIP封装的引脚如2-9图所示:图2-9 AT89S52的引脚结构图1 P0口8位、开漏极、双向I/O口。当用作通用I/O口时,每个引脚可驱动8个TTL负载;当用作输入时,每个端口首先置1。P0口也可用做访问片外数据存储器和程序存储器时的第8位地址/数据总线的复位口,这种情况下,P0口内含上拉电阻。在Flash编程时,P0口输入代码数据;在Flash校验时,P0口输出代码数据。在进行编程校验时,需外接10K的上拉电阻。2 P1口8位、双向I/O口,内含上拉电阻。P1口为用户使用的通用I/O口,每个引脚可驱动4个TTL负载。当用作输入时,每个端口首先置1。P1.0和P1.1引脚也可用作定时器2的外部计数器输入(P1.0/T2)和触发器输入(P1.1/T2EX)。在编程和校验期间,P1口可输入低字节地址。3 P2口8位、双向I/O口,内部具有上拉电阻。P2口为可用作通用I/O口,每个引脚可驱动4个TTL负载。对P2口各位写入1,可作为输入,每个引脚由外部负载拉为低电平时,经由内部上拉电阻向外输出电流。在访问16位地址的外部程序存储器和外部数据存储器是P2口提供高8位地址。用MOVXDPTR类指令访问外部数据存储器时,P2口为高8位地址(即PCH);用MOVXR0和MOVXR1类指令访问外部数据存储器时,P2口上的内容是SFR P2的内容。在编程和校验时,P2口接收地址线的高位和一些控制信号。4P3口8位、双向I/O口,内部含有上拉电阻。P3口为可用作通用I/O口,每个引脚可驱动4个TTL负载。当用作输入时,先将P3口各位置1,若外部负载将P3口拉低,则经过上拉电阻向外输出电流。在编程和校验时,P3口接收某些控制信号。P3口还具有替代功能如图2-10所示:图2-10 P3口替代功能(1)地址锁存允许/编程脉冲输入。在访问外部程序存储器和外部数据存储器时,该引脚输出一个地址锁存脉冲ALE,其下降沿可将低8位地址锁存于片外地址锁存器中。在编程中,向该引脚输入一个编程负脉冲。在正常操作时,该引脚输出恒定频率脉冲信号ALE,其频率为晶振频率的1/6。应注意,每访问一次片外RAM时,便会丢失一个ALE脉冲。(2)外部程序存储器读选通,低电平有效。当AT89S52执行片外程序存储器的指令代码时。在每个机器周期内两次有效。在访问外部数据存储器时,无效。(3)片外程序存储器访问允许。如果接地,则单片机只执行外部程序存储器的指令,地址为0000HFFFFH。如果接VCC,则单片机执行片内程序存储器的指令(0000H1FFFH);如果需要,可自动转到执行片外程序存储器中的指令(2000HFFFFH)。在Flash编程时,该因脚可连接12V的编程电压VPP。(4)XTAL1和XTAL2XTAL1是片内振荡器反相放大器和时钟发生器的输入端,XTAL2是片内振荡器反相放大器的输出端。AT89S52的振荡器有两种组成方式:片内振荡器和片外振荡器。片内振荡器的组成方式如图(2-11a)所示,外接晶体谐振器或陶瓷谐振器。片外振荡器的组成方式如图(2-11b)所示,XTAL1是外部时钟信号的输入端,XTAL2可悬空。由于外部时钟信号经过一个2分频的触发器才进入片内时钟电路,因此对外部时钟信号的占空比没有严格要求,但高、低电平的时间宽度应不小于20n s。图2-11 AT89S52的振荡方式图第三章AT89S52控制AD9851的电路设计AD9851的数据可直接与多种单片机相连,本文采用的单片机为ATMEL公司的AT89S52,图3-1为AT89S52和AD9851的接口框图。AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元。图31 AT89S52和AD9851的接口电路图31 数据传送控制电路数据传送控制电路的主要功能是将AD9851所需要的40位频率/相位控制字可通过AT89S52微处理器以并行方式或串行方式输入到AD9851的控制字寄存器,根据电路设计的整体思路和资源配置,这个电路可采用并行输入方式为AD9851输送40位频率/相位控制字;又由AD9851并行方式输入控制字的时序逻辑关系(如图2-7),AD9851的8脚(FQ_UD频率更新控制端)、7脚(W_CLK字输入时钟端)和22脚(RESET主复位端)也必须由AT89S52微处理器的I/O口控制。311 控制电路的硬件连接控制电路的硬件连接如图31所示。40位频率/相位控制字(如上一章表2-1所示用W0、W1、W2、W3和W4表示)是AT89S52的P0口的8个引脚(P0.0P0.7)分别和AD9851的8位数据输入端口(D0D7)相连,由AT89S52经P0口分5次传送;AD9851的7脚(W_CLK,字输入时钟端)和AT89S52 P2口的引脚P2.0相连,由AT89S52经P2.0引脚控制AD9851数据传送的字输入时钟信号(W_CLK)。AD9851的8脚(FQ_UD频率更新控制端)和AT89S52 P2口的引脚P2.1相连,AT89S52经P2.1引脚控制AD9851数据传送的频率更新信号(FQ_UD)。AD9851的22脚(RESET主复位端)和AT89S52 P2口的引脚P2.7相连,由AT89S52经P2.7引脚控制AD9851的主复位端信号(RESET,当RESET为1时,清除AD9851的频率/相位控制字寄存器的所有数据为0)。312控制电路的数据传送过程AD9851需要的40位频率/相位控制字(W0、W1、W2、W3和W4)首先存放在AT89S52内部指定的5个8位存储器中。在40位频率/相位控制字(W0、W1、W2、W3和W4)传送之前,首先将AT89S52的P2.0引脚、P2.1引脚和P2.7引脚全部置为低电平“0”,即是AD9851的W_CLK(字输入时钟端)和FQ_UD(频率更新控制端)引脚首先为“0”,准备传送40位频率/相位控制字;而P2.7引脚置为低电平“0”,是因为AD9851的22脚(RESET主复位端)高电平有效,当为“1”时会清除数据寄存器的所有数据为“0”。AT89S52把W0数据输送到P0口,这样AD9851的8个数据输入端(D0D7)的数值为W0,然后将AT89S52的P2.0引脚电压置为高电平“1”,再将AT89S52的P2.0引脚电压置为低电平“0”,模拟成图2-7所示的一个字输入时钟脉冲(W_CLK),经过这个脉冲之后W0的数值就进入了AD9851的数据输入寄存器(40位)。AT89S52把W1数据输送到P0口,将AT89S52的P2.0引脚电压置为高电平“1”,然后再将AT89S52的P2.0引脚电压置为低电平“0”,W1的数值就进入了AD9851的数据输入寄存器(40位)。如此重复5次,W0W4五组数据全部进入了AD9851的数据输入寄存器。这时再将AT89S52的P2.1引脚电压置为高电平“1”,模拟成图2-7所示的一个频率更新控制信号脉冲(FQ_UD),经过这个脉冲之后W0W4五组数据经数据输入寄存器进入频率/相位寄存器,刷新频率/相位寄存器中原有的值,并由AD9851的21脚输出由W0W4决定频率和相位的正弦波。32键盘控制电路在过程控制和智能化仪器仪表中,通常是用微机控制器进行实时控制和数据处理的,为实现人机对话。键盘是必不可少的功能配置。利用按键可以实现向单片机输入数据、传送命令、功能切换等,是人工干预单片微机系统的主要手段。键盘可分为独立式键盘和矩阵式键盘。独立式键盘是最简单的键盘电路,各个键相互独立,每个按键独立地与一根数据输入线相连接。这种键盘的优点是结构简单、使用方便,但随着按键数量的增加所占用的I/O口线也增加。在使用按键数量不多的单片微机中,常使用这种独立式键盘。矩阵式键盘的连接电路如图3-2所示,若有四根行线、四根列线,则构成44矩阵键盘,最多可定义16个按键功能。图3-2矩阵式键盘图321键盘电路设计方案在AT89S52控制AD9851的电路设计系统中,由于需要输入频率数值和相位数值,同时需要当输入出错时的纠正、删除等按键功能,所以至少需要二十几个按键功能,现将需要的按键功能说明如下:1当按“数字键”(数字键包括0、1、2、3、4、5、6、7、8、9、小数点)时,将按下的数值暂存在AT89S52微处理器指定的存储器中(数字键值存储单元)。同时使“频率显示”电路工作,显示按下的“键值”。2按“相位”键时,将AT89S52中存储的数据(频率值存储单元)按相位运算格式(公式2-2)运算,转换成二进制数值(5位)后,将处理后的数据放入AT89S52中指定相位值存储单元,并将数据(数字键值)存储单元数据“清零”。同时使“频率显示”为“0”(清除显示的按键值)。3按“频率”键时,将AT89S52中存储的频率数据(频率值存储单元)按频率运算格式(公式2-1)运算,转换成二进制数值后,将处理后的数据放入AT89S52中指定的频率值存储单元中,并将数据(数字键值)存储单元数据“清零”。同时使“频率显示”为“0”(清除显示的按键值)。4按“Hz”键时,将AT89S52中存储的频率数据(数字键值存储单元)按“Hz”运算格式(1)运算,转换成二进制数值后,将处理后的数据放入AT89S52中指定频率值存储单元,并将数据(数字键值)存储单元数据“清零”。同时使“Hz显示灯”为“亮”。5按“KHz”键时,将AT89S52中存储的频率数据(数字键值存储单元)按“KHz”运算格式(1000)运算,转换成二进制数值后,将处理后的数据放入AT89S52中指定频率值存储单元,并将数据(数字键值)存储单元数据“清零”。同时使“KHz显示灯”为“亮”。6按“MHz”键时,将AT89S52中存储的频率数据(数字键值存储单元)按“MHz”运算格式(1000,000)运算,转换成二进制数值后,将处理后的数据放入AT89S52中指定频率值存储单元,并将数据(数字键值)存储单元数据“清零”。同时使“MHz显示灯”为“亮”。7按“Del”键时,将AT89S52中存储的数据(数字键值存储单元)中最近输入的存储单元数据“清零”。并将“频率显示”刷新。8按“Clear”键时,将AT89S52中存储的数据(数字键值存储单元、相位值存储单元、频率值存储单元和相位值存储单元)全部“清零”,同时使“频率显示”为0。使“Hz、KHz、MHz”显示灯为“0”(灭)。9按“RESET”键时,将AT89S52中存储的数据(数字键值存储单元、相位值存储单元、频率值存储单元和频率格式存储单元)全部“清零”,并发送到“AD9851”,使AD9851输出频率为“0”。同时使“频率显示”为“0”,使“Hz、KHz、MHz显示灯”为“灭”。10按“OK”键时,将“相位值存储单元”、“频率格式存储单元”数据发送到“AD9851”。同时使“频率显示”电路工作。11按“6倍频”键时,将相位值存储单元数据“加1”(XXXXX001),仍然存储在相位值存储单元。其中:如果在输入数值过程中,有“小数点”键被按下,那么AT89S52中存储的数据(数字键值存储单元)将按“小数点”键被按下的先后次序进行十进制运算,将运算的结果继续存储在数字键值存储单元中。322键盘电路的硬件设计根据键盘电路设计方案中的按键功能分配,按键输入电路至少需要21个按键,因此由AT89S52和AD9851组成的程控信号源电路设计的I/O口分配情况,可选择48的矩阵式键盘输入方式(如图3-3所示)。图3-3 48的矩阵式键盘的硬件连接图把AT89S52的I/O口中P3.4P3.7四个引脚作为矩阵式键盘的四个行线输入口,把I/O口中P1.0P1.7八个引脚作为矩阵式键盘的八个列线输出口,四个行线的另一端经过一个410K的阻排连接+5V电源。323矩阵式键盘的工作过程键盘的工作方式采用程控键扫描方式进行控制:CPU的控制一旦进入键扫描监控程序,将反复不断地扫描键盘,等待输入命令或数据。键扫描的工作过程如下:1判断是否有键被按下:CPU先通过输出口使所有列线输出为低电平“0”,然后从行线输入口读入所有4根行线的状态电平。若4根行线状态都为高电平“1”,则说明没有键被按下,若4根行线中有低电平“0”,则表明有键被按下(并能判断被按下的键在那一行)。2判断按键位置:CPU通过列输出口使8个列线从低位到高位依次由高电平变低电平输出(8个列线的状态电平依次为11111110、11111101、11111011),每次均读入行线的状态电平,以确定哪条行线为“0”状态。由行、列线的状态就可判断是哪一个键被按下(行列交叉点处)。当判断出是哪一个键被按下后,程序转入相应的按键处理子程序,完成响应的任务功能。33显示电路键盘和LED(Light Emitting Diode)显示器是单片机应用系统中实现人机话的一种基本方式。发光二极管一般为砷化镓半导体二极管,在发光二极管两端加上正向电压则发光二极管发光。而数码管LED是由若干发光二极管组合而成的,一般的“8”字型LED由“a、b、c、d、e、f、g、dp”8个发光二极管组成,每个发光二极管称为一个字段。331频率显示电路介绍七段LED有共阴极和共阳极两种结构形式,它的显示电路一般分为静态显示和动态显示两类。(1)静态显示电路LED显示器工作在静态时,其公共阳极(或阴极)接Vcc(或GND),一直处于显示有效状态,所以每一位的显示内容必须由锁存器加以锁存,显示各位相互独立。静态显示时,LED的亮度高、控制容易、但功耗大、所需口线多。若显示位数增多,则静态显示方式很难适应,一般需要采用动态显示方式。(2)动态显示电路对于动态显示,一般将所有位的段选线的同名端连在一起,由一个8位I/O口控制,形成段选线的多位复用。而各位的公共阳极或公共阴极则分别由相应的I/O口线控制,实现各位形成段的分时选通,即同一时刻只有被选通位是能显示相应的字符,而其他所有位都是熄灭的。由于人眼有视觉暂留现象,只要每位显示间隔足够短,则会造成多位同时点亮的假象。这就需要单片机不断地对显示进行控制,牺牲单片微机的CPU时间来换取元器件的减少和显示功率的降低。动态显示电路如图3-4所示。图3-4动态显示电路工作过程:将字形代码送入字形锁存器锁存,这时所有的显示块都有可能显示同样的字符;再将需要显示的位置代码送入字位锁存器锁存。为防止闪烁,每位显示时间在12ms,然后再显示另一位,CPU需要不断地进行显示刷新。本节主要介绍在AT89S52和AD9851组成的程控信号源电路中频率显示系统的接口方法和工作原理。332频率显示系统的设计在由AT89S52和AD9851组成的程控信号源电路中,频率显示电路的设计主要是由6个数码管、移位寄存器(74HC164)、和3个LED指示灯组成。如图3-5所示。图3-5频率显示电路设计74HC164是8位串行输入并行输出的移位寄存器(如图3-6所示),A、B为串行数据输入端,QAQH为并行数据输出端,CLK为同步时钟输入端,CLR为清除端。要注意数据输入和输出的顺序。输出的N个数据Data1DataN,Data1在最远端;输出的8N个数位,低位在先,高位在后,输出一帧后QH端为D0,QA端为D7,D0为下一个移位寄存器的级联数据输入端。图3-6 74HC164管脚图图3-5频率显示电路用的串行输入并行输出的移位寄存器74HC164,每接一片74HC164可扩展一个8位并行输出口,可以作为LED显示器的8根段选线。在AT89S52和AD9851组成的程控信号源电路中的频率显示由6个数码管组成,因此由6个移位寄存器级联在一起,最左边74HC164的QH端同时作为下一级移位寄存器串行数据输入端(A、B)的数据输入端,以此类推,逐次递进,完成一个68位的串行输入、68位的并行输出的频率数据显示系统。333 AT89S52和频率显示电路的连接在图3-5中,最左边74HC164的数据输入端的数据是由AT89S52的P3.0引脚模拟串行输出数据的。而所有74HC164的同步时钟输入端(CLK)连在一起统一由AT89S52的P3.1引脚模拟时钟信号输入。由图可看出,频率显示是静态显示电路原理设计,由AT89S52的P3.0引脚一次输出68位串行频率数据来完成频率数值显示的任务。因为AD9851产生的正弦波最大输出频率输出可达70MHz,分辨率为0.04Hz,如果只用6个数码管表示输出频率的赫兹数值是不完全够的,所以在6个数码管的基础上又加入三个发光二极管指示灯,把输出频率数值分成三档(Hz、K Hz、M Hz),三个发光二极管分别代表输出频率数值的单位(Hz、K Hz、M Hz),哪个发光二极管“亮”就代表输出频率数值的单位是哪个。这样就能把输出频率数值准确地表示出来。在电路图3-5中,三个发光二极管是分别经200限流电阻由AT89S52的P2.3、P2.4和P2.5引脚控制的。例如:当输出的频率数值应为K Hz时,单片机就会使P2.4引脚输出高电平,代表“K Hz”的发光二极管就会“亮”。第四章AT89S52控制AD9851的程序设计41数据传送控制电路的程序设计数据传送控制电路的主要功能是将AD9851所需要的40位频率/相位控制字可通过AT89S52微处理器以并行方式或串行方式输入到AD9851的控制字寄存器。如图3-1,在电路中采用并行输入方式为AD9851输送40位频率/相位控制字;又由AD9851并行方式输入控制字的时序逻辑关系(如图2-7),AD9851的8脚(FQ_UD频率更新控制端)、7脚(W_CLK字输入时钟端)和22脚(RESET主复位端)也必须由AT89S52微处理器的I/O口控制。411数据传送的C程序设计output()uchar aaa=1,bbb;w0=w0;g=fm;h=0xff;for(aaa=4;aaa=1;aaa-)bbb=(uchar)(g&h);/强制类型转换waaa=bbb;g=g8;/循环右移8位/g=_crol_(g,24);p20=0;p21=0;p27=1;p27=0;for(aaa=0;aaa=4;aaa+)/向AD9851送40位数据P0=waaa;p21=1;p21=0;p20=1;p20=0;p27=0;412程序说明在程序中aaa、bbb、h、g为局部变量,aaa是用作控制循环次数使用;W4为数组变量,用作把40位频率/相位控制字分段截取并放在W0W4五个变量存储器中,其中W0(八位)装载相位控制字(高五位)和“001”(见表2-1),W1W4装载频率控制字(32位);P20、P21和P27是分别代表AT89S52的7脚、8脚和22脚电位的全局变量,fm是由键盘输入的频率数据经一定的算法(详见附录三)后转换成的32位频率控制字。在程序运行中,首先将键盘输入的相位控制字(高五位)“001”赋值予W0,再将频率控制字(32位,fm)利用循环语句截成四段(每8位一段)分别赋值予W1W4(W1为低位字节,W4为高位字节);然后将W1W4的数据利用循环语句分五次送到AT89S52的P0口,完成40位频率/相位控制字经P0口向AD9851的数据输入寄存器的传送过程。在数据传送过程中,分别对P20、P21和P27赋予不同的值(0或1)以模拟W_CLK(字输入时钟信号)和FQ_UD(频率更新控制信号)等信号的变化过程(详见图2-7控制字时序图)。42键盘控制电路的程序设计在AT89S52控制AD9851的电路设计系统中,键盘控制电路采用48的矩阵式键盘控制方式,键盘中各个按键的定义功能在第三章也有详细的说明,不再详述。421键盘查询程序设计在键盘控制设计中,首先要知道是否有键被按下、是哪个键被按下,才能完成被按下键所赋予的功能。1键盘查询程序设计如下:keyscan()uchar mmm;uchar j;/局部变量,与全局变量j不同keyout=0x00;P1=keyout;keytemp=P3|0x0f;if(keytemp!=0xff)delay(150);/消除按键抖动if(keytemp!=0xff)/continue;keyout=0xfe;for(j=0;j=7;j+)P1=keyout;keytemp=(P3|0x0f)|(keyout8);/(P3|0x0f)|(keyout8);switch(keytemp)case 0xfedf:one();break;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!