




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、苏州大学木科生毕业设计(论文) 基于AD9834的波形发生器的设计 目录 前言2 第1章绪论3 第1.1节研究的背景和意义3 第1. 2节 波形发生器的发展状况3 第2章系统方案设计5 第2.1节单片机主控模块5 第2. 2节液晶模块9 第2. 3节DDS模块11 第3章 硬件电路的设计14 第3. 1节单片机主控电路及液晶显示电路14 第3. 2节AD9834电路设计14 第3. 3节按键电路15 第3. 4节增益可控电路15 第4章系统软件设计17 第4.1节Keil软件的介绍17 第4. 2节系统软件的整体设计17 第4. 3节 程序设计原理18 第4. 4节信号产生的程序19 第5章系
2、统调试20 第5.1节硬件调试20 第5. 2节软件调试20 第5. 3节调试结果20 结论24 参考文献25 致谢26 附录27 附录1:实物照片说明27 附录2:系统原理图27 附录3:部分源程序28 苏州大学本科生毕业设计(论文) 基于AD9834的波形发生器的设计 【摘要】:本设计核心问题是设计信号发生器,使之输出不同频率的正弦波、三角波 和方波,并通过按键切换输出的波形,也可以改变频率和输出的幅度。本方案选择了 AD9834作为核心芯片,并与单片机STC89C52结合,设计一款简易的高精度频率信号发 生器,具有体积小功耗低等优点。AD9834是ADI公司生产的一款釆用DDS技术、低功
3、 耗、可编程波形发生器。本文介绍了用AD9834设计信号发生器的基本框架,详细阐述了 该芯片的基本性能和使用方法,分析了它与单片机结合产生波形的具体措施。并且对DDS 这一技术做了比较详细的分析,也展望它的发展前景。 此外,本文还介绍了单片机STC89C52,它是一种低功耗、高性能CM0S8位微控制 器,一种带8K字节闪烁可编程可擦除只读存储器,并且也详细地阐述了单片机的内部结 构、各个引脚的说明以及此芯片的特点。 【关键词】:STC89C52;AD9834; DDS Abstract : This design is a core problem design signal generato
4、r, the output of different frequency sine wave, triangular wave and square wave, and through the key switch output waveform, also can change the frequency and amplitude of the output. This scheme selection AD9834 as the core chip, and single chip microcomputer and STC89C52 combination, design one si
5、mple high precision frequency signal generator, has small power consumption advantages AD9834 ADI company is the production of one using DDS technology low power consumption, prograimnable waveform generator. This paper introduces the design of signal generator with AD9834 the basic framework, elabo
6、rated on the chip of the basic performance and usage, it analyses the single chip microcomputer and combined with the concrete measures of produce waveform And the DDS this technology made comparatively detailed analysis, and prospects the development prospect In addition, this paper also introduces
7、 the STC89C52 MCU, it is a kind of low power consumption, high performance CMOS8 a micro controller, a zone 8 k bytes scintillation programmable read only memoiy can be erased And also in detail the internal stmctiire of the single chip microcomputer, each pin and the description of the characterist
8、ics of the chip. Keywords: STC89C52; AD9834; DDS 苏州大学木科生毕业设计(论文) 前言 单片机是一种集成在电路芯片,它是采用超大规模集成电路技术,把具有数据处理能 力的中央处理器CPU、只读存储器ROM、随机存储器RAM、多种I/O接口和中断系统、 定时器/计时器等功能(可能还包括驱动显示电路、模拟多路转换器、脉宽调制电路、A/D 转换等电路)集成到一块硅片上,从而构成一个小而完善的计算机系统。 波形发生器是一种数据信号发生器,在调试硬件时常常需要加入一些信号,以观察电 路工作是否正常。而一般的信号发生器,不但笨重,而且只发生一些简单的波形,不能
9、满 足需要。例如用户要调试串口通信程序时,必须先在计算机上写好一段程序,之后再用数 据线连接计算机和实验板,如果不能正常使用,不知道是数据线还是程序出现问题。用 E2000/L的波形发生器功能,可以定义串口数据。通过逻辑探勾输出,调试起來简单快捷。 直接数字频率合成(DDS)技术是继1971年问世以來1】,由于它低成本、低功耗、高 分辨率、频率切换时间短、相位连续、结构简单、体积小等诸多优点,在电信和电子仪器 领域得到了越來越广泛的应用。AD9834是ADI公司生产的一款采用DDS技术、低功耗、 可编程波形发生器,器件采用MSOP封装,非常小巧,外围电路简单,通过SPI接口和单 片机相连,编程
10、可生成方波、三角波、正弦波,输出频率和相位都可通过软件编程,易于 调节。 本设计主要是基于AD9834的一款简易信号发生器2,由STC89C52单片机通过3个 SPI接口控制DDS芯片AD9834产生各种频率的正弦波、三角波、方波,经放大整形电路 后输出,并通过独立的按键切换输出的波形,也可改变频率和输出幅度。 该系统以简易为出发点,用熟悉的单片机STC89C52作为主控芯片,选用低功耗芯片 AD9834为信号产生芯片。且使用DDS器件,具有体积很小,电路简单的优点,整个系统 可以做得很小,其至可以作为手持设备使用,这就正好满足了当前技术的需要。这也是这 次设计的两个创新点。 苏州大学木科生毕
11、业设计(论文) 第1章绪论 第11节研究的背景和意义 波形发生器亦称函数发生器,作为实验时使用的信号源,是当代各种电子电路实验设 计应用中必不或缺的仪器设备之一。目前,市场上常见的波形发生器大多数是纯硬件的搭 接而成,且波形的种类有限的,多为方波、正弦波、锯齿波、三角波等波形。 信号发生器作为一种常见的应用电子仪器设备,传统的信号发生器可以完全由硬件电 路搭接而成,如釆用555振荡电路发生方波、正弦波和三角波的电路便是可取的路经之一, 不用依靠单片机。但是这种电路存在波形质量差,难以控制,可调节的范围小,电路过于 复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,地震模拟机械振动,
12、生物医学等领域常常需要用低频信号源。但是由硬件电路构成的低频信号其性能难以令人 满意,而且由于低频信号源所需的RC很大,电阻大,电容大在制作上有困难,参数的精 度也难以保证;体积大、漏电和损耗大更是致命的弱点。一旦工作需求功能有增加,则电 路复杂程度会大大增加。 现代电子领域中,单片机的应用正在不断地走向深入,这必将导致传统控制于检测技 术的日益更新。单片机构成的仪器具有高可靠性、高性价比,在智能仪表系统和办公自动 化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响和汽车,处处 可见其应用。因此,单片机技术开发和应用水平己逐步成为一个国家工业发展水平的标志 之一。 一块单片机芯
13、片就是一台计算机,由于单片机这种特殊的结构形式,在某些应用领域 中,它承担了大中型计算机和通用微型计算机无法完成的一些工作,使其具有很多显著的 优点和特点,因此在各个领域中都得到了迅猛的发展。 第1.2节波形发生器的发展状况 波形发生器是能够产生大量的标准信号和用户定义信号的,并可以保证高稳定性、高 精度、易操作性和可重复性的电子仪器。波形发生器具有频率稳定性和连续的相位变换等 优点,它不仅可以模拟各种复杂的信号,还可对波形、频率、相移、幅值进行动态、及时 的控制,它还可以与其它仪器通讯组成自动测试系统,因此它被广泛用在震动激励、自动 控制系统、通讯和仪器仪表等领域。 在70年代以前,信号发生
14、器主要有两类:脉冲波和正弦波,而波形发生器介于两类 之间,能够提供正弦波、方波、三角波等儿种常用标准波形,如果产生其它波形时,则需 要釆用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而 苏州大学木科生毕业设计(论文) 且模拟器件构成的电路存在着价格贵、功耗大、尺寸大等缺点,并且要产生较为复杂的信 号波形,则电路结构十分复杂。同时,主要体现在两个较为突出的问题上,一是通过电位 器的调节來实现输出频率的调节,因此很难将频率调到某一个固定值;二是脉冲的占空比 不可调节。 在70年代以后,微处理器的出现,可以通过用处理器、D/A和AQ,硬件和软件使 波形发生器的功能变大,从而
15、产生更加复杂的波形。这个时期的波形发生器大多数以软件 为主,它的实质就是釆用微处理器对DAC的程序控制,就能够得到各种简单的波形。 90年代末,出现几种真正高价格、高性能的波形发生器、但是HP公司推出了型号为 HP770S的信号模拟装置系统,它是由HP1776A波形发生软件和HP8770A任意波形数字 化组成。实际上HP8770A也仅可以产生8种波形,而且价格十分昂贵。不久以后,LeCioy 公司生产的型号为9100的任意波形发生器,Analogic公司推出了型号为Data-2020的多 波形合成器等。 到了二十一世纪,随着集成电路技术的高速发展,出现了很多种工作频率可以超过 GHz的DDS芯
16、片,同时也推动了函数波形发生器的发展,在2003年,Agilent的产品 33220A就能够产生17种波形,最高频率可达到20M,在2005年,产品N6030A己经 能够产生高达500MHz的频率,釆样的频率可以达到1.25GHz。 苏州大学木科生毕业设计(论文) 第2章系统方案设计 本系统以STC89C52单片机为控制核心,对系统进行初始化,主要完成对键盘的响应、 液晶的显示、AD9834频率和波形的设定等功能的控制,起到总控和协调各模块之间工作 的作用。 图2-1系统结构框图 本系统结构如图2-1所示,本设计可分为以下模块:单片机主控模块、键盘模块、DDS 模块、液晶模块、增益可控模块。下
17、面对各个模块的设计方案逐一进行论证分析。 第21节单片机主控模块 STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-Flash Piogiammable and Erasable Read Only Memoiy )的低电压,高性能 CMOS 8 位微处理器, 俗称单片机。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52有40个引脚,4个8位并行I/O 口,1个全双工异步串行口,同时内含5 个中断源,2个优先级,2个16位定时/计数器。STC89C52的存储器系统由4
18、K的程序存 储器(掩膜ROM),和128B的数据存储器(RAM)组成。 它的内部结构如图2-2所示: 图2-2单片机内部结构框图 第5页 苏州大学木科生毕业设计(论文) STC89C52具有以下标准功能:8k字节Flash, 512字节RAM, 32位O 口线,看 门狗定时器,内置4KB EEPROM, MAX810复位电路,三个16位定时器/计数器,一个6 向量2级中断结构,全双工串行口。另外STC89052可以降到OHz静态逻辑操作,它支 持2种软件也可以选择节电模式。在空闲模式下,CPU停止工作,允许RAM、串口、定 时器/计数器、中断继续工作。 2. 1. 1. STC89C52单片机
19、主要特性 1、一个8位的微处理器(CPU)o 2、片内程序存储器ROM(4KB),用以存放一些原始数据、程序和表格。但也有一些 单片机内部不带ROM/EPROM,如8031, 8032, 80C31等。 3、片内数据存储器RAM(128B),用以存放可以读/写的数据,如运算的中间结果、 最终结果以及显示的数据等,SST89系列单片机最多提供1K的RAM。目前单片机的发 展趋势是将RAM和ROM都集成在单片机里面,这样既方便了用户进行设计乂提高了系 统的抗干扰性。SST公司推出的89系列单片机分别集成了 16K、32K、64KFlash存储器, 可供用户根据需要选用。 4、两个定时器/计数器,每
20、个定时器/计数器都可以设置成计数方式,用以对外部 事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。 为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。 5、四个8位并行I/O接口 P0P3,每个接口既可以用作输入,也可以用作输出。 6、一个全双工UART(通用异步接收发送器)的串行I/O 口,用于实现单片机之间或 单机与微机之间的串行通信。 7、片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频 率为12MHzo SST89V58RD最高允许振荡频率达40MH乙因而大大的提高了指令的执行 速度。 8、五个中断源的中断控制
21、系统。现在新推出的单片机都不只5个中断源,例如 SST89E58RD就有9个中断源。 2. 1. 2. STC89C52的引脚图如图23所示: 苏州大学木科生毕业设计(论文) I12txTALI KTAL2 12 : .:丄 RST ALE PQOjWDO PO.1JWD1 PO.2XAD2 A3.3XAD3 PO.4X6D4 PO.5XAD5 PO.5WD6 PO.7XAD7 P2.0fA8 P2伕9 P2.2fA10 P2.3fA11 P2 4fAi2 P2.5fA13 P2.BfA14 P2.7IA15 P1.0 P3.0/RXD P1.1 P3.1/TXD P1.2 P32/WW P1
22、.3 P334VT1 P1 4 P3.4/T0 pi .5 P3.STT1 P1.6 P3J 也经常要对外部事件进行计数。89C52单片机内集成有两个可编程的定时/计数器:TO和 T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作 为串行口的波特率发生器。 第22节液晶模块 液晶显示器(LCD)英文全称为Liquid Ciystal Display,它一种是采用了液晶控制透光度 技术来实现色彩的显示器。和CRT显示器相比,LCD的优点是很明显的。由于通过控制 是否透光來控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问题。 显示接口用來显示系统的状
23、态,命令或采集的电压数据。本系统显示部分用的是LCD 液晶模块,采用一个16X1的字符型液晶显示模块。 LCD 1602液晶模块釆用HD44780控制器,HD44780具有简单而功能较强的指令集, 可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传 输两种方式,HD44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR) 忙标志(BF),显示数RAM (DDRAM),字符发生器ROM (CGOROM)字符发生器RAM (CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于 寄存数据,数据由内部操作自动写入DDRA
24、M和CGRAM,或者暂存从DDRAM和CGRAM 读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM 用來存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160 中和5*10点阵字符32种. LCD 1602液晶模块的引脚图如图2-4所示: 苏州大学本科生毕业设计(论文) LM016L 图2-4 LCD1602引脚图 LCD 1602引脚介绍: VSS (1脚):一般接地。 VDD (2脚):接电源。 VEEC3脚):液晶显示器对比度调整端,接电源时对比度最弱,接地时对比度最高(对 比度过高时会产生“鬼影”,使用时可以通过一个10
25、K的电位器调整对比度)。 RS (4脚):RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄 存器。 RW (5脚):R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 E (6脚):E(或EN)端为使能(enable)端,下降沿使能。 DB0 (7脚):低4位三态、 双向数据总线0位(最低位) DB1 (8脚):低4位三态、双向数据总线1位 DB2 DB3 (9脚):低4位三态、 (10 脚): 低4位三态、 双向数据总线2位 双向数据总线3位 DB4 DB5 DB6 (II W): (12 脚): (13 脚): DB7 (14 脚): 高4位三态、 高
26、4位三态、 高4位三态、 高4位三态、 双向数据总线4位 双向数据总线 双向数据总线 双向数据总线 7位(最高位) 寄存器选择控制如表2-1: 表2-1寄存器选择控制 RS R/W 操作说明 0 0 写入指令寄存器(清除屏等) 0 1 读busy flag (DB7)以及读取位地址计数器(DB0、DB6)值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 第10页 苏州大学木科生毕业设计(论文) 第23节DDS模块 2. 3. 1. DDS技术简介 直接数字合成技术是美国学者于1971年提出的,即以全数字技术,从相位概念出发 直接合成所需波形的一中新的频率合成原理,称之为
27、直接数字频率合成器(Duect Digital Synthesis)o它的基本原理就是利用釆样原理,通过查表法产生波形。但是限于当时微电子 技术和数字信号处理技术的限制,DDS并没有被足够的重视,随着现代超大规模集成电路 的高速发展,使数字频率合成技术得到了质的飞跃,它在频率转换时间、相位连续性、相 对带宽、高分辨率、正交输出以及集成化等一系列性能指标方面,己经远超过了传统的频 率合成技术所能达到的水平。但是由于DDS数字化实现的固有特点,决定了其输出频谱 杂散较大。从20世纪80年代末,通过深入的研究认识了 DDS杂散的原因及其分布规律 后,对DDS相位累加器进行了改进,ROM数据进行了压缩
28、,使用了抖动注入技术以及对 DDS系统结构和工艺结构进行了改进。 (2-1) DDS技术建立在采样定理的基础上,它首先对需要产生的信号波形进行采样和量化, 然后存入存储器作为待产生信号波形的数据表。输出信号波形时,电路在一个高稳定时钟 控制下从数据表中依次读出信号波形的数据,产生过数字化的信号,这个信号再通过DAC 转换成所需的模拟信号波形。具体原理框图如图2-5所示。它的核心是相位累加器,由N 位加法器与N位相位寄存器构成,类似一个简单的计数器。加法器将频率控制字与累加寄 存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。这样,相 位累加器在时钟作用下,不断对频率控制字进
29、行线性相位累加。由此可以看出,相位累加 器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。 将相位寄存器的输出与相位控制字相加得到的数据作为一个地址对正弦查询表进行寻址, 查询表把输入的地址相位信息映射成正弦波幅度信号,通过D/A变换器把数字量变成模拟 量,再经过低通滤波器平滑并滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。 在参考频率为_/s的情况下,DDS系统输出信号的频率/0为: fo=K 粤 输出信号的频率分辨率A/0为: (2-2) *0=辛 第11页 苏州大学本科生毕业设计(论文) 频率控 A fsU fs 图2-5 DDS技术的原理框图 2. 3
30、. 2. AD9834 的简介 AD9834是一款能产生高质量正弦波和三角波的低功耗DDS芯片。它内部载有比较器 能产生方波用來产生脉冲信号。AD9834在3v时只有20mW的功耗,对功耗要求高的来说 是一个较好的选择。 提供了相位调制和脉冲调制的功能。有28位的频率寄存器;75M11Z的时钟频率,分 辨率为0.28Hz, 1MHz时为0.004Hzo频率和相位调制由存储寄存器决定,可以通过软件 或是通过FSELECT和PSELECT两个管脚操作串行口或修改存储器。 AD9834用三个串口写入数据。串口的操作时钟频率最高达到40MHz,并且有DSP和 微控制器标准兼容。其引脚图2-6如下: F
31、S ADJUST REFOUT COMP AVDD DVDD CAP/2.5V DGND MCLK FSELECT PSELECT AD9834 TOP VIEW (Not to Scale) IOUTB IOUT AGND VIN SIGN BIT OUT FSYNC SCLK SDATA SLEEP RESET 图2-6 AD9834引脚图 AD9834各个引脚定义及功能说明: FS ADJUST (1脚):全面调控。在此脚与AGND有个电阻RSET。这决定了整个DA 转换的电流的幅度。电流和RSET的关系:IOUTFULLSCALE=18*FSADJUST/KSET FSADJUST=1
32、.15V(额定),REST=6.8 K Q (典型值) REFOUT (2脚):输出参考电压。芯片内己有一个1.2V的电压参考值 COMP (3脚):DA转换偏压。用來耦合偏置电压 AVDD (4脚):模拟部分正极电源。范围2.3V5.5V,在AVDD和AGND之间应加一 个O.luF的去耦电容。 DVDD(5脚):数字部分正极电源。 第12页 苏州大学木科生毕业设计(论文) CAP/2.5V (6脚):数字电路运行在2.5V下。此电源产生于DVDD,用的是板上调节 器。这个调节器需要一个lOOnF的去耦电容,接在此脚和DGND间,如果DVDD=2.7V, 那么此引脚应与DVDD短接。 DGN
33、D (7脚):数字的接地。 MCLK (8脚):数字时钟输入端。DDS输出地频率表述为主时钟频率的二进制小数形 式。此输出地频率精确度和相位噪声由这个时钟决定。 FSELECT (9脚):频率选择输入端。FSELECT控制频率寄存器,FREQO、FREQ1, 这用在相位累加器。要用的频率寄存器可以由FSELECT或FSEL位來选择。当FSEL位选 择频率寄存器时,则FSELECT接于COMS的高或低。 PSELECT (10脚):相位选择输入端,PSELECT控制相位寄存器THASEO/FHASE1, 增加到相位累加器的输出,要用相位寄存器时可由FSELECT脚或PSEL位來选择,当由 FSE
34、L位控制时,FSELECT脚应接在CMOS的高或低。 RESET (11脚):激活高数字输入端。此引脚复位相应的内部寄存器置0,这相当于 部分模拟输出。RESET不会影响地址存储器。 SLEEP (12脚):激活高位数字输入端,当此引脚置高,DA转换关闭。此引脚一样有 控制SLEEP 12位的功能。 SDATA (13脚):数据串口输入端。16位数据由此输入。 SCLK (14脚):串行时钟输入。SCLK的每个下降沿就将一位输入AD9834。 FSYNC (15脚):激活地位控制输入端。此为输入数据的帧同步信号。当FSYNC拉 低,内部逻辑电路就会告知芯片一位新的字节进入了。 SIGN BIT
35、 OUT (16脚):逻辑输出。此引脚可以输出比较器的输出,也可输出来自 NCO的MSB,在寄存器置位POPBITEN可以使能此脚,DIGN.TIB为决定是比较器输出 还是来自NCO的MSB输出。 VIN (17脚):比较器输入端。比较器能够由正弦波DA转换的输出产生方波。在接 入比较器之前DA的输出应适当滤波以减小抖动。当置位OPBITEN和SIGN/PIB寄存器以 置1,比较器输入接VIN AGND (18脚):模拟的接地。 IOUT (19脚),IOUTB (20脚):电流输出。这是一个高阻抗电流源。像200Q电阻 接于IOUT和AGND之间。IOUTB应该在AGND之间接200的外部电
36、阻,也可直接接 AGND,建议在AGND间接一个20pF电容防止时钟馈通。 第13页 苏州大学木科生毕业设计(论文) 第3章硬件电路的设计 硬件电路主要包括单片机主控电路,液晶显示电路,AD9834电路,按键电路,增益 可控电路。 第3.1节 单片机主控电路及液晶显示电路 用STC89C52的P2 口作为数据线,用P3.2、P3.1、P3.0分别作为LCD的E、R/W、 RSo其中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设 计要点如下:显示模块初始化:首先清屏,再设置接口数据位为8位,显示行数为1行, 字型为5X7点阵,然后设置为整体显示,取消光标和字体闪烁,最后
37、设置为正向增量方式 且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符, 另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先 取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个 数,不够则地址加一取下一个要显示的字符或数据。 LCD 1602与STC89C52的接口电路图如下图3-1所示: 图3-1 LCD 1602与STC89C52的接I 1电路图 第3. 2节AD9834电路 AD9834电路设计的时候要注意好,以便模拟和数字部分能分离固定在板子的确定部 分,这可以使接地面便利的分离开。最小的刻板技
38、术一般对接地面很好,因为它给接地面 很好的防护。数字信号和模拟信号的地只需接在一个地方。如果AD9834是单个设备需要 AGND和DGND连接,板上的地面应该在AD9834的AGND和DGND脚连接如果AD9834 在一个系统中复杂的设备要AGND和DGND连接,连接应该在一个点上,尽可能在AD9834 第14页 苏州大学木科生毕业设计(论文) 附近建立一个中性点。AD9834电路设计图如图3-2所示: 第33节按键电路 l| *| *| *| 图3-3按键电路的电路图 按键电路设计图如上图3-3所示。把单片机的P2.0P2.7端口通过8联拨动拨码开关 连接到“4*4行列式键盘”,其中P2.0
39、-P2.3作为列线,P2.4-P2.7作为行线,系统首先通过 CPU对全部键盘进行扫描,即把第一根行线置为“0”状态,其余行线置于“1”状态,读 入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0” 状态,同样读入输入缓冲器的状态,如其状态也全为“1”,则置第一根行线置为“0”状 态,以此类推。如读入输入缓冲器的状态不全为“1”,确定哪一根列线为“0”状态,当 某个键的行线和列线都为“0”状态时,表明该键按下。 第3.4节增益可控电路 由于要使输出幅度可调,因为在DDS的输出端加上了一个增益可变的放大器,由于 第15页 苏州大学本科生毕业设计(论文) 使用的是单电源
40、进行供电,因此需要把信号先耦合到电源的中心点,设计中通过一个电位 器改变运放反向端到地的阻抗从而改变增益,电路图如图3-4所示: it T T 图3-4增益可控模块的电路图 第16页 苏州大学本科生毕业设计(论文) 第4章系统软件设计 第4. 1节Ke订软件的介绍 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统, 与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易 用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等 在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合
41、在一起。运行 Keil软件需要WIN98、NT、WIN2000. WINXP等操作系统。如果使用Ci吾言编程,那么 Keil几乎就是不二之选了,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环 境、强大的软件仿真调试工具也会令你事半功倍。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代 码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体 现高级语言的优势。 C51工具包的整体结构,uVision与Ishell分别是C51 for W
42、indows和for Dos的集成开 发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标 文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定 位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器 dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试, 也可以直接写入程序存贮器如EPROM中。 Keil C51软件的优点有以下两点: 1. Keil C51生成的目标代码
43、效率非常之高,多数语句生成的汇编代码很紧凑,容易理 解。在开发大型软件时更能体现高级语言的优势。 2. 与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而 易学易用。用过汇编语言后再使用C來开发,体会更加深刻。Keil C51软件提供丰富的库 函数和功能强大的集成开发调试工具,全Windows界面。 第4. 2节系统软件的整体设计 系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序 的编程,通过编程可得到各种波形。周期的改变可釆用插入延时子程序的方法來实现。 主程序流程图如图4-1所示: 第17页 苏州大学木科生毕业设计(论文) 图4-1主程序流程
44、图 第43节程序设计原理 软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成, 在硬件电路设计基本定型后,也就基本上决定下來了。 软件任务分析环节是为软件设计做一个总体的规划。从软件的功能來看可分为两大 类:一类是执行软件,它能完成各种实质性的功能,如测量、显示、计算、打印、通信和 输出控制等,另一类是监控软件,它是专门用来协调各执行模块与操作者之间的关系的, 在系统软件中充当组织调度角色。这两类软件的设计方法各有特色,执行软件的设计偏重 算法效率,与硬件关系密切,千变万化。 软件任务分析时,应先将各执行模块一一列出,并为每一个执行模块进行功能定义和 接口定义(输入输出
45、定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类 型问题也一并规划好。 各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最 适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较 易出问题。这如同当一名操作工人比较容易,而当一个厂长就比较难了。 软件任务分析的另一个内容是如何安排各个执行模块和监控软件。整个系统软件可分 为前台程序和后台程序(背景程序)。前台程序安排一些实时性要求较高的内容,如定时 系统和外部中断(如掉电中断);而后台程序指主程序及其调用的子程序,这类程序对实 时性要求不是太高,延误几十ms其至儿百ms也没关系,所以通
46、常将监控程序(键盘解释 程序),打印程序和显示程序等,与操作者打交道的程序放在后台程序中执行。不过也可 以将全部程序均安排在前台,后台程序为“使系统进入睡眠状态”,以利于系统节电和抗 第18页 苏州大学木科生毕业设计(论文) 干扰。 第4.4节信号产生的程序 AD9834通过时序控制产生信号,产生波形的程序如下: void AD9834(unsigned char Type,unsigned long Freq,unsigned int Phase) unsigned int Phaseword; unsigned long FreqWord=(unsigned long) (Freq * 3
47、57913941333 + 05); /2A28/75000000=5.36870912 unsigned int LSB = (FreqWord % 0 x4000) + 0 x4000;/低 14 位 unsigned int MSB = (FreqWord / 0 x4000) + 0 x4000;/高14位 switch(Type) case 0 : WriteDat (0 x2038) ;/正弦波 break; case 1: WriteDat (0 x2002) ;/三角波 break; case 2 : WriteDat (0 x2020) ;/方波,0 x2080 输出 MSB
48、, 0 x2020 输出 MSB/2 break; WriteDat(LSB);/写 FREQ0 REG 的 LSB WriteDat(MSB);/写 FREQ0 REG 的 MSB PhaseWord = (unsigned int)(Phase % 360 * 2048 / 31415926 + 0.5); WriteDat(OxCOOO + PhaseWord); #ifndef _AD9834_H_ #define _AD9834_H_ #include sbit AD9834_SYNC=P2A5; sbit AD9834_SCLK=P2A6; sbit AD9834_DIN=P2A7
49、; void AD9834(unsigned char Type,unsigned long Freq,unsigned int Phase); #endif 第19页 苏州大学木科生毕业设计(论文) 第5章系统调试 第5. 1节硬件调试 信号发生器系统的电路较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出 现一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚 要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。 在本波形发生器的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是 可以避免的,以下为主要的问题: 最开始的时候AD9834编写程序
50、驱动后没有输出波形 解决:经过查找相关资料,知道AD9834最大支持的时钟频率是75MHZ,而我使用的 是100MHZ的晶振,后來换成75MHZ便成功输出。 第52节软件调试 信号发生器是多功能的数字型系统,所以对于它的程序也较为复杂,所以在编写程序和 调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最 终解决了软件。在软件的调试过程中主要遇到的问题如下: 1. 烧入程序后,LCD液晶显示闪动,而且亮度不均匀。 解决:首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品 是使用动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程
51、 序时,如果不在返回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了 屏蔽子令,最后解决了此问题。 2. 当用户按下按键的时候,单片机读取的数值跟设定的数值不对。 解决:重新检查矩阵键盘电路的连接,重新建立一个新的对应关系。 第5. 3节调试结果 在测试中遇到LCD液晶为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏 焊,虚焊,或者元件损坏. 经过一系列的问题查找后系统最终能正常工作,并完成了波形发生器的基本功能。不 同频率时产生的波形如下图所示。 频率为10Hz时的方波波形如图5-1所示: 第20页 苏州大学本科生毕业设计(论文) 图5-1频率为10Hz时的方波波形 频率
52、为10Hz时的三角波波形如图5-2所示: 卜 :Ch j: :.5.4QV.: frvr1 :厂_ ! 1均方根值3 :周期2: 丄丄丄丄丄丄1丄丄丄丄1丄丄丄 FFT 27-Dec-1215:43 M Pos: 2.800ms AUTOSET 取消自 动设置 图5-2频率为10Hz时的三角波波形 频率为10Hz时的正弦波波形如图5-3所示: M Po$! -2.000m$ AUTOSET Tek JU I ! I mTHRf ,OT,THmri III FFT CH*|扌 周期 95.70m$? 整嗯值前QV.;上均荒根宿.2加L上取消自 CHIOOV 动设置 M 25.0msCHI Z O
53、.OQV 27-Dec-1215:41 图5-7频率为1MHz时的方波波形 频率为1MHz时的三角波波形如图5-8所示: 图5-8频率为1MHz时的三角波波形 频率为1MHz时的正弦波波形如图5-9所示: 图5-9频率为1MHz时的正弦波波形 第23页 苏州大学木科生毕业设计(论文) 结论 通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将 以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现波形发 生器的所有功能。不足之处有:1.硬件的稳定性有待进一步提高2系统人性化还不足。 我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能
54、力 都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌 握了 Piotel99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件 搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的 外围电路引脚和连接方法,如LCD液晶,键盘等。并且我学会了分析问题解决问题的能 力,加深了对所学理论知识的理解和运用。我的动手能力得到了很大的提高,创新意识得 到了锻炼。 写论文是一个不断学习的过程,我体会到实践对于学习的重要性,以前只是明白理论, 没有经过实践考察,对知识的理解不够明确,通过这次的做,真正做到理论实践相结合。 本设计是自己对
55、“单片机技术”课程的理解和实际技术的总结。论文中可能会存在一些不 足之处,敬请评审专家和各位老师批评指正。 总之,通过毕业设计,我深刻体会到要做好一个完整的事情,需要有系统的思维方式和 方法,对待要解决的问题,要耐心、要善于运用己有的资源來充实自己。同时我也深刻的 认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样才能 更加有效。 第24页 苏州大学木科生毕业设计(论文) 参考文献 1 .彭伟.单片机C语言程序设计实训100例M.电子工业出版社.2009 2 .吴运昌.模拟电子线路基础M.广州:华南理工大学出版社.2004 3 .阎石.数字电子技术基础M.北京:高等教育
56、出版社.1997 4 .张晓丽等.数据结构与算法M.北京:机械工业出版社.2002 5 .张涛等.现代DDS研究进展与概述J武汉:武汉科技人学.2008 6 .马忠梅等.ARM LCDDispString (0,1, f,wave: Sin”); LCDDispString (0,2zfreq: 0001000Hz1); AD9834 (0, 1000, 0); while(1) key_scan(); #include nAD9834.hIT static void WriteDat(unsigned int dat) unsigned char i; AD9834_SYNC=0; for
57、(i=0;i16;i+) if (dat 第28页 苏州大学本科生毕业设计(论文) else AD9834_DIN=0; dat =1; AD9834_SCLK=0; AD9834 SCLK = 1; AD9834_SYNC=1; void AD9834(unsigned char Type,unsigned long Freq,unsigned int Phase) unsigned int Phaseword; unsigned long FreqWord=(unsigned long) (Freq * 357913941333 + 0 5); /2A28/75000000=5.36870
58、912 unsigned int LSB = (FreqWord % 0 x4000) + 0 x4000;/低 14位 unsigned int MSB = (FreqWord / 0 x4000) + 0 x4000;/高14位 switch(Type) case 0 : WriteDat (0 x2038) ;/正弦波 break; case 1: WriteDat (0 x2002) ;/三角波 break; case 2 : WriteDat (0 x2020) ;/方波,0 x2080 输出 MSB, 0 x2020 输出 MSB/2 break; WriteDat(LSB);/写
59、 FREQ0 REG 的 LSB WriteDat(MSB);/写 FREQ0 REG 的 MSB PhaseWord = (unsigned int)(Phase % 360 * 2048 / 31415926 + 0.5); #includenkey.h” unsigned unsigned unsigned unsigned WriteDat(OxCOOO + PhaseWord); char char char char gFunctionCount=0; gTimeCount=0; gType=0; FreqNum7 = 0r 0z 0,0z 0,0; static void del
60、aylOms(void) unsigned char j,i; for (j=0;j110;j+) for(i=0;i10;i+); void key_scan(void) 第29页 苏州大学本科生毕业设计(论文) unsigned long freqtemp; if (KEY1=O) delaylOms(); if (KEY1=O) gFunctionCount+; if(gFunctionCount=l) gTimeCount=0; LCDDispChar(15,lz 1#1); else if(gFunctionCount=2) gTimeCount=0; LCDCursor(); LC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国泡沫颗粒市场调查研究报告
- 2025年中国慢动式温控器市场调查研究报告
- 2025年中考英语作文实例分析与范文参考
- 科研项目团队劳动力保障措施
- 2025年中国多轴复合机市场调查研究报告
- 2025年中国塑料尿布袋市场调查研究报告
- 土建工程项目进度管理的有效措施
- 人教版七年级下册生物探究学习计划
- 中考道德与法治二轮专题复习知识梳理与考点精练专题二十 维护国家利益(含解析)
- 2025年中国互联网电子商务解决方案市场调查研究报告
- 冷链物流成本控制-全面剖析
- 有关商品房预售合同样本合同样本7篇
- 2025年高考物理复习备考策略讲座
- 管理学基础-形考任务三-国开-参考资料
- 2024-2025学年北师大版七年级数学上册期末复习压轴题12个(84题)含答案
- 2025年3月版安全环境职业健康法律法规标准文件清单
- 2025年河南交通职业技术学院单招职业技能测试题库审定版
- T∕CEC 442-2021 直流电缆载流量计算公式
- 第二十一章传导热疗法讲解
- 智能硬件发展特点及趋势分析
- 关于物业客服培训的
评论
0/150
提交评论