源碼及實現
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "lcd.h"
- #include <stdio.h>
- #include "timer.h"
- #include "lcd1602.h"
- #include "key.h"
- #include "fm_TEA5767.h"
- char dis0[16];//存放顯示數組0
- char dis1[16];
- u8 rekey = 0;//按鍵防止重復
- u8 disFlag=0;//顯示標志
- u8 i;
- void LCDshow(void);
-
- int main(void)
- {
- delay_init(); //延時函數初始化
- uart_init(9600); //串口初始化為9600
- TIM3_Int_Init(499,7199);//50ms
- // LED_Init(); //初始化與LED連接的硬件接口
- KEY_Init(); //初始化按鍵
- Lcd_GPIO_init(); //初始化lcd引腳
- Lcd_Init(); //初始化lcd屏幕
- delay_ms(20);
- Lcd_Puts(0,0,(u8 *)" FMRadio "); //初始化顯示
- init(); // 初始化TEA5767
-
- while(1)
- {
- if(disFlag == 1)
- {
- disFlag = 0;
- LCDshow();
- }
- if((key1==0)||(key2==1))//按鍵按下
- {
- {
- delay_ms(10);//消除抖動
- if(key1==0) //按鍵顯示切換
- {
- rekey = 1;
- search_up(); //頻率向上
- delay_ms(200);//消除抖動
- }
- else if(key2==0) //按鍵顯示切換
- {
- rekey = 1;
- search_down(); //頻率向上
- delay_ms(200);//消除抖動
- }
- }
- }
- }
- }
- //*********************LCD1602顯示程序*********************
- void LCDshow(void)//lcd顯示
- {
- num1=FM_FREQ/100000000; //提取頻率值
- num2=(FM_FREQ%100000000)/10000000;
- num3=(FM_FREQ%10000000)/1000000;
- num4=(FM_FREQ%1000000)/100000;
- Lcd_1Put(4, 1, tab1[num1]);//顯示具體數值
- Lcd_1Put(5, 1, tab1[num2]);
- Lcd_1Put(6, 1,tab1[num3]);
- Lcd_1Put(7, 1, '.');
- Lcd_1Put(8, 1, tab1[num4]);
- Lcd_1Put(9, 1,'M');//
- Lcd_1Put(10,1,'H');//
- Lcd_1Put(11,1,'Z');//
- }
復制代碼
所有資料51hei提供下載:
程序.7z
(209.29 KB, 下載次數: 85)
2019-10-25 03:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|