一.硬件方案
此函数信号发生器是基于单片机AT89C51设计而成的,能够产生频率范围在0Hz—535Hz的锯齿波、正弦波、三角波、矩形波四种波形,并且能够通过液晶屏1602显示各自的波形类型以及频率数值。电路主要由51单片机+最小系统+DA0832模数转换模块+运放模块+LED指示灯+按键模块;
二.设计功能
(1)LCD1602液晶显示波形种类和频率值(10-100HZ)。可产生正弦波、锯齿波、三角波、矩形波。
(2)按键设置波形种类和设定频率步进值。
(3)通过电位器器改变振幅(0V-3.5V稳定)。
(4)有四个指示灯分别指示发出的是哪种波形,方便明了。
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)Protues仿真图如下:
四.软件设计
主程序源码
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;
}
资料链接:https://pan.baidu.com/s/1Hbobp6qM0UzS0RvwStO2KA?pwd=5sjp