void main(void) 这里开始进入程序
{
Delay400Ms(); 这是上电先延时一下,让所有器件上电正常后配置通信
LCMInit(); 这是1602显示初始化
UART_Init(); 这是串口初始化
radio_write(); 这里面自带了TEA5767的配置信息
radio_read(); 读取TEA5767的状态信息及频率等等
comm("TEA5767 FM \r\n\0"); 这是通过串口发送数据,不知道他发送给干嘛用的
while(1)
{
DisplayListChar(2,0,"Digital Radio"); 下面所有的Display都是在1602上面显示界面
DisplayListChar(2,1,"FRE:");
DisplayOneChar(6,1,dis_fre1+0x30);
DisplayOneChar(7,1,dis_fre2+0x30);
DisplayOneChar(8,1,dis_fre3+0x30);
DisplayOneChar(9,1,dis_fre4);
DisplayOneChar(10,1,dis_fre5+0x30 );
DisplayListChar(11,1,"MHZ");
if(s1==0) 这里是S1按键的扫描
{
delay_ms(1);
if(s1==0)
{
while(s1==0); 死等按键释放,所有如果这个按键短路就OVER了
search(0); 下面是S1按键按下后的处理
//send_fre(frequency);
send_readdata();
}
}
if(s2==0) 这里是S2按键扫描,结构同S1一样
{
delay_ms(1);
if(s2==0)
{
while(s2==0);
search(1);
//send_fre(frequency);
send_readdata();
}
}
if(s3==0) 这里是S3按键扫描,结构同S1一样
{
delay_ms(1);
if(s3==0)
{
while(s3==0);
auto_search(0);
send_fre(frequency);
}
}
if(s4==0) 这里是S4按键扫描,结构同S1一样
{
delay_ms(1);
if(s4==0)
{
while(s4==0);
auto_search(1);
send_fre(frequency);
}
}
dis_fre=frequency/100; 下面的是把频率做个转换以便下个循环给1602显示
dis_fre1=dis_fre/1000;
dis_fre2=dis_fre/100%10;
dis_fre3=dis_fre/10%10;
dis_fre4='.';
dis_fre5=dis_fre%10;
}
}
通过S1-S4的处理函数及他的说明来看
S1按下的功能应该是手动下调频率
S2按下的功能应该是手动上调频率
S3按下的功能应该是自动向下搜台
S3按下的功能应该是自动向上搜台
|