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