📄 max038扫频.txt
字号:
#include<reg51.h>
//#define temp -46080
sbit NSYNC=P2^3; //dac7512 使能端
sbit SCLK=P2^4; //dac7512 时钟端
sbit DIN=P2^5; //dac7512 数据端
#define uchar unsigned char
#define uint unsigned int
unsigned int Sine_wave[]={23,48,74,100,126,153,180,208,237,267,297,326,359,390,422,452,484,522,556,590};
//unsigned char flag=0,change=0;
uint i=0,j=0;
void DAchange(unsigned int dat);
//uint dat=0x0ffe;
//da驱动程序,入口参数dat,必须小于4096!4096对应5v电压!
void DAchange(unsigned int dat)
{
uchar DA,i,j,DAL,DAH;
if(dat>4095)
{
dat=0;
}
else
{
DAL=dat%256;
DAH=dat/256;
NSYNC=0;
i=0;
while(i<2)
{
if(i<1)
{
DA=DAH;
}
else
{
DA=DAL;
}
for(j=8;j>0;j--)
{
DIN=(DA&0x80);
DA=(DA<<1);
SCLK=1;
SCLK=0;
}
i=i+1;
}
NSYNC=1;
}
}
//da驱动到此结束!!
void main()
{
/* TMOD=0x01;
TH0=temp/256;
TL0=temp%256;
TR0=1;
EA=1;
ET0=1;*/
while(1)
{
for(i=0;i<50000;i++);
DAchange(Sine_wave[j]);
j++;
if(j==20)
j=0;
/* if(flag==10)
{
flag=0;
change++;
if(change==20)
change=0;
DAchange(Sine_wave[6]);
}
}*/
}}
/*void T0_svr(void)interrupt 2 using 1
{
flag++;
TH0=temp/256;
TL0=temp%256;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -