基于SPCE061A的波形发生器设计

2019-04-20 02:23马燕妮张广法麻志峰徐扬赵富强
科技视界 2019年4期

马燕妮 张广法 麻志峰 徐扬 赵富强

【摘 要】本波形发生器利用凌阳SPCE061A单片机技术实现系统控制,通过简单编程和外部模拟和数字电路的结合,较好地实现了数字式的正弦波、方波、锯齿波等波形的产生。各种波形的频率可通过键盘输入,并利用LCD显示,还可以利用扬声器实现语音播报。本波形产生器产生的波形具有信号干扰小,输出稳定,性能可靠等优点。特别是操作简单方便,人机界面友好,成本低,非常适合于实验教学与使用。

【关键词】凌阳单片机;波形发生器;LCD显示

中图分类号:TN714   文献标识码: B 文章编号: 2095-2457(2019)04-0021-002

DOI:10.19694/j.cnki.issn2095-2457.2019.04.008

0 引言

本波形发生器计划产生正弦波、三角波和锯齿波。拟直接采用凌阳SPCE061A产生。凌阳单片机SPCE061A在波形产生方面有较突特的优点,主要在于利用其强大的查表功能使外围电路可以做的比较简单,在数模转换的编程方面有比较便利的编程环境[1]。围绕单片机需要设计三大外围电路,(1)4×4键盘控制电路。位控制采用IOA的低八位,把键盘上的行接在IOA0~IOA3,列接在IOA4~IOA7上,为便于进入下一波形的编辑和输出,采用外部中断2来中断所显示波形,为了实现频率调节在波形输出的同时利用外部中断1来完成。(2)输出滤波和电压转换电路。滤波的目的是滤除数模转换(DAC)过程中存在的高频锯齿,可以采用低通滤波器来完成。由于SPCE061A的 DAC输出为电流,而我们的输出波形应为电压,为使输出电压为5V,用外接OP07运算放大器进行电流到电压的转换。(3)输出波形显示电路。在波形输出时用动态LED显示,SPCE061A单片机实现起来有困难,因为在波形输出时CPU需不停地为其服务,解决办法是采用带数据缓存器和驱动的液晶显示器LCD来完成,只需占用八个I/O口即可完成。

本设计方案的特点是采用数字电路与模拟电路相结合的办法,使系统工作稳定可靠,再利用单片机进行控制管理,可以用键盘输入的方法比较方便地实现波形频率的设置和参数调整。

1 系统框图及工作原理

根据前述的设计方案,本系统框图如图1所示[2]。系统以SPCE061单片机为核心,4×4键盘用于输入波形参数,在程序控制下单片机一方面输出正弦波或三角波或锯齿波,经滤波、放大与电流电压转换,再送音频播报电路;另一方面送液晶显示器显示。

2 软件设计

由于系统采用凌阳SPCE061A单片机实现处理和控制,故使得外部处理电路变得比较简单,本波形发生器的主要任务将要由程序编程来完成。

2.1 按键控制流程

为了实现有效控制,将低四位IOA0~IOA3设置为带数据缓存器的高电平输出,将高四位IOA4~IOA7设置为带下拉电阻的输出脚。操作过程如下:若有键按下,先取IOA4~IOA7的数据将得到一个值,并把此数值保存下来,再接着置IOA4~IOA7为带反相器的高电平输出脚,置IOA0~IOA3为带下拉电阻的输入脚,此时若按键按着仍没弹起, IOA0~IOA3为带下拉电阻的输入脚,此时若按键按着仍没弹起,取IOA0~IOA3的数据将得到另一个值,把这两个值组合起来就可得知是哪个按键按下了,再跳至相应程序,通过查表得到相应的键值。按鍵控制流程如图23所示。

2.2 正弦波形成程序

如果用函数输出波形,输出的频率仅为毫赫兹到几十赫兹之间,只能用于产生低频,要产生较高频率必须调高CPU的时钟频率。初始化后,先进行CPU时钟选择,再调整正弦函数一个周期的输出点数,幅度调节先进行初始幅度的设置,再通过外部放大电路进行调节,其设计流程如图3所示[8]。

2.3 其它波形流程

三角波查表形成流程与正弦波查表形成流程相似,如图4所示,其原理不再重述。省略。至于产生方波和锯齿波的方法与正弦波和三角波类似,这里也一并省略。

2.4 显示流程

显示采用动态显示方式,显示流程见图5。先单个显示,延时一会后,再显示其它几位。设置显示500遍,当显示达到500遍后转入语音播报子程序[9]。

3 系统测试结果分析

测试仪器:数字示波器DS1062E,数字频率计DG1022(频率计模式)。

通过测试本设计实现了以下效果:

(1)能产生正弦波、三角波、方波和锯齿波等周期性波形;

(2)输出波形的频率最小100mHz,最高达100kHz,可利用键盘进行频率粗调,通过外部中断1可对频率实现同步调节,低频频率步进较小(可达0.1Hz),高频频率步进为10 Hz;

(3)输出波形的幅度为0~5V,可通过放大电路的电位器进行调整;

(4)具备语音提示功能。

4 结束语

本波形发生器的设计由于采用了凌阳SPCE061单片机,使设计较为简单,编程容易,通过测试能够准确产生正弦波、三角波、锯齿波等波形,能够通过键盘调整波形参数,可以作为波形产生器使用。

【参考文献】

[1]何立民.单片机应用系统设计[M].北京:航空航天大学出版社.2009.

[2]黄智伟著.全国大学生电子设计竞赛系统设计[M].北京:航空航天大学出版社.2006.

[3]童诗白.模拟电子技术基础[M].北京:高等教育出版社.2007.