基于51单片机的信号发生器-完整电路、程序.pdf

所需积分/C币:46 2019-10-23 10:52:20 349KB PDF
收藏 收藏
举报

本文以 STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术 ,通过硬件电路和软件程序相结合 ,可输出自定义波形 ,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。 波形和频率的改变通过软件控制, 幅度的改变通过硬件实现。介绍了波形的生成原理、 硬件电路和软件部分的设计原理。 本系统可以产生最高频率 798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
2.1.2改变幅度方案 方案一:可以将送给DA的数字量乘以一个系数,这样就可以改变DA输岀电流的 幅度,从而改变输出电压;但是这样做有很严重的问题,单片机在做乘法运算时 需要很长的时间,这样的话输出波形的频率就会很低,达不到至少500H要求; 并且该方案的输出电压做不到连续可调,当DA的输入数字量比较小时,输出的 波形失真就会比较严重。 方案二:将输岀电压通过一个运算放大器的放大。这样还有个优点是幅度连续可 调。 经比较,方案二既可满足课程设计的基本要求,并且电路也挺简单。 22工作原理 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转 换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是—个完整的傥 型计算机,具有组成微型计算机的各部分部件:中央处理器CP∪、随机存取存 储器RAM只读存储器ROM、MO接口电路、定时器/计数器以及串行通讯接口 等,只要将89℃51再配置键盘及、数模转换及波形输岀、放大电路等部分,即 可构成所需的波形发生器,其信号发生器构成系统掴图如下图所示 按键电路单片机 波形 ROM卖「数模转换电路 电源 放大电路 低通滤波 波形输出 系统框图 89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的 信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号 电路到达转换电路,将其转换成模拟信号也就是所需要的输岀波形。 波形RO№是将信号一个周期等间距地分离成64个点,储存在单片机得RON 具体ROM表是通过 MATLA成的,例如正弦表, MATLA成的程序如下 X=0:2p64:2pi;y= round(sin(X)*127)+128 3单元电路设计与分析 31.1主控电路 设计中主要采用STc89C5型单片机,它具有如下优点:(1)拥有完善的外 部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。(2)该单片机 内部拥有4K字节的 FLASHRON程序存储器空间和256字节的RAM数据存储空间 完全可以满足程序的要求。由于该芯片可电擦写,故可重复使用。如果更改程序 内容,可将芯片拿下重新烧写。(3)该单片机与工业标准的McS51型机的指令 集和输出引脚兼容。 中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理 器CPU正在 处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处 理这个紧 急事件。 在波形发生器中,用两个开光直接与外部中断0和外部中断1的管脚相连, 其中S1开光用来改变波形,S2开光用来改变频率。在程序主函数中,我们写了 个死循环一直输出一个默认的波形,当S1或S2按下又抬起时,程序会暂时跳 出死循环,进入中断处理程序,从而对波形和频率进行改变。 时钟电路。由于频率较大时,三角波、正弦波、方波等波中每一点延时时间 为几微秒,故延时时间还要加上指令时间即可得到指定频率的波形,该电路用 11.0592MHz晶振。 主控电路图 3.1.2数/模转换电路 由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转 换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分 辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存 器、8位DA转换器以及输入控制电路四部分组成。但实际上,DAC0832输出 的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的 输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。 根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832 有三种工作方式:直通方式、单缓冲方式和双缓冲方式。本设计选用直通方式 DAC083数据口和单片机的PO口相连。 CSDA:片选信号输入线(选通数据锁存器),低电平有效; WR:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ⅢE、 CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入 数据线变换,LE1的负跳变时将输入数据锁存 数模转换电路 3.1.3运算放大电路和低通滤波电路 LM324的5管脚与DAc832的(IoUT2)12管脚相连,LM324的6管脚 与DAc0832的(IoUT1)11管脚相连,LM324的7管脚与DACO832的REF(9) 管脚相连 第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号 1,第二级运算放大器的作用是将Ⅵ1通过反向放大电路-(R2/R1)倍。 题目要求输出的电压在0-5V可调,而V1的电压大约是5V,所以R1选择 5K的电阻,R2选择10K的电位器,这样最大的输出电压为5*(102)=10,最 小电压为0,可以实现题目要求的0-5V。 在第二个运算放大器的输出端连了一个低通滤波器。如果不加低通滤波器, 也能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤 波的作用,还起到了平滑的作用。低通滤波器的截止频率F=1(2"p*R3*c6),这 里我们选择R3为100欧姆电阻,C6为104电容,截止频率F=16KHz。实验表 明,此时的输出波形效果不错。 314串口通信电路 通用异步收发器(UART)是一种串行接口,一般微处理器中都包含这种外设接口。 异 步串行接口提供了一种简单的途径,使两个器件无需共亨同一个时钟信号就能进行 通信。如果再加入一个合适的电平转换器MAX232串口就能能用在RS232和RS485 等网络中实现通信,或者与计算机的cOM端口连接。串口只需两根信号线(RX和 TX)即可实现,而且只要两端器件都采用同样的位格式和波特率,那么它们无需其 它任何对方的信息就可以成功传输数据。 串口通信电路图 3.2系统软件设计 软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、外 部中断0模块,外部中断1模块。 主程序 主程序先是进行一些初始化的工作,然后根据波形标志a,b,c,d,e的值进入相 应的whie循环。这样写的好处是输岀的波形频率可以790多Hz。在whie循 环中,单片机根据地址标志位不停低查表,然后把查得的值赋给DAC0832的数 据口,然后地址标志位加一,并判断地址标志位是否等于64,如果是就置0再 往下执行,如果不是直接往下执行。然后根据频率标志位进行相应的延时。 开始 输出数字量给 DAC0832数据口 初始化 地址标志位加 根据a,b,cd,e的值进入相 应的 while循环 地址标志位是 否等于64 while循环 地址标志位置0 根据地址标志位查表 相应延时(对应频 率) 主程序流程图 中断服务程序 本程序中两个外部中断分别起到了控制波形和频率的作用。在程序中还加入了消 抖部分 根据波形标志做 相应处理 波形标志位置0 否 外部中听0<是有中>是波形志位加1一 波形标志位是 否等于5 否 根据频率标志做 相应外理 频率标志位置0 否 是否有中断信 外部中断1 十频率标志位加1频率标志位是 否等于8 否 4安装调试及测量数据分析 41调试过程 1.不通电,用万用表根据电路图仔细检査各线路连接是否正常。 2.首先是调试单片机部分,DA和运算放大器芯片不接。用 STC ISP V483软 件通过串口下程序。看是否可以正常下程序。 3.当可以正常下程序时,给51单片机下一个让所有W0口一会儿输入0,延时, 再输出1,以此类推。用万用表测量各WO口得电压是不是一会儿高,一会儿低 4.安上DA和运算放大器芯片,给单片机下一个输出正弦波的测试程序,通过 示波器看输出是否正常 5.给单片机下一个完整的程序,分别按下S1,看波形是否改变。按下S2,看 频率是否改变 42频率的测量数据: 单位:Hz 周期 2T 3T 4T 5T 6T 7T 8T 理论值7986399326621997159713311141998 实际值798639626519915991331424199 4.3出现的问题与解决的方法: 调试单片机的串口时,发现不能正常的下程序。我想可能是单片机坏了借了一块 学习板测试了一下单片机芯片,发现可以正常下载。这说明很可能是 MAX232 的电路出了问题。我仔细査看了电路图,又上网查了下其他的MAX232的电路 图,发现我的电路图和别人的不一样。我是按照郭天翔的那本《新概念51单片 机C语言教程入门、提高、开发、拓展全》第130页的串口电路画的图,电路 图中MAX232的TOU1接串口的第3脚。而其他书上有些电路图却是MAX232 的ToU1接到了串口的第2脚。于是我将MAX232的TOU1接串口的第2脚 再下程序,终于可以正常下载了。 2.刚开始写的测试程序输出的波形失真很大。我想可能是波形的ROM表里的 数据值过小,导致DA输出的误差很大。因而卧将波形的ROM表里的数据值调 大,在测试时发现波形变得好多了。 3. 9 调试波形的时候我发现矩形波的失真比较大。我想到可能是低通滤波器的截止频 率太低了,因而我将RC低通滤波器的电阻由1K换成了100欧姆,效果好了很 多 44系统仿真波形: 矩形波 锯齿波 正弦波 45效果分析 由42的频率理论值与实际值,可知频率在T,2T,3T,4T,5T,6T,7T,8T上频率误差很 最终的波形输出效果也很不错。 46测量仪器 示波器 直流稳压电源 万用表 5结束语 基于单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的 控制过程。通过单片机控制一个模数转换器DAc0832产生所需要的电流,然后 使用运算放大器LM324可以将其电流输出线性地转换成电压输出,再将电压经 过运算放大器的放大,可以得到足够幅度的信号。通过程序的控制,可以产生 系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。 最终做出来的信号发生器满足了题目中的所有要求 1产生五种波形。正弦波、三角波、矩形波、梯形波,锯齿波。 2最大频率为7986HZ。并且频率可按按1T,2T,3T,4T,5T,6T,丌T,8T变化。 10

...展开详情
试读 17P 基于51单片机的信号发生器-完整电路、程序.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
基于51单片机的信号发生器-完整电路、程序.pdf 46积分/C币 立即下载
1/17
基于51单片机的信号发生器-完整电路、程序.pdf第1页
基于51单片机的信号发生器-完整电路、程序.pdf第2页
基于51单片机的信号发生器-完整电路、程序.pdf第3页
基于51单片机的信号发生器-完整电路、程序.pdf第4页

试读结束, 可继续读2页

46积分/C币 立即下载 >