📄 main.c
字号:
#include"12864_serial.h"
#include"AD9850.h"
unsigned char DATA[5];
unsigned long frequency=1000000,frequency_buf=0,phasic=0,phasic_buf=0;
unsigned char keycode=10;
//unsigned int t_count;
bit INC_1K=0;
bit INC_100HZ=0;
bit F_P=0;
bit CANCEL=0;
bit CONFIRM=0;
bit INC_1M=0;
#include"key.h"
//bit POINTER=0;
void timer0() interrupt 1
{
TR0=0;
TH0=-1000/256;
TL0=-1000%256;
frequency_to_phase( frequency, DATA);
phasic_to_phase( phasic, DATA);
WRITE_AD9850(DATA);
AD9850_DISPLAY( frequency, phasic);
}
main()
{ unsigned char i;
lcd_init();
welcome();
init_dds();
TMOD=0x01;
TH0=-1000/256;
TL0=-1000%256;
// t_count=0;
EA=1;
ET0=1;
TR0=1;
while(1)
{
INC_1K=0;
INC_100HZ=0;
CANCEL=0;
CONFIRM=0;
INC_1M=0;
convert();
if(F_P==0) //F_P=0为改变频率
{
phasic_buf=0; //把相位缓存器清0
if(keycode!=10) //keycode不为10,为数字键按下
{
while(keyscan());
frequency_buf=frequency_buf*10+keycode;//频率累加
// send_command(0x80);
// send_data(frequency_buf);
// while(keyscan()!=0 );
keycode=10; //把数字键值清0以便继续输入
}
else if ((CONFIRM==1)&&(frequency_buf<55000000)&&(frequency_buf!=0))
{ while(keyscan());
frequency=frequency_buf;//当没有数字键按下且确定键按下时,把频率缓存器赋给频率寄存器
frequency_buf=0;
CONFIRM=0;//确定键清0
TR0=1;// 输出和显示
}
else if(CANCEL==1)
{ while(keyscan());
frequency_buf=0;//取消键为1清频率缓存器
CANCEL=0;//取消键清0
}
}
else{
frequency_buf=0; //当F_P=1时为相位输入
if(keycode!=10) //有数字键按下
{ while(keyscan());
phasic_buf=phasic_buf*10+keycode;//输入的累加
//while(keyscan()!=0 );
keycode=10; //轻数字键
}
else if ((CONFIRM==1)&&(phasic_buf<360))
{ while(keyscan());
phasic=phasic_buf; //确定键赋值给相位寄存器
phasic_buf=0;
CONFIRM=0; //清确定键
TR0=1;//开定时中断显示相位
}
else if(CANCEL==1)
{ while(keyscan());
phasic_buf=0; //清相位
CANCEL=0; //取消键清0
}
}
if(INC_1K==1)//频率递增1K
{ while(keyscan());
INC_1K=0;
if(frequency<55000000)
frequency+=1000;
TR0=1;
}
if(INC_100HZ==1)//频率递增100HZ
{ while(keyscan());
INC_100HZ=0;
if(frequency<55000000)
frequency+=100;
TR0=1;
}
if(INC_1M==1)//频率递增1M
{ while(keyscan());
INC_1M=0;
if(frequency<55000000)
frequency+=1000000;
TR0=1;
}
//frequency_to_phase( frequency, DATA);
// phasic_to_phase( phasic, DATA);
// WRITE_AD9850(DATA);
// AD9850_DISPLAY( frequency, phasic);
for(i=0;i<100;i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -