波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。

功能描述

1、采用51单片机作为主控芯片;

2、采用LCD1602显示波形种类和频率值(10-100HZ);

3、采用DAC0832产生模拟信号输出;

4、采用LM358设计信号增益放大电路;

5、采用按键设置波形种类和频率步进值;

6、采用电位器改变振幅(0V-3.5V稳定);

7、可产生正弦波/锯齿波/三角波/矩形波;

8、四个指示灯分别指示发出哪种波形。

基于单片机的函数信号波形发生器系统设计(#0428)_函数发生器

按键说明

1、波形切换键:在四种波形之间切换;

2、加值键:频率值+0.1;步进值+0.1;

3、减值键:频率值-0.1;步进值-0.1;

4、步进值设置键:点击后通过2/3键调整;

电路设计

采用Altium Designer作为电路设计工具。Altium Designer通过把原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。

基于单片机的函数信号波形发生器系统设计(#0428)_函数发生器_02

仿真设计

采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

基于单片机的函数信号波形发生器系统设计(#0428)_电路设计_03

主程序设计

void main()          //主函数
{
init_lcd();
m=65536-(150000/pinlv);
a=m/256;
b=m%256;
initclock();
led0=0;
while(1)
{
if(h==0)
{
keyscan();
// display();
}

bujinjiance();

switch(boxing)
{
case 0 : P1=sin[u]; break;
case 1 : P1=juxing[u]; break;
case 2 : P1=sanjiao[u]; break;
case 3 : P1=juchi[u]; break;
}
}
}
void T0_time()interrupt 1 //定时器
{
TH0=a;
TL0=b;
u++;
if(u>=64)
u=0;
}

源文件获取

关注公众号【电子开发圈】,首页发送 “发生器” 获取;