text1.c
来自「FPGA下的DDS程序的编写,VHDL语言,」· C语言 代码 · 共 137 行
C
137 行
#include<reg51.h>
unsigned char fsw1,fsw2,fsw3,fsw4;
unsigned long FSW,f0;
sbit add10Hz=P1^0;
sbit add100Hz=P1^1;
sbit add1kHz=P1^2;
sbit add10kHz=P1^3;
//sbit add100kHz=P1^4;
sbit dec10Hz=P1^4;
sbit dec100Hz=P1^5;
sbit dec1kHz=P1^6;
sbit dec10kHz=P1^7;
void UpdateFSW(void)
{
// f0=30000;
FSW=f0*1527;
fsw4=(FSW>>24)&0xff;
fsw3=(FSW>>16)&0xff;
fsw2=(FSW>>8)&0xff;
fsw1=FSW&0xff;
SBUF=fsw1;
while(!TI);TI=0;
SBUF=fsw2;
while(!TI);TI=0;
SBUF=fsw3;
while(!TI);TI=0;
SBUF=fsw4;
while(!TI);TI=0;
}
main()
{
// unsigned long fsw;
unsigned int i;
f0=10;
UpdateFSW();
while(1)
{
if(add10Hz==0)
{
for(i=0;i<10000;i++);
if(add10Hz==0)
{
while(add10Hz==0);
f0+=10;
UpdateFSW();
}
}
if(add100Hz==0)
{
for(i=0;i<10000;i++);
if(add100Hz==0)
{
while(add100Hz==0);
f0+=100;
UpdateFSW();
}
}
if(add1kHz==0)
{
for(i=0;i<10000;i++);
if(add1kHz==0)
{
while(add1kHz==0);
f0+=1000;
UpdateFSW();
}
}
if(add10kHz==0)
{
for(i=0;i<10000;i++);
if(add10kHz==0)
{
while(add10kHz==0);
f0+=10000;
UpdateFSW();
}
}
if(dec10Hz==0)
{
for(i=0;i<10000;i++);
if(dec10Hz==0)
{
while(dec10Hz==0);
f0-=10;
UpdateFSW();
}
}
if(dec100Hz==0)
{
for(i=0;i<10000;i++);
if(dec100Hz==0)
{
while(dec100Hz==0);
f0-=100;
UpdateFSW();
}
}
if(dec1kHz==0)
{
for(i=0;i<10000;i++);
if(dec1kHz==0)
{
while(dec1kHz==0);
f0-=1000;
UpdateFSW();
}
}
if(dec10kHz==0)
{
for(i=0;i<10000;i++);
if(dec10kHz==0)
{
while(dec10kHz==0);
f0-=10000;
UpdateFSW();
}
}
};
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?