基于单片机的可调频的简易信号发生器(4)

2019-01-03 17:38

}

{ P2=255; delay(ys); }

开始关闭计时调用延时读取频率开启计时}

图4-3 方波实现流程图

4.1.3 三角波实现过程

设个自变量i让它不断地自加1,直到加到255时,t=i,对t进行不断地自减1直到减到t=0,然后再不断地重复上述过程产生三角波。程序如下:

void DAC0832_sanjiao(unsigned int ys) //三角波 { unsigned char i; for(i=0;i<255;i++) { P2=i; delay(ys); } while(i--) { P2=i; delay(ys); } }

14

开始系统初始化关闭计时中断读取三角波表开启计时

图4-4 三角波实现过程

4.1.4正弦波实现过程

输入正弦波的采样点,计算出一个周期内正弦波信号值。然后通过输出的两点间的延时来实现调频。依次循环输出,可得出正弦波。

void DAC0832_sin(unsigned int ys) { unsigned char i; for(i=0;i<255;i++) { P2=SinTab[i]; delay(ys); } }

开始关闭计时产生初始频率中断读取正弦表开启计时

图4-5 正弦波实现过程

4.2 各功能模块间关系描述

15

集成电路由89S51单片机,时钟电路和复位电路构成一个基本的单片机系统。组成一个AT89S51最小系统,实现数据的寄存与传输,其中复位电路可是系统初始化,其中信号通过按键接口电路控制电压信号的输入,来实现输出波形的控制选择和频率的调整。时钟电路控制着信号的中断,在单片机的外部扩展D/A转换器DAC0832接受来自89S51的D3-D0口的数字信号进行模数转换,D/A转换器的输出端OUT连接运算放大器的同相,反相端,将原有的信号进行二级放大,再将DAC0832输出的电流信号转换为电压信号。其中LM324运放电路的2、3、5、6管脚为信号的输入端,管脚4、11上分别加载+12V和-12V的电压供电。DAC0832连接为直通工作方式,单片机的数字信号,通过P1口送到DAC0832的数据输入端,经过D/A转换后送出电流信号,再经过运算放大器的转换变为对应的电压输出,再根据输出显示的波形来调整相对应的程序。

16

5.系统调试

5.1 硬件调试

在绘制系统原理图时采用的是电气连接线实现各器件间的连接,发现绘制出的原理连线多、图纸紊乱,直接影响其可读性。后改成单元电路加网络标号的形式进行绘制,绘制出的原理图美观、大方。

在进行PCB设计时,部分器件的封装形式在库中找不到,采用自己制作完成;在布局时采用手动布局,布局效果较好。但采用自动布线时发现走线乱,且电源、地等大功率线宽较细,原因是布线规则未进行设置,后设置完成并实现手动布线,布线效果较好。

由于STM8S单片机采用的是LQFP32封装形式,第一次进行此类器件焊接,焊接完成后发现引脚有短路现象,后重新焊接解决。具体焊接流程是:先焊接电源并进行调试,通过后焊接矮的器件,再焊接高的器件;按单元电路焊接一部分进行调试一部分,通过测试后焊下一单元电路。

在进行最小系统原理图的电路排版的时候,只顾着将正面的元器件排布整齐,未能考虑到背面电路元件引脚的焊接,导致电路的引线异常的复杂,多绕了许多的路。不仅占用了电路板上有限的空间,更是为之后的电路焊接增添了困难。后将电器元件重新排版,解决了这一问题。

如图5-1、图5-2所示采用DAC0832转换电路将电压信号转换成模拟信号,再经LM324放大器放大输出波形。

图5-1 模拟放大电路图 17

图5-2 DAC0832实物图

5.2 软件调试

软件开发环境采用ST Visual Develop Version 4.1.4,界面见图5-3。开发步骤包括编辑、编译、连接、下载运行等步骤。

开发工具采用如图5-4所示的ST-LINKIII,采用SWIM方式进行下载与调试。

图5-3 软件开发环境界面图

图5-4函数信号调试工具图

18


基于单片机的可调频的简易信号发生器(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《爱莲说》期末综合复习试题(有答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: