标题:
单片机产生方波 三角波 锯齿波 梯形波ADC0832程序及仿真
[打印本页]
作者:
51黑ff
时间:
2016-9-25 15:11
标题:
单片机产生方波 三角波 锯齿波 梯形波ADC0832程序及仿真
0.png
(245.15 KB, 下载次数: 100)
下载附件
2016-9-25 15:09 上传
0.png
(52.63 KB, 下载次数: 92)
下载附件
2016-9-25 15:10 上传
51单片机利用ADC0832芯片产生方波 三角波 锯齿波 梯形波的简单仿真,全部资料下载:
信号发生器.rar
(95.26 KB, 下载次数: 66)
2016-9-25 15:11 上传
点击文件名下载附件
下载积分: 黑币 -5
源程序:
#include<reg51.h>
sbit S1=P1^3;
sbit S2=P1^2;
sbit S3=P1^1;
sbit S4=P1^0;
#define uchar unsigned char
#define uint unsigned int
#define DAdata P0
uchar keyval;
void delay(unsigned char i)
{
TR0=1;
for( ;i>0;i--)
{
while (!TF0);
TF0=0;
TH0=0Xec;
TL0=0X78;
}
TR0=0;
}
void square()
{
DAdata=0xff;
delay(100);
DAdata=0x00;
delay(100);
}
void jieti(void)
{
DAdata=0x00;
delay(1);
DAdata=0x3f;
delay(1);
DAdata=0x7f;
delay(1);
DAdata=0xaf;
delay(1);
DAdata=0xff;
delay(1);
}
void saw(void)
{
int i;
for(i=0;i<255;i++)
DAdata=i;
}
void sanjiao()
{
int i;
for(i=0;i<255;i++)
DAdata=i;
for(i=255;i>0;i--)
DAdata=i;
}
void key(void)
{
if((P1&0x0f)!=0x0f)
delay(1);
if((P1&0x0f)!=0x0f)
{
if(S1==0)
keyval=1;
if(S2==0)
keyval=2;
if(S3==0)
keyval=3;
if(S4==0)
keyval=4;
}
}
void main()
{
keyval=0;
while(1)
{
key();
switch(keyval)
{
case 1 : square();
break;
case 2 : saw();
break;
case 3 : sanjiao();
break;
case 4 : jieti();
break;
}
}
}
复制代码
作者:
zhang123789
时间:
2018-3-13 16:40
如果要插入频率和占空比的调整,请问该如何编码呢
作者:
少女心-934
时间:
2018-3-15 09:30
资料很好,谢谢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1