📄 main.c
字号:
#include "regx51.h"
#include "AD9851.h"
//typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;
unsigned char test0[5]={0x01,0x0F,0xCD,0x6E,0x9E}; //10 MHz
unsigned char code KeyCode[]=
{0xe7,0xd7,0xdb,0xdd,0xb7,0xbb,0xbd ,0x77,
0x7b,0x7d,0x7e,0xbe,0xde,0xee,0xed,0xeb, //键盘编码
};
ulong Frequency;
void Delay1ms(uint t)
{
uchar x;
for(x=0;x<120;x++)
for( ;t>0;t--);
}
unsigned char GetKey() //键盘扫描
{
unsigned char temp1, temp2, key, i;
P3=0xF0;
if(P3==0xF0) return 0xFF; //没有按键返回0xFF
Delay1ms(15); //消除抖动
if(P3==0xF0) return 0xFF;
temp1=P3;
P3=0x0F;
temp2=P3;
key=temp1|temp2;
for(i=0; i<16; i++)
if(key==KeyCode[i])
{
P3=0xF0;
while(P3!=0xF0);
return i;
}
//返回对应的按键值
return 0xFF; //没有相应编码返回0xFF
}
/*
uchar GetKey()
{
P3 = 0xF0;
tmp = P3&0xF0;
if(tmp != 0xF0)
{
Delay(30);
if(P3 == tmp)
{
P3 = 0xF;
tmp2 = P3&0xF;
tmp = tmp | tmp2;
return tmp;
}
}
}
*/
void PerformKey()
{
uchar KeyValue;
float delta;
KeyValue = GetKey();
switch(KeyValue)
{
case 0 :
delta = -0.1;
break;
case 1 :
delta = 0.1;
break;
case 2 :
delta = -1;
break;
case 3 :
delta = 1;
break;
case 4 :
delta = -10;
break;
case 5 :
delta = 10;
break;
case 6 :
delta = -100;
break;
case 7 :
delta = 100;
break;
case 8 :
delta = -1000;
break;
case 9 :
delta = 1000;
break;
case 10 :
delta = -10000;
break;
case 11 :
delta = 10000;
break;
case 12 :
delta = -100000;
break;
case 13 :
delta = 100000;
break;
case 14 :
delta = -1000000;
break;
case 15 :
delta = 1000000;
break;
default:
break;
}
if(KeyValue != 0xFF)
{
Frequency = Frequency + delta;
SendFreq( Frequency );
}
}
void SetAD9851(unsigned char SetByte[])
{
CLK_DDS=0;
P0 = SetByte[0];
CLK_DDS = 1;
CLK_DDS = 0;
P0 = SetByte[1];
CLK_DDS = 1;
CLK_DDS = 0;
P0 = SetByte[2];
CLK_DDS = 1;
CLK_DDS = 0;
P0 = SetByte[3];
CLK_DDS = 1;
CLK_DDS = 0;
P0 = SetByte[4];
CLK_DDS = 1;
CLK_DDS = 0;
UPDATE=0;
UPDATE=1;
}
void main()
{
Frequency = 1000;
InitDDSport();
SendDefault(); //初始输出1KHz
// SetAD9851(test0);
while(1)
{
Delay1ms(20);
PerformKey();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -