📄 51
字号:
#include <reg51.h>
#include <absacc.h>
#include <math.h>
#define da_port XBYTE[0xcfa0]
#define buf_port XBYTE[0xcfa1]
void delay(unsigned int t)
{
for(;t>0;t--);
}
void da_conv(unsigned char dat)
{
da_port = dat;
buf_port = dat;
}
void triangle(void)
{
unsigned char dat=0,count=0;
while(count<50)
{
for(dat=0;dat<0xff;dat++)
{
da_conv(dat);
delay(1);
}
for(dat=0xff;dat>0;dat--)
{
da_conv(dat);
delay(1);
}
count++;
}
}
void sawtooth(void)
{
unsigned char dat=0,count=0;
while(count<100)
{
for(dat=0;dat<0xff;dat++)
{
da_conv(dat);
delay(1);
}
count++;
}
}
void sinwave(void)
{
unsigned char dat,num,count=0;
while(count<10)
{
for(num=0;num<=200;num+=4)
{
dat = (unsigned char)((1+sin(((float)(num)/100)*3.14))*0x80);
da_conv(dat);
}
count++;
}
}
void square(void)
{
unsigned char count=0;
while(count<100)
{
da_conv(0xff);
delay(200);
da_conv(0);
delay(200);
count++;
}
}
void main(void)
{
while(1)
{
square();
triangle();
sawtooth();
sinwave();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -