📄 main.c
字号:
#include "spce061a.h"
#define uint unsigned int
uint table[]={"输入频率"};
uint number[]={"0123456789"};
uint keyval=0;
uint flag=0;
uint move=0;
uint frq[8]={0};
unsigned long int dds_frq;
main()
{
uint i;
*P_IOA_Dir=0xffff;
*P_IOA_Attrib=0xffff;
*P_IOA_Data=0xffff;
*P_IOB_Dir=0xe1ff;
*P_IOB_Attrib=0xe1ff;
*P_IOB_Data=0xffff;
LCM_Write_Comm(0x30);
LCM_Write_Comm(0x0f);
LCM_Write_Comm(0x01);
LCM_Write_Comm(0x80);
for(i=0;i<8;i++)
LCM_Write_Data(table[i]);
LCM_Write_Comm(0x88);
for(i=0;i<8;i++)
{
LCM_Write_Data(number[0]);
LCM_Write_Data(number[1]);
}
LCM_Write_Comm(0x8f);
while(1)
{
*P_Watchdog_Clear=0x0001;
keyscan();
if(flag==1)
{
flag=0;
switch(keyval)
{
case 1: move++;
if(move==8)
move=0;
LCM_Write_Comm(0x8f-move);
break;
case 2: frq[move]++;
if(frq[move]==10)
frq[move]=0;
LCM_Write_Comm(0x8f-move);
LCM_Write_Data(number[frq[move]*2]);
LCM_Write_Data(number[frq[move]*2+1]);
LCM_Write_Comm(0x8f-move);
break;
case 3: frq[move]--;
if(frq[move]>10)
frq[move]=9;
LCM_Write_Comm(0x8f-move);
LCM_Write_Data(number[frq[move]*2]);
LCM_Write_Data(number[frq[move]*2+1]);
LCM_Write_Comm(0x8f-move);
break;
case 4: dds_frq=frq[7]*10000000+frq[6]*1000000+frq[5]*100000+frq[4]*10000+frq[3]*1000+frq[2]*100+frq[1]*10+frq[0];
dds_inital();
dds_frq=dds_frq*28.633226*3;
AD9850(dds_frq);
dds_frq=0;
break;
default :break;
}
}
}
}
void delay()
{
uint i;
for(i=80;i>0;i--)
*P_Watchdog_Clear=0x0001;
}
void keyscan(void)
{
unsigned int iob;
*P_IOB_Data=0xffff;
iob=*P_IOB_Data;
iob&=0x1e00;
if(iob!=0x1e00)
{
delay();
*P_IOB_Data=0xffff;
iob=*P_IOB_Data;
iob&=0x1e00;
if(iob!=0x1e00)
{
flag=1;
switch(iob)
{
case 0x0e00:keyval=1;break;
case 0x1600:keyval=2;break;
case 0x1a00:keyval=3;break;
case 0x1c00:keyval=4;break;
default :break;
}
while(iob!=0x1e00)
{
iob=*P_IOB_Data;
iob&=0x1e00;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -