基于单片机的信号发生器设计

2017-01-18 07:35曾素琼杨冬涛曾静玲蔡凯达
电脑与电信 2016年3期
关键词:正弦波幅度按键

曾素琼 杨冬涛 曾静玲 蔡凯达

(嘉应学院电子信息工程学院,广东 梅州 514015)

基于单片机的信号发生器设计

曾素琼 杨冬涛 曾静玲 蔡凯达

(嘉应学院电子信息工程学院,广东 梅州 514015)

以单片机为核心控制器,结合D/A转换、LCD1602显示、程控放大器,设计输出频率、幅度可调的正弦波、方波和三角波信号发生器,对系统主要硬件电路和软件进行设计。经实验测试,系统实现了各波产生、显示,信号频率、幅度可调等功能,频率和幅度误差都是5%以内,波形质量较好。系统电路简单、体积小、成本低、精度较高、工作稳定和使用方便直观,具有广泛的应用前景。

信号发生器;单片机;DAC0832;LCD1602;程控放大器

1 引言

信号发生器称为信号源或振荡器,在日常生产实践和科技领域中有着广泛的应用,是实验室的主要运用的信号源,同时是各种电路实验不可缺少的设备之一。目前大多数的波形信号发生器都是由硬件搭建而成,可以产生正弦波、方波、三角波等波形,调试较麻烦,电路比较复杂,价格较高,体积较大。

单片机具有低功耗、控制功能强、扩展灵活、微型化和使用方便等优点[1,2]。本文设计的基于单片机和D/a的信号发生器,用户可以通过按键分别设置输出正弦波、方波、三角波及其频率、幅度参数,还直观显示波形信息,电路简单且便于调节、控制,价格较低,应用前景广阔。

2 系统结构框图

设计一个基于单片机的信号发生器,要求输出信号频率稳定,抗干扰能力强。系统以STC12C5a60S2单片机作为控制中心,控制和协调各个模块的工作,通过程序的编写对系统进行初始化,完成对液晶显示、波形的产生、按键响应、增益调节等功能。系统的整体设计结构由图1所示,由单片机STC12C5a60S2、液晶显示模块LCD1602、波形产生模块、程控放大模块和负压产生模块组成。用户可以通过按键分别设置输出正弦波、方波、三角波及其频率、幅度参数,当用户设置好输出的参数后,单片机通过查表输出对应的波形,其中波形是根据DDS的原理来产生,输出的波形经一级程控放大电路,从而增大、控制输出信号幅度。

3 硬件电路设计

硬件电路设计包括:主控模块的选择及其最小系统、按键模块、LCD1602液晶显示模块、DaC0832信号产生模块(波形产生模块)、程控放大模块和负压产生模块等主要电路设计。

3.1 主控模块的选择

系统采用STC12C5a60S2单片机作为系统的主控制芯片,完成检测按键、波形输出控制、液晶显示等相关功能。STC12C5a60S系列单片机是宏晶科技生产的新一代8051单片机,指令代码完全兼容传统8051,但速度快8~12倍,有一个全双工异步串行口,内部集成MaX810专用复位电路,2路PWM,8路高速10位D/a转换(250K/S),I/O口多且可定义,并有四种状态,2级中断优先级的中断系统,2个16位的定时计数器实现定时和计数功能,还有EEPROM功能[1,2]。该单片机具有便于调试、高速、低功耗、廉价、稳定性好等优点。

3.2 STC12C5a60S2单片机最小系统

单片机最小系统包括了单片机、复位电路、时钟电路。单片机可以通过手动按键复位,按下复位键S1后使单片机进入上电的初始状态。系统时钟电路选用了12MHz的晶振,一个机器周期的时间为1μs。因为P0口是漏极开路的结构,加了10k的排阻作P0口的上拉电阻。排阻接到单片机的P0.0-P0.7和VCC端口,单片机最小系统如图2所示[3]。

图2 STC12C5a60S2单片机最小系统

3.3 按键模块的设计

系统中需要按键不多,采用简单的独立按键,按键直接到单独I/O口(按键S1、S2、S3、S4、S5分别连接到单片机的9脚(RESET)、P1.3、P1.4、P1.5、P1.6端),CPU可以通过向此端口发出指令得到按键的状态,按键另一端接地。按键在初始状态下时,I/O的状态为高电平;按键处于按下状态时,I/O口的状态为低电平,单片机根据I/O口是否为高电平或低电平来判断哪个按键被按下。

按键的功能:按键S1为复位键,实现系统复位切换回初始状态;按键S2为功能键,切换到参数设置界面;按键S3为切换键,可以切换到不同参数进行设置;按键S4为递增按键;按键S5为递减按键。

3.4 LCD1602显示模块与主控芯片的设计

系统选用LCD1602液晶显示器,方便直观显示更多的参数[3],显示器显示波形类型、幅度、频率。LCD1602与单片机的连接如图3所示。单片机P0口作为数据端口,液晶显示接单片机的P0.0-P0.7端口,LCD1602的EN、R/W、RS分别接单片机端口的P1.2、P1.1、P1.0,其中EN是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号。

图3 LCD1602与单片机的连接图

3.5 DaC0832信号产生模块设计

系统采用2个DaC0832芯片,一个用来产生波形,另一个来改变幅度。DaC0832是一个先进的数模转换器,可以实现输出正弦波、三角波和方波,可以通过查询存储在单片机的ROM表来实现波形的产生[4-8]。

DaC0832波形发生电路如图4所示,DaC0832转换的结果是采用电流形式输出,为了得到模拟电压信号,用运放a实现电流电压转换并放大。运放a输出电压V的范围为-Vref-0V,为了使输出信号幅度范围以0V为中间值,使用了运放B搭建成一个加法器进行信号放大和偏置调整。TL431提供基准电压2.5V,一方面供DaC0832作基准电压VREF使用,另一方面作运放B的加法器一路输入电压。图4中的两个运放TL072需要正负电源来供电,但系统供电只有一个+ 5V电源,为了得到一个-5V电源,系统使用了ICL7660芯片的转换器工作模式实现产生-5V电源。

3.6 程控放大模块设计

系统选用了DaC0832与外部电路构成了程控放大器来控制改变幅度,DaC0832中的DI0-DI7端口连接单片机的P2.0-P2.7端口,其基准电压是接到波形发生电路的输出,Vout=Vref×Data/256。其中Data的值通过改变单片机连接到数模转换数据口的电平值就可以改变其放大倍数。程控放大模块电路如图5所示。

图4 波形发生电路

图5 程控放大模块电路

4 系统总线路图

系统总电路如图6所示,由单片机最小系统、液晶显示电路、电源电路、程控电路、波形发生电路、负压产生电路等组成。

图6 系统总电路图

5 软件设计

系统中主要运用Keil和Proteus两个程序软件进行程序编译和仿真。单片机上电后初始化,产生默认设置的波形,对应的幅度和频率等参数,然后单片机判断设定按键是否按下,如果是则进入相关参数的设置,如果否则返回,系统的主要程序流程图如图7所示。

图7 系统程序流程图

LCD1602初始化子信号流程图如图8所示,首先调用液晶自定义的字库,设置DDRaM地址,在第一行显示,然后设置显示数据的首地址,循环量设置,不断地取字符代码,第二行显示过程也是如此,直到显示完毕。

图8 LCD1602初始化子信号流程图

6 系统测试及数据分析

示波器上测得输出正弦波、三角波、正弦波图形如图9所示。正弦波幅度为2V和频率为1000Hz的正弦波,信号发生器上液晶显示的峰峰值为2.08V,频率为997.0Hz,幅度相对误差4.0%,频率相对误差0.30%;三角波幅度为2V和频率为1000Hz的三角波,信号发生器上液晶显示的峰峰值为2.04V,频率为1002.0Hz,幅度相对误差2.0%,频率相对误差0.20%;输出方波幅度为2V和频率为1000Hz的方波,信号发生器液晶显示上显示的峰峰值为2.09V,频率为998.4Hz,幅度相对误差4.5%,频率相对误差0.16%。

图9 正弦波、三角波、方波图

对系统生产其它信号的幅度和频率进行实验,实验数据如下表1所示。

表1 实验数据表

通过比较与分析以上实验数据,频率1000~5000Hz和幅度0~2V,两者的误差都是≤5%。系统可以实现设定和显示频率、波形类型、幅度这些参数,实现了正弦波、三角波、方波的产生、显示,信号频率、幅度可调等功能,波形质量较好。

7 总结

设计了基于单片机的信号发生器,对系统硬件电路和软件作了设计。系统是通过STC12C5a60S2单片机编程的方法,将要输出的波形预先存在半导体存储器中,经过数模转换、放大等处理后,输出该波形的信号。用按键通过单片机程序实现了波形类型、频率大小、幅度大小的控制,并用液晶直观显示各信息。输出信号频率、幅度稳定,频率范围1000~5000Hz和幅度范围0~2V,两者的误差都是≤5%,系统抗干扰能力强,扩展性强,制作简易。

[1]陈桂友.增强型8051单片机实用开发技术[M].北京:北京航空航天大学出版社,2010.

[2]张鑫.单片机原理及应用(第2版)[M].北京:电子工业出版社,2013.

[3]徐玮.51单片机的综合学习系统-1602字符型液晶显示[J].电子制作,2008,(01):21-25.

[4]石桂明,冀勇刚,彭海龙.基于AD9850的信号发生器的设计与实现[J].现代电子技术,2010,(01):117-119.

[5]王春会,吴迪.基于DAC0832的波形发生器[J].辽宁师专学报(自然科学版),2011,(03):83-85.

[6]郭小霞,管鑫,李思聪.基于FPGA的DDS信号发生器的设计[J].电子技术,2014,(10):37-39.

[7]吴兴波,贾彬彬,赵亮.基于单片机的三相正弦波发生器设计[J].吉林化工学院学报,2012,(09):86-89.

[8]孙勤江,沈彬.基于单片机的信号发生器设计[J].石油和化工设备,2014,(01):19-22.

Signal Generator Design Based on SCM

Zeng Suqiong Yang Dongtao Zeng Jingling Cai Kaida
(Jiaying University,Meizhou 514015,Guangdong)

Main hardware and software of the system are designed,using microcontroller as the core controller,and combining with D/a conversion,LCD1602 display,programmable amplifier designed output frequency,amplitude adjustable sine,square and triangular wave signal generator.The experiment shows that the system implements wave generation,display,and adjustment of signal frequency and amplitude.The frequency and amplitude errors are less than 5%,and wave quality is good.This system has the advantages of simple circuit,small size,low cost,high precision,stable work and easy usage,having a wide range of application.

signal generator;single chip microprocessor;DaC0832;LCD1602;programmable gain amplifier

TP3

a

1008-6609(2016)03-0031-04

曾素琼,女,广东五华人,硕士,副教授,研究方向:电路与系统、检测与自动控制及电子技术应用的教学及应用。

2015年嘉应学院质量工程项目:基于应用型人才教育的电子线路课程教学创新实验区,项目编号:415B0252;2015年嘉应学院教改重点项目:通信电子线路的总项目分环节设计的实验教学改革与实践,项目编号:415B0361;2015年广东省大学生创新训练项目:电子电路的项目式学习与实践,项目编号:415B0646。

猜你喜欢
正弦波幅度按键
单次止损幅度对组合盈亏的影响
单相正弦波变频电源设计与实现
基于有限状态机的按键检测程序设计
采用BC5016S的纯正弦波逆变器设计及制作
微波超宽带高速数控幅度调节器研制
按键消抖在单片机和FPGA实验教学中的应用
基于ANSYS的四连杆臂架系统全幅度应力分析
基于STM32的风力摆控制系统的设计
一种多方向导光按键结构设计
2014年中期预增(降)幅度最大的50家上市公司