基于51单片机控制的函数波形发生器_第1页
基于51单片机控制的函数波形发生器_第2页
基于51单片机控制的函数波形发生器_第3页
基于51单片机控制的函数波形发生器_第4页
基于51单片机控制的函数波形发生器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 毕业论文目录前言11 总体方案设计与原理21.1 方案的设计与选择21.2 设计原理31.3 设计思想31.4 设计功能42 硬件单元模块设计52.1 硬件原理框图52.2 自制电源52.3 主控电路52.4 数/模转换电路62.5 晶振电路72.6 复位电路73 软件设计83.1 软件设计原理83.2 软件工具简介83.2.1 Proteus简介83.2.2 Keil C简介103.3 软件设计结构图与程序流程图103.3.1软件设计结构图103.3.2 软件设计程序流程图114 软硬件联调134.1软硬件输出结果对比134.2 软硬件实现过程与结果分析15结论15小结16参考

2、文献175 英文部分18附录19全文共_25_页_8913_字基于51单片机控制的函数波形发生器计算机与信息工程学院 2009级通信班 * 2009*指导教师 * 讲师摘要此文介绍一种用AT89C51单片机构成的函数波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的频率可用程序改变,并可根据需要选择输出波形。其中运用软硬件结合的方法实现设计功能,具有线路简单、结构紧凑、性能优越等特点。关键词: 51单片机;DAC;函数波形发生器前言波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。在 70年代前,信号发生器主要有两类:正弦波和

3、脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。在 70 年代后,微处理器的出现,可以利用处理器、A/D和 D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器

4、对DAC的程序控制,就可以得到各种简单的波形。90 年代末,出现几种真正高性能、高价格的函数发生器,但也只能产生为数不多的几种波形,且价格昂贵。到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHz的DDS芯片,同时也推动了函数波形发生器的发展,2003年,Agilent的产品33220A能够产生 17种波形,最高频率可达到20M,2005年的产品N6030A能够产生高达500MHz的频率,采样的频率可达 1.25GHz。由上面的产品可以看出,函数波形发生器近几年来发展很快,国际上波形发生器技术发展主要体现在以下几个方面:(1)过去由于频率很低应用的围比较狭小,输出波形频率的

5、提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式。从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如Visual Basic ,Visual C 等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。(2)与VXI资源结合。

6、目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以与新近开发的VXI模块。由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事与国防等大型领域。在民用方面,VXI模块远远不如台式仪器更为方便。(3)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品

7、减少了一半。基于这种现状此设计运用软硬件联调的方法设计一种电路简单,价格低廉,性能优越的函数波形发生器,并让其实现正弦波,方波,锯齿波,三角波的输出,各波形频率幅度可调,方波占空比可调。1 总体方案设计与原理1.1 方案的设计与选择方案一:采用单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高1。方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。方案三:采用单片机编程的方法来

8、实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。1.2 设计原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C5

9、1单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以与串行通讯接口等,只要将89C51再配置键盘与其接口、显示器与其接口、数模转换与波形输出、指示灯与其接口等四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图1所示。89C51单片机接口电路D/A转换器滤波放大 输出图1 信号发生器原理框图89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号经过接口电路到达转换电路,将其转换成模拟信号也

10、就是所需要的输出波形。1.3 设计思想(1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,信号的频率和幅度可变。(2)将一个周期的信号分离成256个点(按X轴等分),每两点之间的时间间隔为T,用单片机的定时器产生,其表示式为:T=T/256。如果单片机的晶振为12MHz,采用定时器方式0,则定时器的初值为:X=213T/Tmec(1)定时时间常数为:TL=(8192T)/MOD256 (2)TH=(8192*T)/256 (3) MOD256表示除256取余数2。(3)正弦波的模拟信号是D/A转换器的模拟量输出,其计算公式为:Y=(A/2sint)+A/2(其中A=VREF)(4)t=

11、N*T (N=1-256) (5)那么对应着存放在计算机里的这一点的数据为: (6) (4)一个周期被分离成256个点,对应的四种波形的256个数据存放在以TAB1-TAB4为起始地址的存储器中。1.4 设计功能(1)本方案利用AT89C51扩展9个独立式按键,1个数码管显示器。其中“S1”号键代表正弦波输出,“S2”号键代表方波输出,“S3”号键代表锯齿波输出,“S4” 号键代表三角波输出,“S5” 号键代表方波占空比增加, “S6” 号键代表方波占空比减少,“S7” 号键代表波形频率增加,“S8” 号键代表波形频率减少,“S9” 号键代表复位 。(2)利用一个共阳极数码管显示数字来判断输出

12、的相应波形。(3)频率,幅度可调,频率围为1001000 Hz,幅度围为100800 mv。2 硬件单元模块设计2.1 硬件原理框图硬件原理方框图如图1所示。晶振电路数/模转换电路单片机显示电路复位电路波形输出自制电源放大电路图2 硬件原理框图2.2 自制电源此电源由桥型整流电路和由7805芯片组成的稳压电路组成,具有电压稳定,可靠性高等优点1。如图3所示。图3 自制电源2.3 主控电路AT89C51单处机部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式与四种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时

13、间。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断3。中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片定时器/计数器溢出时产生的中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求,AT89C51响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形4。如图4所示,AT89C51从P1口接收来自

14、键盘的信号,并通过P2口输出一些控制信号,用于控制其信号的输出。如果有键按下,则在读控制端会产生一个读信号,使单片机读入信号。如果有信号输出,则在写控制端产生一个写信号,并将所要输出的信号输出,并在数码管上显示出来。图4 主控电路2.4 数/模转换电路数模转换就是将离散的数字量值转换为连续变化的模拟量值,实现该项功能的电路或器件称为数模转换电路,通常称为D/A转换器或DAC(Digital Analog Converter)。其基本原理是将输入的每一位二进制代码按其权的大小转换成相应的模拟量,然后将代表各位的模拟量相加,所得的总模拟量就与数字量成正比,这样便实现了从数字量到模拟量的转换。这就是

15、构成 D/A 转换器的基本思路。由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以与输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。如图5所示 。图5 数/模转换电路2.5 晶振电路单片机系统里都有晶振,且在单片机系统里晶振作用非常大,全程叫晶体振荡器。它结合单片机

16、部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步5。如图6所示。2.6 复位电路复位电路的作用是在上电或复位过程中,控制CPU的复位状态。这段时间让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。无论用户使用哪种类型的单片机,总要涉与到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,

17、并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。复位电路如图7所示。图6 晶振电路 图7 复位电路3 软件设计3.1 软件设计原理函数波形发生器的软件设计是基于Keil C和Proteus软件联合调试实现的。首先在Keil C软件环境下写入源程序然后建立工程文件编译运行无误后使其生成相应的.HEX文件,接着在Proteus软件环境中将生成的.HEX文件加载进入51单片机中,在电路连接无误的情况下进行调试运行即可6。3.2 软件工具简介3.2.1 Proteus简介英国Labcenter公司推出的Proteus软件是一款极好的单片机应用

18、开发平台,它以其特有的虚拟仿真技术很好地解决了单片机与其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用PC以虚拟仿真方式实现单片机系统的软、硬件同步仿真调试,使单片机应用系统设计变得简单容易。Proteus软件涵盖了PIC、AVR、MCS8051、68HC11、ARM等微处理器模型,以与多种常用电子元器件,包括74系列、CMOS 4000系列集成电路、A/D和D/A转换器、键盘、LCD显示器、LED显示器,还提供示波器、逻辑分析仪、通信终端、电压/电流表、I2C/SPI终端等各种虚拟仪表,这些都可以直接用于仿真设计,极提高了设计效率和设计水平。Proteus软件已有20多

19、年的历史,在国外应用较为普遍,尤其在教育界的口碑极佳。近年来Proteus软件被引入国,在多所高等工科院校中得到成功应用。在单片机教学中采用Proteus软件,使单片机的学习过程变得直观形象,可以直接在基于原理图的虚拟模型上进行编程,并实现源码级的程序仿真调试,如有显示与输出,还能看到程序运行后的输出效果,配合各种虚拟仪表来展现整个单片机系统的运行过程,很好地解决了长期以来困扰单片机教学过程中软件和硬件无法很好结合的难题。采用PC进行虚拟仿真实验要比采用单片机实验箱更为有效,因为用户可以根据需要随时对原理电路图进行修改,并立即获得仿真结果。由于在PC上修改原理电路图要比在实验箱上修改硬件电路容

20、易得多,而且还可以根据设计要求采用不同元器件,或者修改元器件参数以获得不同输出结果,在成功进行虚拟仿真并获得期望结果的条件下,再制作实际硬件进行在线调试,可以获得事半功倍的效果。学生普遍反映,在Proteus软件平台上学习单片机知识,比以往单纯学习书本知识更易于接受,以原理图虚拟模型进行程序仿真调试,更易于提高单片机编程能力,还可以通过绘制和修改原理电路图增加很多实践经验。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以与自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品“The Route to

21、PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型. 3.2.2 Keil C简介Keil软件是目前最流

22、行开发MCS-51系列单片机的软件, Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的

23、库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 Keil C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,与其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活

24、的开发环境。    3.3 软件设计结构图与程序流程图3.3.1软件设计结构图软件设计中,先确定设计方案与功能,然后在Keil C中编译程序,最后进行Proteus仿真。如图8所示。Keil C编译行生成.HEX文件Proteus仿真电路载入编译运行示波器输出确定设计方案与功能图8软件设计结构图3.3.2 软件设计程序流程图本文中子程序的调用是通过按键的选择来实现,在取得按键相应的键值后,启动计时器和相应的中断服务程序,再直接查询程序中预先设置的数据值,通过转换输出相应的电压,从而形成所需的各种波形。主程序的流程图如图9所示,在程序开始运行之后,首先是对单片机进行

25、初始化,之后判断按键值,如符合所需的按键,则重置时间常数,并通过显示器显示出来,不符则返回。在中断结束后,还要来判断波形是否符合,如符合,则调用子程序,不符则返回,重新判断。图9 主程序流程图图10为各波形子程序的流程图。如图所示,在中断服务子程序开始后,通过判断来确定各种波形的输出,当判断选择的不是正弦波后,则转向对方波的判断,如此反复。如果选择的是正弦波,则用查表的方法求出相应的数据,并通过D/A转换器将数据转换成模拟信号,形成所需波形信号。图10 子程序的流程图图11为各波形频率调节子程序流程图。图12为方波占空比调节子程序流程图。图11 波形频率调节子程序流程图 图12 方波占空比调节

26、子程序流程图4 软硬件联调4.1软硬件输出结果对比(1)软硬件输出正弦波对比,如图13,图14所示。图13 软件正弦波输出图14 硬件正弦波输出(2)软硬件输出方波对比,如图15,图16所示。图15 软件方波输出图16 硬件方波输出(3)软硬件输出方波占空比增加,如图17,图18所示。图17 软件输出方波占空比增加图18 硬件输出方波占空比增加(4)软硬件输出方波占空比减少,如图19,图20所示。图19 软件输出方波占空比减少图20 硬件输出方波占空比减少(5)软硬件输出锯齿波对比,如图21,图22所示。图21 软件输出锯齿波图22 硬件输出锯齿波(6)软硬件输出三角波对比,如图23,图24所

27、示。图23 软件输出三角波图24 硬件输出三角波4.2 软硬件实现过程与结果分析软件设计过程中遇到问题颇多:首先对软件Keil C和Proteus不了解,以前没有接触过。在查阅资料和请教老师后才解决了软件安装问题。接着在Keil C软件中编译源程序,由于是初次在其中编程,不了解头文件的应用与程序编排格式,在运行程序时错误百出,经过看书和同学讨论后才将程序编译无误。再次,用proteus仿真时起初一些元器件找不到,在查阅资料后才将电路图连接出来。当再调试仿真时发现51芯片中未加载程序,在将Keil C环境下生成的.HEX文件加载入51芯片后仿真波形才出现。 硬件实现过程中遇到的主要问题是焊接问题

28、。由于焊接电路板采用的是万用板,因此在焊接时要自己电线搭建电路,这就为焊接带来麻烦。焊接过程中出现了虚焊和错焊问题,导致输不出波形。在经过检测和排查后,才将实物电路焊接完成。 软硬件输出结果由图13至图24对比分析可知:软件输出结果良好,硬件输出结果有一定失真,由此可见理论与实践是有差距的。在实物输出中,输出波形抖动且一定失真,其原因可能是电源输出电压不稳或者数模转换电路频率与晶振频率不匹配,也有可能是电路还存在虚焊。结论此次毕业设计基本实现了设计要求,产生了设计需要的正弦波,方波,三角波,且各波形频率幅度可调,并在此基础上多增加一种波形锯齿波,又增加一种功能方波占空比可调和自制一个9v电源。

29、美中不足的是实物输出波形时无法消除抖动现象,分析其原因可能是自制电源输出电压不稳或数模转换时频率不匹配。小结回顾此次毕业设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在一两个月的日子里,可以说得是苦多于甜,但是学到很多的东西,同时不仅可以巩固以前所学过的知识,而且还学到了很多在书本上所没有学过的知识。通过这次课程设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。在设计的过程中遇到问题,可以说得是困难重重,毕竟是第一次做这么大的系统,难免会遇到过各种各样的

30、问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对C语言掌握得不好等问题。这次毕业设计终于顺利完成了,在设计中遇到了很多问题,最后在鹏举老师的辛勤指导下,终于迎刃而解。同时,在*老师那里我学到了很多实用的知识,在此我表示感!同时,对给过我帮助的所有同学和各位指导老师再次表示衷心的感!参考文献1 童诗白.模拟电路技术基础M.:高等教育,2000.171202.2 程全.基于AT89C52实现的多种波形发生器的设计J.师学院学报,2005.22(5):5758.3 杜华.任意波形发生器与应用J.国外电子测量技术,200

31、5.1:3840.4 叶紫. MCS-51单片机应用教程M.:清华大学,2004.232238.5 友德.单片微型机原理、应用与实践M.:复旦大学,2004.4044. 6 海宴.51单片机原理与应用基于Keil C与ProteusM.:航空航天大学,2010.5 英文部分Function waveform generator controlled by 51 MCUComputer and Information Engineering College Communications Engineering Wang*2009*Directed by Zhang *lecturerAbstra

32、ctThis paper introduces a function waveform generator controlled by 51 MCU ,which can generate square wave, triangle wave, sine wave, sawtooth wave and so on. The generator can change the waves frequency and amplitude and select what kind of wave to output.The design used the method whichcombined th

33、e hardware and software to achivethe design function. So, ithas the advantages of simple circuit, compact structure and superior performancecharacteristics.KeywordsMCU;DAC;Function waveform generator附录附录1 源程序#include <reg52.h>#include<absacc.h>#define uchar unsigned char#define uint unsi

34、gned intsbit s1=P10; /定义S1S8控制单片机P1口输入sbit s2=P11;sbit s3=P12;sbit s4=P13;sbit s5=P14;sbit s6=P15;sbit s7=P16;sbit s8=P17;uint d1,d2;uint s,p;uint n;uchar code bxnum =0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82, /设置数码管初始化0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;uchar code sintab256= /256个采样点取值输出正弦波0x80,0

35、x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0

36、xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0

37、x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0

38、x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0

39、x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80;uchar code jctab128= /128个采样点取值输出锯齿波 0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,0x40,0x42,0x44,0x46,0x48,0x4a

40、,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e,0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xc0,0xc2

41、,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe;uchar code sjtab256= /256个采样点取值输出三角波0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2

42、c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e,0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,0xa0,0xa2,0xa

43、4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe,0xfe,0xfc,0xfa,0xf8,0xf6,0xf4,0xf2,0xf0,0xee,0xec,0xea,0xe8,0xe6,0xe4,0xe

44、2,0xe0,0xde,0xdc,0xda,0xd8,0xd6,0xd4,0xd2,0xd0,0xce,0xcc,0xca,0xc8,0xc6,0xc4,0xc2,0xc0,0xbe,0xbc,0xba,0xb8,0xb6,0xb4,0xb2,0xb0,0xae,0xac,0xaa,0xa8,0xa6,0xa4,0xa2,0xa0,0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,0x90,0x8e,0x8c,0x8a,0x88,0x86,0x84,0x82,0x80,0x7e,0x7c,0x7a,0x78,0x76,0x74,0x72,0x70,0x6e,0x6c,0x6

45、a,0x68,0x66,0x64,0x62,0x60,0x5e,0x5c,0x5a,0x58,0x56,0x54,0x52,0x50,0x4e,0x4c,0x4a,0x48,0x46,0x44,0x42,0x40,0x3e,0x3c,0x3a,0x38,0x36,0x34,0x32,0x30,0x2e,0x2c,0x2a,0x28,0x26,0x24,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x14,0x12,0x10,0x0e,0x0c,0x0a,0x08,0x06,0x04,0x02,0x00;void delay (uchar k) /延时控制子函数 uchar j; while(

温馨提示

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

评论

0/150

提交评论