一、设计简介:
本设计是基于51单片机函数信号发生器四种波形和频率显示系统设计,主要实现以下功能:
1.设计自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(给单片机提供时钟周期)。
2.可以产生4种波形,矩形波、三角波、正弦波、锯齿波。
3.通过1602液晶显示波形和输出频率,频率范围为10-100HZ。
4.可以设置通过按键切换波形和频率。
5.可以通过电位调节波形输出幅度,范围为(0V-3.5V)
主要硬件组成:
51单片机+LCD1602+DAC0832+按键
二、原理图
三、PCB图
四、Proteus仿真
五、程序源码
部分代码:
pinlv+=bujin;
if(pinlv>1000)
{
pinlv=100;
}
display();
m=65536-(15000/pinlv);
a=m/256;
b=m%256;
EA=1;
}
}
if(s2==0)
{
delay(5);
if(s2==0)
{
EA=0;
while(!s2);
pinlv-=bujin;
if(pinlv<100)
{
pinlv=1000;
}
display();
m=65536-(150000/pinlv);
a=m/256;
b=m%256;
EA=1;
}
}
if(s3==0)
{
delay(5);
if(s3==0)
{
EA=0;
while(!s3);
boxing++;
if(boxing>=4)
{
boxing=0;
}
display();
EA=1;
}
}
}
void bujindisplay()
{
uint bai,shi,ge;
bai=bujin1/100;
shi=bujin1%100/10;
ge=bujin1%100%10;
write_com(0x80+11);
if(bai==0)
write_date(' ');
else
write_date(table[bai]);
write_date(table[shi]);
write_date('.');
write_date(table[ge]);
}
void bujinjiance()
{
if(s4==0)
{
delay(5);
if(s4==0)
{
while(!s4);
h++;
if(h==1)
{
write_com(0x01);
write_com(0x80);
write_date('S');delay(1); //step value
write_date('t');delay(1);
write_date('e');delay(1);
write_date('p');delay(1);
write_date(' ');delay(1);
write_date('v');delay(1);
write_date('a');delay(1);
write_date('l');del
六、资源获取
本项目包含的所有文件都可以点击下面的名片,发送 “ 41、基于51单片机函数信号发生器四种波形和频率显示系统设计 ” 获取!
项目纯手打,不是免费的哦~
希望可以帮到你哈!