📄 main.c
字号:
#include"includes.h"
unsigned char code bo[]={0x10,0x60,0x01,0xE6,0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x18,0x08,0x00,
0x04,0x04,0xFF,0x40,0x30,0x8F,0x80,0x41,0x26,0x18,0x18,0x26,0x61,0xC0,0x40,0x00};//波
unsigned char code xing[]={0x40,0x42,0x42,0xFE,0x42,0x42,0xFE,0x42,0x42,0x40,0x10,0x88,0xE4,0x47,0x02,0x00,
0x80,0x40,0x30,0x0F,0x00,0x00,0x7F,0x00,0x84,0x42,0x21,0x10,0x08,0x0E,0x04,0x00};//形
unsigned char code xuan[]={0x40,0x40,0x42,0xCC,0x00,0x50,0x4E,0xC8,0x48,0x7F,0xC8,0x48,0x48,0x40,0x00,0x00,
0x00,0x40,0x20,0x1F,0x20,0x48,0x46,0x41,0x40,0x40,0x47,0x48,0x48,0x4E,0x40,0x00};//选
unsigned char code ze[]={0x08,0x08,0xFF,0x88,0x48,0x08,0x42,0x46,0x2A,0xD2,0x2A,0x46,0x42,0x80,0x80,0x00,
0x42,0x81,0x7F,0x00,0x00,0x08,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x08,0x08,0x00};//择
unsigned char code zheng[]={0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0x02,0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00,
0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00};//正
unsigned char code xian[]={0x02,0xF2,0x12,0x12,0x3E,0x00,0x04,0x84,0x44,0xB5,0x86,0x84,0xE4,0x44,0x04,0x00,
0x01,0x23,0x41,0x81,0x7F,0x00,0x21,0x71,0x29,0x25,0x22,0x21,0x28,0x70,0x20,0x00};//弦
unsigned char code fang[]={0x08,0x08,0x08,0x08,0x08,0x08,0xF9,0x4A,0x4C,0x48,0x48,0xC8,0x08,0x08,0x08,0x00,
0x40,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x20,0x40,0x40,0x3F,0x00,0x00,0x00,0x00};//方
unsigned char code san[]={0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,
0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00};//三
unsigned char code jiao[]={0x00,0x40,0x20,0xF0,0x98,0x97,0x92,0x92,0xF2,0x92,0x9A,0x96,0x92,0xF0,0x00,0x00,
0x00,0x80,0x60,0x1F,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x44,0x84,0x7F,0x00,0x00};//角
unsigned char code dang[]={0x00,0x00,0x40,0x42,0x5C,0x48,0x40,0x40,0x7F,0x40,0x50,0x4E,0x44,0xC0,0x00,0x00,
0x00,0x00,0x20,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7F,0x00,0x00};//当
unsigned char code qian[]={0x08,0x08,0xE8,0xA8,0xA9,0xAE,0xEA,0x08,0x08,0xC8,0x0C,0x0B,0xEA,0x08,0x08,0x00,
0x00,0x00,0x7F,0x04,0x24,0x44,0x3F,0x00,0x00,0x1F,0x40,0x80,0x7F,0x00,0x00,0x00};//前
unsigned char code pin[]={0x20,0x3C,0x20,0x20,0xBF,0x24,0x24,0x00,0xF2,0x1A,0xD6,0x12,0x12,0xF2,0x02,0x00,
0x44,0x43,0x20,0x10,0x0B,0x04,0x43,0x40,0x27,0x18,0x07,0x08,0x10,0x27,0x60,0x00};//频
unsigned char code lv[]={0x00,0x0C,0x14,0xA4,0x04,0x64,0x35,0xAE,0x64,0x24,0x14,0xA4,0x14,0x04,0x04,0x00,
0x08,0x0A,0x09,0x08,0x08,0x0A,0x0B,0xFE,0x0A,0x0B,0x0C,0x08,0x09,0x0A,0x08,0x00};//率
unsigned char code kong[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char code mao[]={0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00};//:
unsigned char code K[]={0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00};//K
unsigned char code H[]={0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20};//H
unsigned char code z[]={0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00};//z
unsigned char code one[]={0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00};//
unsigned char code two[]={0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00};//
unsigned char code three[]={0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00};//
unsigned char code four[]={0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00};//
unsigned char code five[]={0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00};//
unsigned char code six[]={0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00};//
unsigned char code seven[]={0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00};//
unsigned char code eight[]={0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00};//
unsigned char code nine[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00};//
unsigned char code zero[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00};//
unsigned char code point[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00};
unsigned char code gang[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80};//_
unsigned char wav[256]; //波形数据
unsigned char addr[256]; //地址数据
unsigned long K_value; //K值
unsigned char P_value; //P值
unsigned char key;
unsigned char flag; //波形、频率设定标志位
unsigned char sur_flag; //确定标志位
unsigned char wav_flag; //波形选择标志位
unsigned char sao_flag; //扫频输出
unsigned char fre_Sh_0,fre_Sh_1,fre_Sh_2,fre_Sh_3,fre_Sh_4,fre_Sh_5,fre_Sh_6,fre_Sh_7,fre_Sh_8;//显示各位数值
unsigned char Sh_0,Sh_1,Sh_2,Sh_3,Sh_4,Sh_5,Sh_6,Sh_7,Sh_8; //显示各位标志
float freq_value; //设定频率值
void main()
{
SYSCLK_Init();
PORT_Init();
lcd_init();
mydelay(10);
lcd_clr();
clr=0;
ena=0;
wren=0;
da=0;
clk=0;
key=0;
flag=0;
sur_flag=0;
wav_flag=1;
sao_flag=0;
fre_Sh_0=fre_Sh_1=fre_Sh_2=fre_Sh_3=fre_Sh_4=fre_Sh_5=fre_Sh_6=fre_Sh_7=fre_Sh_8=0;
Sh_0=Sh_1=Sh_2=Sh_3=Sh_4=Sh_5=Sh_6=Sh_7=Sh_8=0;
K_value=13107200;
P_value=0;
freq_value=0;
lcd_drawhanzimo(0,0,bo);
lcd_drawhanzimo(16,0,xing);
lcd_drawhanzimo(32,0,xuan);
lcd_drawhanzimo(48,0,ze);
lcd_drawnumber(64,0,mao);
lcd_drawhanzimo(48,0,zheng);
lcd_drawhanzimo(48,0,xian);
lcd_drawhanzimo(48,0,bo); //第一行显示:波形选择: 波
lcd_drawhanzimo(0,2,dang);
lcd_drawhanzimo(16,2,qian);
lcd_drawhanzimo(32,2,pin);
lcd_drawhanzimo(48,2,lv);
lcd_drawnumber(64,2,mao); //第二行显示:当前频率:
lcd_drawnumber(0,4,zero);
lcd_drawnumber(8,4,zero);
lcd_drawnumber(16,4,zero);
lcd_drawnumber(24,4,zero);
lcd_drawnumber(32,4,point);
lcd_drawnumber(40,4,zero);
lcd_drawnumber(48,4,zero);
lcd_drawnumber(56,4,zero);
lcd_drawnumber(64,4,zero);
lcd_drawnumber(72,4,zero);
lcd_drawnumber(80,4,K);
lcd_drawnumber(88,4,H);
lcd_drawnumber(96,4,z); //第三行显示:0000.00000KHz
ena=0;
wtite_clr();
wav_count(wav_flag);
write_wav_addr();
write_fre();
mydelay(100);
ena=1;
while(1);
/* {
key=kbscan();
ans_key(key);
set_num(key);
if(sur_flag)
{
ena=0;
wtite_clr();
wav_count(wav_flag);
write_wav_addr();
write_fre();
mydelay(100);
ena=1;
}
if(sao_flag==1)
{
saom();
}
} */
}
void ans_key(unsigned char readkey)
{
if(readkey!=0)
{
if(readkey==0x18) //波形选择按键
{
flag=1;
}
else if(readkey==0x28) //正弦波
{
lcd_drawhanzimo(48,0,zheng);
lcd_drawhanzimo(48,0,xian);
wav_flag=0;
}
else if(readkey==0x48) //方波
{
lcd_drawhanzimo(48,0,fang);
lcd_drawhanzimo(48,0,kong);
wav_flag=1;
}
else if(readkey==0x88) //三角波
{
lcd_drawhanzimo(48,0,san);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -