2022年数字信号发生器的设计 .pdf

上传人:Che****ry 文档编号:25432377 上传时间:2022-07-11 格式:PDF 页数:19 大小:668.76KB
返回 下载 相关 举报
2022年数字信号发生器的设计 .pdf_第1页
第1页 / 共19页
2022年数字信号发生器的设计 .pdf_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《2022年数字信号发生器的设计 .pdf》由会员分享,可在线阅读,更多相关《2022年数字信号发生器的设计 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、个人收集整理仅供参考学习I 数字信号发生器的设计精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 19 页个人收集整理仅供参考学习II 摘要数字信号发生器是在电子电路设计、自动控制系统和仪表测量校正调试中应用很多的一种信号发生装置和信号源。而正弦信号是一种频率成分最为单一的常见信号源,任何复杂信号 ( 例如声音信号 )都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的叠加,广泛地应用在电子技术试验、自动控制系统和通信、仪器仪表、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域。关键词:数字信号发生器、信号处理、应

2、用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 19 页个人收集整理仅供参考学习III 目录1 绪论 . . 11.1 课题描述 . 1 1.2 信号发生器外围结构 . 1 2. 实验芯片简介 . . 22.1 AT89C51 的简介 . . 22.2 DAC0832 芯片 . . 43 数字信号发生器的设计方案. . 83.1 方案简介 . 83.2 方案论证与比较. 83.3 数字信号发生器硬件设计. 93.4 数字信号发生器的软件实现 . 123.5 测量结果与误差分析 . 15总结 . . 15参考文献 . . 16精选学习资

3、料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 19 页个人收集整理仅供参考学习1 1 绪论1.1 课题描述信号发生器广泛应用于电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域。采用集成运放和分立元件相结合的方式,利用迟滞比较器电路产生方波信号,以及充分利用差分电路进行电路转换,从而设计出一个能变换出三角波、正弦波、方波的简易信号发生器。通过对电路分析,确定了元器件的参数,并利用Multisim软件仿真电路的理想输出结果, 克服了设计低频信号发生器电路方面存在的技术难题,使得设计的低频信号发生器结构简单,实现方便。本研究的

4、数字信号发生器是基于直接数字合成即DDS技术设计的 , 采用 VHDL 与 C语言相结合的方法 , 通过查找存储于 ROM 查找表中的各种标准波形数据, 产生频率可调并且高精度的正弦波、方波、锯齿波等常用信号 , 并且可以通过修改表中的数据, 实现任意信号发生器 . 1.2 信号发生器外围结构图 1 信号发生器外围结构示意图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 19 页个人收集整理仅供参考学习2 如上为信号发生器结构示意图, 本文介绍的是一种用51 单片机构成的波形发生器,可产生三角波、方波、锯齿波和正弦波等多种波形,波形的周

5、期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。2. 实验芯片简介2.1 AT89C51 的简介AT89C51 是一种带 4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8 位微处理器,俗称单片机。 AT89C2051 是一种带 2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

6、由于将多功能8位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示图 2 AT89C51 芯片外形结构及引脚分布图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 19 页个人收集整理仅供参考学习3 管脚说明:VCC :供电电压。GND :接地。P0口:P0口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL门电流。当 P0口的管脚第一次写 1 时,被

7、定义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据 / 地址的第八位。在 FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时, P0输出原码,此时 P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8 位双向 I/O 口,P1口缓冲器能接收输出4TTL门电流。 P1口管脚写入 1 后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时, P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8 位双向 I/O 口,P2口缓冲器可接收,输出4个 TTL门电流,当 P2口被写“ 1”时

8、,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是 8 个带内部上拉电阻的双向I/O 口,可接收输出4 个 TTL门电流。当 P3口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3口将输出电流( I

9、LL )这是由于上拉的缘故。P3口也可作为 AT89C51 的一些特殊功能口,如下表所示:各端口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0 (外部中断 0)P3.3 /INT1 (外部中断 1)P3.4 T0 (记时器 0 外部输入)P3.5 T1 (记时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 19 页个人收集整理仅供参考学习4 P3.7 /RD (外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RS

10、T :复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6 。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止 ALE的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX , MOVC 指令是 ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效

11、。/PSEN :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ),不管是否有内部程序存储器。 注意加密方式 1 时,/EA 将内部锁定为 RESET ;当/EA 端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V编程电源(VPP )。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。2.2 DAC0832芯片DAC0832 是

12、 8 分辨率的 D/A转换集成芯片。 与微处理器完全兼容。 这个 DA芯片以其价格低廉、 接口简单、转换控制容易等优点, 在单片机应用系统中得到广泛的应用。D/A转换器由 8 位输入锁存器、 8 位 DAC 寄存器、 8 位 D/A 转换电路及转换控制电路构成。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 19 页个人收集整理仅供参考学习5 图 3 DAC0832 DAC0832 的主要特性参数如下:分辨率为 8 位;电流稳定时间 1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电( +5V+15V);低

13、功耗, 20mW 。DAC0832 结构:D0 D7:8 位数据输入线, TTL电平,有效时间应大于 90ns( 否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS :片选信号输入线(选通数据锁存器),低电平有效;WR1 :数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由 ILE、CS 、WR1 的逻辑组合产生LE1,当 LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER :数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2 :DAC 寄存器选通输入线,负脉冲(脉宽应大于500ns)有

14、效。由 WR2 、XFER 的逻辑组合产生 LE2,当 LE2为高电平时, DAC 寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始 D/A 转换。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 19 页个人收集整理仅供参考学习6 IOUT1 :电流输出端 1,其值随 DAC 寄存器的内容线性变化;IOUT2 :电流输出端 2,其值与 IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb 端外接电阻值可调整转换满量程精度;Vcc:电源输入端, Vcc的范围为 +5V+15V ;VREF

15、:基准电压输入线, VREF 的范围为 -10V+10V;AGND :模拟信号地DGND:数字信号地DAC0832 的工作方式:根据对 DAC0832 的数据锁存器和 DAC寄存器的不同的控制方式,DAC0832 有三种工作方式:直通方式、单缓冲方式和双缓冲方式。DAC0832 引脚功能电路应用原理图DAC0832 是采样频率为八位的D/A 转换芯片,集成电路内有两级输入寄存器, 使 DAC0832 芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路 D/A 异步输入、同步转换等 ) 。所以这个芯片的应用很广泛 , 关于 DAC0832 应用的一些重要资料见下图: D

16、/A 转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过 RFB端引用片内固有电阻,也可外接。DAC0832 逻辑输入满足 TTL电平,可直接与 TTL电路或微机电路连接。DAC0832 引脚功能说明:DI0DI7:数据输入线, TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS :片选信号输入线,低电平有效。WR1 :为输入寄存器的写选通信号。XFER :数据传送控制信号输入线,低电平有效。WR2 :为 DAC 寄存器写选通输入线。Iout1: 电流输出线。当输入全为1 时 Iout1 最大。Iout2: 电流输出

17、线。其值与Iout1 之和为一常数。Rfb: 反馈信号输入线 , 芯片内部有反馈电阻 . Vcc:电源输入线 (+5v+15v) Vref: 基准电压输入线 (-10v+10v) AGND: 模拟地 , 摸拟信号和基准电源的参考地. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 19 页个人收集整理仅供参考学习7 DGND: 数字地 , 两种地线在基准电源处共地比较好. 2.DAC0832的引脚特性:DAC0832 是 20 引脚的双列直插式芯片。各引脚的特性如下:片选信号,和允许锁存信号ILE 组合来决定是否起作用。ILE允许锁存信

18、号。写信号 1,作为第一级锁存信号,将输入资料锁存到输入寄存器(此时,必须和 、ILE 同时有效)。写信号 2,将锁存在输入寄存器中的资料送到DAC 寄存器中进行锁存(此时,传输控制信号必须有效)。传输控制信号,用来控制。DI7DI08 位数据输入端。IOUT1 模拟电流输出端1。当 DAC 寄存器中全为 1 时,输出电流最大,当DAC寄存器中全为 0 时,输出电流为 0。IOUT2 模拟电流输出端2。IOUT1+IOUT2= 常数。RFB 反馈电阻引出端。 DAC0832 内部已经有反馈电阻,所以,RFB端可以直接接到外部运算放大器的输出端。相当于将反馈电阻接在运算放大器的输入端和输出端之间

19、。VREF 参考电压输入端。可接电压范围为10V 。外部标准电压通过VREF 与 T型电阻网络相连。VCC 芯片供电电压端。范围为+5V+15V ,最佳工作状态是 +15V 。AGND 模拟地,即模拟电路接地端。DGND数字地,即数字电路接地端。3.DAC0832的工作方式DAC0832 进行 D/A转换,可以采用两种方法对数据进行锁存。第一种方法是使输入寄存器工作在锁存状态,而DAC 寄存器工作在直通状态。具体地说,就是使 和 都为低电平, DAC 寄存器的锁存选通端得不到有效电平而直通;此外,使输入寄存器的控制信号ILE 处于高电平、 处于低电平,这样,当 端来一个负脉冲时,就可以完成 1

20、 次转换。第二种方法是使输入寄存器工作在直通状态,而DAC 寄存器工作在锁存状态。就是使 和 为低电平, ILE 为高电平,这样,输入寄存器的锁存选通信号处于无效状态而直精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 19 页个人收集整理仅供参考学习8 通;当 和 端输入 1 个负脉冲时,使得 DAC 寄存器工作在锁存状态,提供锁存数据进行转换。根据上述对 DAC0832 的输入寄存器和 DAC 寄存器不同的控制方法,DAC0832 有如下3 种工作方式:单缓冲方式。单缓冲方式是控制输入寄存器和DAC 寄存器同时接收资料,或者只用输入

21、寄存器而把DAC 寄存器接成直通方式。 此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到 DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。直通方式。 直通方式是资料不经两级锁存器锁存,即 CS*,XFER* ,WR1* ,WR2* 均接地, ILE 接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O 接口与 CPU连接,以匹配 CPU 与 D/A 转换。3 数字信号发生器的设计方案3.1 方案简介用一块 AT89C51实现键盘输入扫描与LE

22、D数码管显示控制,同时通过UART 向AT89C2051 发送频率控制与波形转换档位选择信息。AT89C2051 通过 UART 接收 AT89C51 发送的控制信息,选择波形转换档位之后通过内部定时器在I/O 口产生相应频率的方波信号,至此完成数字信号发生过程。2051 将产生的方波信号输入运算放大器组成的积分电路,得到相同频率的三角波信号,该三角波信号通过差分放大电路得到相同频率的正弦波信号。该信号发生器能准确输出频率范围为16HZ 70KHZ 的三种波形信号。3.2 方案论证与比较信号发生部分:方案一:使用锁相环通过分频运算实现频率的步进,这种方案频率稳定度高,但程控比较困难,而且步进范

23、围过大,鉴于锁相环技术比较复杂,没有采用这种方案。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 19 页个人收集整理仅供参考学习9 方案二:使用专用函数发生电路,如ICL8038 或 MAX038 ,通过 D/A 转换调整函数发生器控制电压实现频率的控制, 这种方案可以使频率连续可调, 省却了波形转换电路,但控制电压与频率的变化不是严格的线性关系,如果不加频率负反馈则频率无法稳定准确,加上频率负反馈将使电路大大复杂,稳定度也会下降,而且如果要实现比较大的带宽,就需要不断更换振荡电容,电路复杂程度进一步增加。为避免调试困难,没有采用这

24、种方案。方案三:使用单片机的定时器设置定时时间,每半个周期对 I/O 口取反一次, 从而实现频率输出。这种方案虽然在高频频段误差比较大,但是编程简单控制容易,权衡以上利弊,我们选择了方案三。键盘与显示控制部分:方案一:使用并行控制器8279 或 IIC 总线控制器 ZLG7290 构建键盘与显示部分,编程简单功能强大,但成本较高而且接口协议比较复杂,我们没有采用。方案二 : 使用单片机本身的I/O 口做键盘和显示控制,能够节省大量外围器件,符合硬件软化的原则,而且本系统对按键和显示部分的要求并不高,所以我们采用了这种方案。波形转换部分:方案一:使用专用的波形转换芯片, 效果好但成本高, 也没有

25、典型的器件可以采用,故没有使用这种方案。方案二:使用分立元件构建转换电路, 虽然特性不够好, 但是简单易用, 易于实现,故采用这种方案。综上所述,我们选择了用两块51 单片机实现数字信号发生器的设计,一块用于信号发生,一块用于键盘显示控制,电路简洁,编程容易,易于调试。3.3 数字信号发生器硬件设计控制部分(1) 硬件连接与基本功能:AT89C51 的 P0 口通过 330 欧姆上拉电阻驱动 8 位共阴数码管的段选, P2 口通过74LS244 同相缓冲放大后驱动8 位数码管位选, P1口接 4*4 键盘,键盘列选通过与门接到单片机外部中断INT1,UART口与 AT89C2051 的 UAR

26、T 口连接实现通讯。 系统晶振使用 24M ,故一个机器周期为0.5US。当按下数字键,则键盘显示相应的数字键,再按其精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 19 页个人收集整理仅供参考学习10 他数字键则数码管发生相应的移位,所有数字输入之后,按下发送键,相应控制信息通过 UART 发送至 AT89C2051 。图 4 硬件连接示意图(2)键盘扫描部分设计系统复位后,先令键盘行选P1低四位为低电平,列选高四位为高电平,当按下任意键,列选线被拉为低电平,经过与门后向单片机提出外部中断,以此判断有键按下。此后关闭中断,进入键盘扫

27、描程序。键盘扫描的原理是先设定第一行为低电平,同时读取列选线,经过程序运算判断出按键位置,若所按键不在第一行,则继续扫描,扫描顺序依次类推。(3)数码管显示部分设计系统复位后,8 位数码管均显示 0,当有键按下并经过判断之后,将对应键值显示到对应的数码管上。按发送键后频率显示依然保持,直到有新的数字键被按下。数码管动态显示根据视觉暂留原理设计,每选中一位后延时10MS 左右,显示效果令人满意。延时时间过长亮度会提高,但显示会发生闪烁,时间过短显示稳定功耗降低, 但亮度下降。 由于数码管为共阴并且74LS244 为同相总线驱动, 故编程时设置相应的位选为0 才可以选通该位,这个问题应该注意。(4

28、)UART 通讯部分设计精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 19 页个人收集整理仅供参考学习11 因为 51 系列单片机本身就有硬件UART 功能,所以这部分设计非常简单,只需将AT89C51 与 AT89C2051 的 UART 对应连接起来既可。 UART 工作于模式 0,定时器 0 作为波特率发生器,波特率9600。信号发生部分:这部分使用 AT89C2051 最小系统完成。 AT89C2051通过 UART 接收到 AT89C51 发送来的频率与波形转换的分档信息之后,经过计算后装载定时器高低位寄存器,然后允许定时

29、器中断,每次定时器溢出后对P1.0 口取反,从而形成占空比为50% 的相应频率的方波信号, 定时时间为设定频率信号周期的一半。因为 AT89C2051 只有一个定时器, 所以定时器只能分时复用,即在通讯时作为波特率发生器,通讯结束之后作为信号发生定时器。因 P1.0 为 AT89C2051 内部比较器输入端,为开漏输出,需加10K 上拉电阻,否则不能发出标准方波信号。其他三个I/O 口线连接 CD4051 模拟开关,用来选择相应档位。电路原理图如下:图 5 信号发生电路原理图波形转换部分 : (1)方波三角波转换部分设计此电路使用高输入阻抗高速运放LF353构建积分电路, LF353 转换速率

30、达到13V/US ,可以保证高频部分转换速度。由于在不同频率下需要使用不同容量的反馈电容才能保证波形与幅度的准确,故使用CD4051 模拟开关切换不同的反馈电容。基本积分电路原理不再赘述,实验证明波形与输出幅度均令人满意。(2)三角波正弦波转换部分设计精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 19 页个人收集整理仅供参考学习12 我们使用两只高性能差分对管LM394 构建差分放大电路作为三角波正弦波转换电路,一只 LM394 作为差分放大级,一只LM394 作为恒流源电路。三角波经过差分放大并经过输出削波电容的波形转换,使三角波

31、转换为圆滑正弦波。由于输出波形和幅度大小与信号频率和输出削波电容的匹配有关,故此电容的接入也用CD4051 分为八档,这八档与积分电路的电容选择联动,构成双刀八掷模拟开关。实验证明,正弦波的波形良好,但是在同一档位内幅度变化比较大,如果分为16 个档位效果会更好。图 6 波形转换电路原理图电源部分:图 7 电源部分电路图外部电源输入接入全桥, 可以使用交直流电源, 使用直流电源时可以进行极性转换,可以防止电源输入反接。电源稳压部分由三端稳压提供正负12V 电源供给运算放大器,7805 提供正 5V 电源供给单片机。单片机复位使用一般的阻容复位, 实验证明复位可靠。3.4 数字信号发生器的软件实

32、现软件流程:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 19 页个人收集整理仅供参考学习13 软件使用 C51 编制,开发环境为KEIL7.0。2051 部分软件设计流程非常简单,不再赘述, AT89C51 控制部分软件流程图如下:图 8 AT89C51 控制部分软件流程图设计程序:ORG 0013H LJMP EXINT ORG 1000H EXINT:ORL P1, #0FH ;P1 口低 4 位为输出JB P1.0,SERV1 ;选择锯齿波JB P1.1,SERV2 ;选择三角波JB P1.2,SERV3 ; 选择矩形波JB

33、 P1.3,SERV4 ; 选择正弦波RETI ; 中断返回SETV1: MOV A, #00H ; 初始化开始全显示 0 显示该位数字并存储在寄存其中发送数据是否有键按下?按下的是否为发送键?是否否是精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 19 页个人收集整理仅供参考学习14 MOV R3, #0FEH MOV DPTR,#7FFFH ; 取入口地址MM: MOVX DPTR, A ; 送转换INC A LCALL LOOP2 ; 决定波形坡度DJNZ R3,MM ; 判断转移SJMP EXINT SERV2:MOV A,#

34、00H ; 初始化MOV DPTR,#7FFFH ; 取入口地址SS1:MOVX DPTR,A ; 送转换LCALL LOOP2 ; 决定波形坡度SS2:INC A CJNE A ,#0FFH,SS1 ; 判断波形是否达到峰值SS3:DEC A ;波形开始下降MOVX DPTR,A ; 送转换LCALL LOOP2 ;决定波形坡度JNZ SS3 ; 判断波形是否达到谷值SJMP EXINT ; 产生下一个周期SERV3: MOV A, #00H ;初始化MOV DPTR,#7FFFH ;取入口地址MOVX DPTR,A ; 送转换LCALL LOOP1 ; 调用子程序MOV A, #0FFH

35、MOVX DPTR,A ; 送转换LCALL LOOP2 ; 调用子程序SJMP EXINT ; 产生下个周期波形SERV4:MOV R5, #0FEH ; 置偏移量SIN: MOV A, R5 MOV DPTR, #500H ; 从表格中取数MOVC A,A+DPTR ;送入寄存器中精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 19 页个人收集整理仅供参考学习15 MOV DPTR,#7FFFH ;取入口地址MOVX DPTR,A ; 送转换LCALL LOOP2 INC R5 ;偏移量加一CJNE A, #0D9H,SIN SJ

36、MP EXINT 该参考程序是由图1 外围设置的硬件所决定的 , 全部程序使用 2 个子程序,即使LOOP1 ,LOOP2 。LOOP1 延时 5ms ,LOOP2 延时 2.5 ms ,在矩形波中即做占空比调节,又可控制其周期, LOOP2 用于 SERV1 ,SERV2 ,SERV4 均作调节频率(周期)之用。LOOP1 ,LOOP2 延时子程序,均采用多循环延时子程序设定,因硬件使用12MHz 晶振,故不难得出延时时间。3.5 测量结果与误差分析测试仪器使用 60M 带宽数字示波器, 方波信号的波形与幅度完全令人满意。三角波的波形很好,满幅度输出接近正负12V,频率改变以后波形良好,输出

37、幅度有所变化,在可接受范围之内。正弦波波形良好,由于分档比较少,出现在同一档位内输出幅度随着频率升高而降低的问题,若通过减小电容的方法提高输出幅度,则低频率下波形会因为输出幅度过大而出现一定的失真,这个问题可以通过增加档位的方法解决。由于系统使用 24M 晶振,则 16 位定时器最多 32767.5us 溢出一次,v(); 则信号最低的频率是 16Hz。 同样道理 16 位定时器最少 0.5US 溢出一次,则信号最高频率是 1MHZ ,但是频率升高以后程序本身的运行要占用大量时间,实际测量在 70KHZ 之内能够保证误差足够小。在低频段频率相当精确,如果想进一步降低到超低频的话,可以在软件中设

38、置一个计数器,但是频率上限将会下降。如果使用高速单片机,如AVR 或者 DS89C320 ,频率上限可以提高很多, 同时 AT89C2051 的程序编制改用汇编的话, 代码量将缩小, 也有利于提高频率上限。总结经过努力,本次单片机课程设计终于做完了,由于我知识水平有限,有很多不恰当精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 19 页个人收集整理仅供参考学习16 的地方,请老师指正,我会虚心接受并修改。在本次课程设计过程中,通过理论与实际的结合,增强了自己的动手能力和分析能力。在课下与老师同学的交流和学习,思想上和专业知识课程上都提

39、高了很多。在此过程中,我学会了很多,也看到了很多自己的不足之处。在单片机应用方面自己掌握还有待提高,在以后的学习生活中,我会更加努力学习专业知识,完善自我,为将来的发展做好充分的准备。总之,在这次课程设计中,我受益匪浅,学到了很多书本上所没有的东西,懂得了理论和实际联系的重要性,使自身得到了锻炼。明白了在以后的学习中,不仅要把理论知识掌握牢固,更要提高自己的动手能力、分析能力与实践能力。参考文献1 胡汉才单片机原理与接口技术M 北京:清华大学出版社,1995.62 楼然苗等 51 系列单片机设计实例 M 北京:北京航空航天出版社,2003.33 何立民 . 单片机高级教程 M 北京:北京航空航

40、天大学出版社,20014 赵晓安 . MCS-51 单片机原理及应用 M. 天津:天津大学出版社,2001.35 肖洪兵 . 跟我学用单片机 M. 北京:北京航空航天大学出版社,2002.86 夏继强 . 单片机实验与实践教程 M. 北京:北京航空航天大学出版社, 20017于凤明单片机原理及接口技术M 北京:中国轻工业出版社19988陈伟人 .单片微型计算机原理与应用M. 北京:清华大学出版社 , 2006.5. 9李广第单片机基础 M 第 1 版北京:北京航空航天大学出版社,1999. 10 徐惠民、安德宁单片微型计算机原理接口与应用M 第 1 版 北京:北京邮电大学出版社, 1996. 11 何立民从 Cygnal 80C51F看 8 位单片机发展之路 M 单片机与嵌入式系统应用,2002年,第 5 期:P58. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 19 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁