《多功能智能函数发生器的设计-毕业论文.doc》由会员分享,可在线阅读,更多相关《多功能智能函数发生器的设计-毕业论文.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、, 毕业设计(论文)题目: 多功能智能函数发生器设计 系 别 信息工程系 专业名称 电子信息工程班级学号 088205232学生姓名 熊磊君指导教师 向瑛二一三 年 五 月 毕业设计(论文)任务书I、毕业设计(论文)题目:多功能智能函数发生器的设计II、毕 业设计(论文)使用的原始资料(数据)及设计技术要求:以单片机为核心器件组成一个多功能智能函数发生器。 1、系统能够产矩形波、三角波、正弦波。2、系统可以通过选择开关选择相应的波形输出。 3、系统具有复位功能。 4、系统可用LED显示输出波形的种类和频率。 III、毕 业设计(论文)工作内容及完成时间:第1周-第3周: 开题报告的撰写,翻译英
2、文资料第4周-第11周: 硬、软件设计,调试第12周-第14周: 整体调试第15周-第17周: 撰写论文第18周: 答辩准备及答辩 、主 要参考资料: 1沈红卫.基于单片机的智能系统设计与实现.电子工业出版社,2005.1 2张先庭,向瑛.单片机原理、接口与C51应用程序设计.国防工业出版社,2011.1 3程明等.LED显示原理J.电讯技术,2004,14(3):32-33 4李军.51系列单片机高级实例开发指南北京航空航天大学出版社,2003 58-bit Microcontroller with 2K bytes FlashAt89C2052 Atmel corporation ,200
3、5 6夏路易,石宗义电路原理图与电路板设计北京希望电子出版社,2002.6 信息工程 系 电子信息工程 专业类 0982052 班学生(签名): 填写日期: 2012 年 12 月 25 日指导教师(签名): 助理指导教师(并指出所负责的部分):信息工程 系主任(签名 ) 学士学位论文原创性声明本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。除了文中特别加以标注引用的内容外,本论文不包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本声明的法律后果由本人承担。作者
4、签名: 日期:2013年5月15日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌航空大学科技学院可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 作者签名: 日期:2013年 月 日导师签名: 日期:2013年 月 日多功能智能函数发生器设计学生姓名:熊磊君 班级:0982052指导老师:向 瑛 摘要:函数信号发生器是电子设计以及教学、科研中应用最广泛的仪器。如果能用相应简单电路实现稳定优秀和精确度的常用波形,
5、必将能被广泛的运用。本文设计函数发生器采用马克西姆公司MAX038芯片产生函数信号,及其芯片基本特性,运用芯片自身特性及其外围电路控制波形频率,调节占空比,并对频率及占空比的控制做了比较详尽的论述,以51系列单片机和外围电路控制波形种类,通过电路放大后从而通过键盘控制输出不同波形。该函数发生器以软件控制实现一系列有规律的幅度和频率可调的方波、三角波和正弦波,低成本、多功能、高精度。关键词: MAX038 函数信号 单片机 指导老师签字:Multi-functional intelligent function generatorStudent Name: Xiongleijun Class:
6、088205232Supervisor: XiangyingAbstract: Function signal generator is the most widely used in electronic design and teaching, scientific research instruments. If can use the corresponding simple circuit excellent stability and accuracy of common waveform, is bound to be widely used. Designed function
7、 generator MAX038 chip by maxim company produce function signal, the basic features and its chip, chip itself characteristic and its peripheral circuit is used to control waveform frequency, adjusting the duty ratio, and control of the frequency and duty ratio) were compared for detailed discussion,
8、 with 51 series single chip microcomputer and peripheral circuit control waveform types, enlarged electric circuit to output different waveform by keyboard control. The function generator to software control to realize a series of regular amplitude and frequency adjustable square wave, triangle wave
9、 and sine wave, low cost, multi-function, high precision. Key words: MAX038; Function Signal; Single-chip microprocessor Signature of Supervisor: 目 录1.绪论12.系统概述和方案设计22.1 概述22.2 设计指标22.3 方案论证与比较23.系统硬件的设计53.1 系统总体设计5芯片介绍5芯片引脚8频段调节控制9频率、幅值、占空比控制103.4 频率、占空比调节113.5 输出信号的放大处理133.6 电源电路143.7 键盘设计153.8 本章
10、小结154.系统软件设计164.1 主程序流程164.2 子程序流程17致谢19参考文献20附 录211 单片机程序212 系统完整电路图24 南昌航空大学科技学院2013届学士学位论文 多功能智能函数发生器设计1 绪 论 函数发生器是实验室常用信号源,也是工业,科研等常用的信号源,也是模拟电路中经典的电路实例,其设计方法有许多种,本次课题选用单片机为核心器件,而单片机所够成的仪器具有可靠性好,高性价比,体积小,集成度高,这也使其在现在电子硬件发展中成为最为广泛应用的器件之一。 基于MAX038的多波形函数信号发生器设计,结合现在正在使用的信号发生器的基本功能,完成一个基本系统的设计全过程。通
11、过MAX038来产生一系列有规律的幅度和频率可调的方波、三角波和正弦波,这样的一个多波形函数信号发生器在控制领域有着相当广泛的应用范围。 本文主要分五大部分:绪论、系统概述和设计方案、硬件部分、软件部分、总结。绪论首先对课题背景和所涉及的技术领域进行介绍;第一章对系统所要完成的功能进行讲解,确定系统的主要参数,第二章对系统的硬件结构和各部分组成进行简要的介绍;第三章软件部分,这部分重点介绍了主程序的流程图及驱动程序。2 系统概述和方案设计2.1 概述 函数发生器在通信,广播,电视系统等方面运用广泛,是常用信号源,也是工业,科研等常用的信号源,也是模拟电路中经典的电路实例,其设计方法有许多种。2
12、.2 设计指标1 系统能够产生递增斜波、递减斜波、方波、三角波、正弦波、及阶梯波。2 系统可以通过选择开关选择相应的波形输出。3 系统具有复位功能。4 系统可用LED显示输出波形的种类和频率。2.3 方案论证与比较方案一 系统主要采用51系列单片机,D/A转换器组成输出,该单片机是波形设计的核心。该信号发生器原理框图如方案一流程 图2.1键盘输入输出AT89C51单片机运放放大UA741D/A转换DAC0832显示 图2.1 系统流程图 总体原理为:利用AT89C51单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,方案一流程 图2.1,信号发生器原理框图本方案其主要模块包
13、括复位电路、时钟信号、键盘控制、D/A转化及LED显示。方案二 系统由51系列为单片机控制模块,MAX038信号产生模块,LED显示模块,占空比调节模块,DAC模块,电压放大模块组成,图2.2为系统框图。键盘51系列单片机LED显示信号输出频率微调 放大输入 MAX038信号震荡器波形选择信号产生模块占空比调节频率调整图2.2 系统流程图方案三 系统由51系列为单片机,使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。方案四 采用通用的51系列单片机AT89C52作为主控制器,通过ZLG72
14、89控制键盘及显示器输入频率与幅度并接入DDS ADC9850产生各种波形,通过积分电路与其自身带有的正弦波和方波可以产生三角波等,正弦信号由D/A芯片TLC5615采样。方案讨论方案一:电路简单,但抗干扰能力较弱,不易调节,而其成本底方案二:利用单片集成芯片的函数发生器:能产生多种波形,达到较高的频率,且易于调试。鉴于此,美国马克西姆公司开发了新一代函数信号发生器ICMAX038,它克服了方案二中芯片的缺点,可以达到更高的技术指标,是上述芯片望尘莫及的。MAX038频率高、精度好,因此它被称为高频精密函数信号发生器IC。在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上,MAX038
15、都是优选的器件。 方案三:电路复杂,干扰因素多,不易实现。方案四:产生信号较稳定,且不容易控制。宗上方案研究故采用方案二较适当。263 系统硬件的设计 依据MAX038输出频率的数控调节原理,配合单片机控制,可以实现数控的函数信号发生器。3.1 系统总体设计整机由的四大模块组成,分别是单片机外围控制电路(波形选择电路,按键电路),MAX038外围电路(频率,占空比调节),放大电路,及电源电路。流程图布局如图3.1所示。频率调节按键电路放大电路MAX038AT89C52单片机输出占空比波形选择电路图3.1 总设计原理布局图 3.2 单片机介绍及外围电路芯片介绍AT89C52是51系列单片机的一个
16、型号,是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS型8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有
17、PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性 兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外
18、接石英晶体及电容C1, C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1, C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,这里选择使用石英晶体。也可以采用外部时钟。采用外部时钟的电路的情况时,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。外围电路工作在11.0592MHz频率下,其P2.0引脚和MAX038的A0和A1相连,用于选择输出波形;KEY为单片机的外围44键盘接口,它和单片机的P1.0P1.7连接,P1.0P1.3对应于键盘的行14,P1.4P1.7对应于键盘列的14。 图3
19、.2 单片机外围硬件电路3.3 MAX038芯片介绍MAX038是美国MAXIM公司应市场的需求而研制的单片集成高频精密函数发生器,具有较高的频率特性、频率范围很宽、功能较全、单片集成化、外围电路简单、使用方便灵活等特点。内有主振荡器、波形变换电路、波形选择多路开关、2.5V基准电压源、相位检测器、同步脉冲输出及波形输出驱动电路等。其主要优点有:1)能精密地产生三角波、锯齿波、矩形波、方波、正弦波信号。2)频率范围从0.1Hz20MHz,最高可达40MHz,各种波形的输出幅度均为2V3)占空比调节范围宽,占空比和频率均可单独调节,二者互不影响,占空比最大调节范围是1090。4)波形失真小,正弦
20、波失真度小于0.75,占空比调节时非线性度低于2。5)采用5V双电源供电,允许有5变化范围,电源电流为80mA,典型功耗400mW,工作温度范围为070。6)低温度漂移:200 PPM。7)低阻抗输出缓冲器:0.1;8)内设2.5V电压基准,可利用该电压设定FADJ、DADJ的电压值,实现频率微调和占空比调节。芯片引脚 图 3.3 MAX038芯片图 表3.1 MAX038引脚说明名 称功 能REF2.50 V带隙基准电压输出端GND地A0波形选择输入端,TTLCMOS兼容A1波形选择输入端,TTLCMOS兼容COSC外部电容连接端GND地DADJ占空比调整输入端FADJ频率调整输入端GND地
21、IIN用于频率控制的电流输入端GND地PDO相位检波器输出端。如果不用相位检波器则接地PDI相位检波器基准时钟输入端。如果不用相位检波器则接地SYNCTTLCMOS兼容的同步输出端,可由DGND至DV+间的电压作为基准DGND数字地。让他开路使SYNC无效,或是SYNC不用DV+数字+5 V电源。如果SYNC不用则让他开路V+5 V电源GND地OUT正弦波、方波或三角波输出端V-5 V电源 频段调节控制MAX038的输出频率和CF电容与IIN端的电流间的关系如表2.7.1 所示。固定一个CF值,当IIN 端的电流从到的变化时,对应产生一个频段的频率范围。经实验调整,选择了一系列的CF 如表3.
22、1 所示,并确定了各CF所对应的频段和频率范围。由于系统通过DAC 控制IIN 端电流和FADJ 端电压,将各频段的频率范围划分为65536 级间隔,因此各频段的输出误差为图3.3 输出频率与IIN 电流及振荡电容CF的关系此外,由于相邻频段之间存在着频率重叠现象,并且考虑到各个频段对应的误差大小有所差异,因此设定各频段的实际起止频率围:f3f4,以便获得最小的误差。表3.2 输出波形频率范围与CF的关系表频段号CFf1(2A)f2(750A)ff3f4110pF200kHz65MHz1kHz600kHz10MHz21nF2kHz650kHz10Hz6kHz600kHz3100nF20Hz6.
23、5kHz0.1Hz60Hz6kHz410F0.2Hz65Hz0.001Hz0.2Hz60Hz在5脚COCS和6脚GND接上电容以后,10脚IIN是频率控制的电流输入端,利用恒定电流向电容充电和放电,便可形成振荡。是受8脚FADJ和7脚DADJ端电压的控制,振荡频率由下式确定。 (式3.1)因为要求的频率范围在0.2Hz10MHz,分四个频段来满足要求,在每个频段上连续可调,由芯片内部参数可知道,当时,的容量范围可以在时,芯片有较好的性能。因此,有(3.1)式可知 (式3.2)当时,;当时,为了使数字控制能够使实现,在D/A转换模块使用图2.5所示的电阻连接方法。当数字量为00H时,输出为。MA
24、X038的10脚IIN有的电流输入。当数字量为FFH时,输出为基准电压。MAX038的10脚IIN有的电流输入。用式(3.1)(3.2)可以检验,确定表3.1所列的电容值可满足后面频率产生要求。频率、幅值、占空比控制MAX038的核心部分是一个电流控制的振荡器,通过恒定电流对外部电容CF充电和放电,获得三角波、方波和正弦波信号输出。充放电电流由流进MAX038的IIN引脚的电流控制,由加在引脚DADJ、FADJ上的电压调整。电路的振荡频率为:波形的占空比为:。当时,IIN可设为时,可设为,对应中心频率为350:1的变化;当时,调制频偏为70%。控制外部电容充、放电电流的比值,当时,波形的占空比
25、为50%;当,占空比为10%90%。在FADJ和DADJ端口的内部,设置了的下拉电源流,可简化外部电路设计,仅用电阻(连接引脚FADJ和基准电压的可变电阻)和(连接引脚DADJ和基准电压的可变电阻)就可以对频偏和占空比进行调整。IIN引脚由内部的运放强制为虚地,故仅用电阻就能调整输入电流,实现中心频率的调节。的基准电压源主要用于提供电流和、电压,其温度系数典型值为20ppm/,负载电流小于。通过控制8选1模拟开关CD4051来选择的电容量,从而确定频率范围。本系统共有8个频段供切换,输出频率范围与的对应关系如下表3.2所示。表3.3 输出频率范围与的对应关系波段电容值频率范围120pF2MHz
26、20MHz2100pF200kHz2MHz31000pF20kHz200KHz40.01F2KHz20KHz50.1F200Hz2KHz61F20Hz200Hz710F2Hz20Hz8100F0.1Hz2HzMAX038内部有一个的基准电压源,由REF引脚输出。基准电压源由两个LF353及电阻电容组成,分别组成放大倍数为1和1的缓冲器,因而得到的基准电源。这个电压源对整机的性能很重要,因为各控制电路均需要该参考输入。在应用中,MAX038通常可以单独承担函数信号输出的功能,通过外部的电阻和电容的调节,完成特定频率和幅值的信号输出。3.4 频率、占空比调节MAX038的占空比的调整有两种方式,一
27、种时利用内部基准电压源调整,另一种是利用外加电源调整,为使电路简单,采用第一种调整方式。在MAX038 的DADJ端应用一个2.3V2.3V 的电压控制信号, MAX038 的DADJ引脚上的电压可控制波形的占空比(定义为输出波形为正时所占时间的百分数),并且能够改善正弦波的波形,可进行脉冲宽度调制和产生锯齿波。当接地(即)时,其占空比为50%,占空比的调整可采用MAX505的一片DAC,输出2.3V 范围内的电压,占空比可在10%90%范围内改变,约每伏改变15%,当电压超过2.3V 将使频率偏移或引起不稳定。为产生一定占空比而加在DADJ上的电压为: (3.1)对双极性输出的D/A 转换器
28、,基准电源为2.3V时,MAX505接受数据与占空比的关系式为: (3.2)其中:为DADJ 引脚上的电压,为占空比。这样可完成激励信号的占空比设置。调整的充放电时间,在10%90%的范围内调整振荡器输出的三角波,最终产生失真的正弦波,锯齿波和脉冲波。这三种波形同时送入混合器,由A0,A1选择输出。所以为简单起见,关于占空比调节和频率调整,可采用外部电位器调整控制。调节频率调整电路的电位器,改变MAX038输入端IIN的电流大小,从而改变频率值;调节占空比调节电路中的电位器,改变MAX038输入端DADJ的电压大小,从而改变占空比。图3.3中的芯片为Maxim公司的信号发生芯片MAX038,其
29、波形选择引脚A0和A1与单片机的P2.0和P2.1引脚相连,在单片机的控制下输出正弦波、矩形波和三角波3种不同的波形,波形的频率和幅值可以通过外部的可变电阻进行调节。OUT为MAX038的信号波形输出,送至放大电路。MAX038在正弦波输出时,输出的信号频率为F0=2*2.5V/R*C图3.3 MAX038外围硬件电路3.5 输出信号的放大处理MAX038输出波形的幅值为2 V(P-P),且输出电流不高,最大输出电流为20mA,输出阻抗的典型值为0.1。可直接驱动100的负载。为了得到更大的输出幅度和驱动能力,就需要对波形信号作进一步处理,图3.4给出了一个波形输出与驱动电路。波形信号从MAX
30、038的OUT端输出后,可使其通过一个AD811进行电压放大。AD811为电流反馈型宽带运放,其带宽增益积为140MHz,15V供电,增益为+10的情况下,-3dB带宽达100MHz,非常适合本系统的放大要求,有12V的输出摆幅,且输出电流最大可达100mA,完全可以满足峰峰值要求。后接BUF634P起缓冲器的作用。所以必须在输出级至少有一级放大电路来提供足够的输出电压和电流,以满足一般使用要求。以下是放大电路设计的几点考虑: 首先,放大电路要求具有很高的频宽,因为输出信号最大基频为20MHz,其三角波和矩形波的高次谐波成分很高,只有高宽频才能得到不失真的输出波形。 其次,高频大信号放大要求放
31、大电路有足够的输出电压转换速率。 另外,要带动低阻负载,放大电路的电流输出能力也是个重要参数。要在1K负载上输出5V信号,则放大器至少要有的连续电流输出能力。图3.4 输出信号的放大驱动电路3.6 电源电路根据整机要求,电源电路应为信号产生电路提供5V电压,其中5V电压需要稳压输出,为此选用了7805, 7905两种三端集成稳压器,这种三端固定电压输出式集成稳压器,使用简单,价格较低,且由于内部具有过压过流保护,使整机的电源电路稳定,性能可靠。外接9V交流电输入,经绝对值电路,然后滤波通过7805,7905产生5V的直流电压。在中间串入7812和7912,则可以为波形放大驱动电路提供12伏的工
32、作电压。电源部分电路图如图3.5所示。图3.5 电源电路图3.7 键盘设计软件需要实现的主要功能是检测键盘的输入,根据输入结果选择相应的波形信号。键盘操作和对应的输出如下: 输入按键0(第1行第1列),得到正弦波; 输入按键1(第1行第2列),得到矩形波; 输入按键2(第1行第3列),得到三角波;在图4.1中,键码为11对应的是第1行第1列的按键;键码为21对应的是第1行第2列的按键;键码为41对应的是第1行第3列的按键。3.8 本章小结本章节着重介绍了如何通过硬件电路的组合,来实现先前多波形函数信号发生器的设计。涉及的主要器件有MAX038、单片机89C52、放大器AD811、八一片选CD4
33、051和缓冲器BUF634P。4 系统软件设计4.1 主程序流程 主程序首先对程序进行初始化,如AT89C52的初始化,输出波形,频率占空比的初始化,然后不断检查是否有有效按键按下,并根据不同情况对其处理,其中频率的调节则相对复杂,首先要根据键入的键值确定输出波形的基频,从而确定所对应的值,再求出微调电压,最后把值送到CD4051,选择相应波形送出。如主程序流程图4.1。 图4.1 主程序流程图4.2 子程序流程开始退出输出键值是否有键按下?消抖扫描键盘开始调用键盘扫描函数A0-0;A1-0A1 = 1;A0,A1矩形波A1 = 1;A0,A1 N (1)开始 调用键盘扫描函数 YA0-0;A
34、1-1A1 = 1;A0,A1正弦波A1 = 1;A0,A1 (2)开始 图4.3 键盘扫描子程序调用键盘扫描函数 A0-1;A1-0A1 = 1;A0,A1三角波A1 = 1;A0,A1 (3) 图4.2 单片机子程序流程图4.3系统分析总结与展望采用MAX038 芯片制作函数信号发生器随设计思想不同,具有多种方法,本文只是其中一种可实现的方法。设计出的信号发生器结构简单,不需调整,具有很高的性价比,体积也很小。和利用分离元件实现的发生器相比,具有显著的优势,这足以弥补它在某些方面的不足。由于此次实现的信号发生器电路是模数混合电路,因此在电路设计和线路板布局上都有所研究。具体有: MAX03
35、8的模拟电源和数字电源需要分开,在供电时要分别供电,即分别取自不同的电源,以防数字信号通过电源线干扰模拟部分;同样模拟地和数字地的处理也要慎重,PCB板上要用低阻地平面分别将模拟地和数字地连接,然后在某一点上将两地相连。在双层板上,信号线要尽量布在焊接面,元件为地平面,这样可以减少信号间的干扰,这一点对系统性能的稳定尤为重要,因为系统性能受IIN、FADJ、DADJ、COSC等引脚周围的分布电容及信号环境的影响特别敏感,此外,这些引脚引线的长度和面积还应尽量短小由于不同结构的电阻具有不同的寄生电容和寄生电感,因此在选择电阻时,应选用寄生电容和寄生电感小的电阻,推荐使用1%以上精度的金属膜电阻。
36、在高频线路中,电源去耦是一个关键问题。整个线路往往会由于电源引线而产生电路谐振,当有多大的瞬时变化时,也会产生尖峰干扰信号。消除这两种现象的有效办法就是在片子的电源引脚与地之间加上适当的去耦电容,一般使用1F以上的优质电容。在许多场合,采用两个电容并联的方法(并联一个0.1F电容),则去耦效果更佳。致谢 本次选题到设计制作都得到向瑛老师的悉心指导,与耐心帮助,通过此次毕业设计获得颇多。并从老师严谨的工作态度中学习了更多,以后步入社会的工作与生活的态度。在此由衷的感谢老师。感谢南昌航空科技学院老师们四年的不仅在专业的学习上给予我的帮助,更感谢他们在我的为人处事上给予的教诲。参考文献1沈红卫.基于
37、单片机的智能系统设计与实现.电子工业出版社,2005.12张先庭,向瑛.单片机原理、接口与C51应用程序设计.国防工业出版社,2011.13程明等.LED显示原理J.电讯技术,2004,14(3):32-334李军.51系列单片机高级实例开发指南北京航空航天大学出版社,200358-bit Microcontroller with 2K bytes FlashAt89C2052 Atmel corporation ,20056 夏路易,石宗义电路原理图与电路板设计北京希望电子出版社,2002.67 周明,腾国文,张文波.MAX038芯片在波形发生器中的应用.元器件与应用8 MAXIN 公司.
38、MAX038 技术资料Z . 2002. 9. Maxim. New Releases Data Book.Vol.IV.199510. 何香玲 ,郑钢. 数字化波形发生器的设计J . 电子技术应用 ,2007 11.MAXIM公司.high-Frequency Waveform Generator:http:/www.maxim-,200512.谢淑如,等.Protel PCB 99SE 电路板设计M .北京:清华大学出版社,2001附 录1 单片机程序#ifndef_SIGNALGEN_H / 防止SignalGen.h被重复引用#define_SIGNALGEN_H#include /
39、引用标准库的头文件#define uchar unsigned char uchar key;/ 按键值 sbit A0 = P20;/ MAX038的波形选择位A0sbit A1 = P21;/ MAX038的波形选择位A1void delay();uchar keyscan();#endif/* 用于键消抖的延时函数 */void delay()uchar i;for (i=400;i0;i-);/* 键扫描函数 */uchar keyscan(void)uchar scancode,tmpcode;P1 = 0xf0; / 发全0行扫描码if (P1&0xf0)!=0xf0)/ 若有键按下delay();/ 延时去抖动if (P1&0xf0)!=0xf0)/ 延时后再判断一次,去除抖动影响scancode = 0xfe;while(scancode&0x10)!=0)/ 逐行扫描P1 = scancode;/ 输出行扫描码if (P1&0xf0)!=0xf0)/ 本行有键按下tmpcode = (P1&0xf0)|0x0f;/* 返回特征字节码,为1的位即对应于行和列 */return(scancode)+