找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2914|回復(fù): 2
收起左側(cè)

基于STM32單片機(jī)FM調(diào)頻TEA5767功放收音機(jī)源程序

[復(fù)制鏈接]
ID:629491 發(fā)表于 2019-10-24 15:59 | 顯示全部樓層 |閱讀模式
源碼及實(shí)現(xiàn)

單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include <stdio.h>
  7. #include "timer.h"
  8. #include "lcd1602.h"
  9. #include "key.h"
  10. #include "fm_TEA5767.h"

  11. char dis0[16];//存放顯示數(shù)組0
  12. char dis1[16];
  13. u8 rekey = 0;//按鍵防止重復(fù)
  14. u8 disFlag=0;//顯示標(biāo)志
  15. u8 i;

  16. void LCDshow(void);
  17.        
  18. int main(void)
  19. {          
  20.         delay_init();                     //延時(shí)函數(shù)初始化          
  21.         uart_init(9600);                 //串口初始化為9600
  22.   TIM3_Int_Init(499,7199);//50ms           
  23. //        LED_Init();                                  //初始化與LED連接的硬件接口
  24.         KEY_Init();                        //初始化按鍵

  25.         Lcd_GPIO_init();  //初始化lcd引腳
  26.         Lcd_Init();                  //初始化lcd屏幕
  27.         delay_ms(20);
  28.   Lcd_Puts(0,0,(u8 *)"     FMRadio    ");        //初始化顯示

  29.         init();      //  初始化TEA5767
  30.        
  31.          while(1)
  32.         {
  33.                 if(disFlag == 1)
  34.                 {
  35.                         disFlag = 0;
  36.                 LCDshow();
  37.                 }                       
  38.                 if((key1==0)||(key2==1))//按鍵按下
  39.                 {
  40.                         {
  41.                                 delay_ms(10);//消除抖動(dòng)

  42.                                 if(key1==0)                //按鍵顯示切換
  43.                                 {
  44.                                         rekey = 1;
  45.                                         search_up();          //頻率向上
  46.                                         delay_ms(200);//消除抖動(dòng)
  47.                                 }
  48.                                 else  if(key2==0)                //按鍵顯示切換
  49.                                 {
  50.                                         rekey = 1;
  51.                                         search_down();          //頻率向上
  52.                                         delay_ms(200);//消除抖動(dòng)
  53.                                 }
  54.                         }               
  55.                 }
  56.         }                                                                                            
  57. }       

  58. //*********************LCD1602顯示程序*********************
  59. void LCDshow(void)//lcd顯示
  60. {
  61.       num1=FM_FREQ/100000000;                                                //提取頻率值
  62.       num2=(FM_FREQ%100000000)/10000000;
  63.       num3=(FM_FREQ%10000000)/1000000;
  64.       num4=(FM_FREQ%1000000)/100000;

  65.        Lcd_1Put(4, 1, tab1[num1]);//顯示具體數(shù)值
  66.        Lcd_1Put(5, 1, tab1[num2]);
  67.        Lcd_1Put(6, 1,tab1[num3]);
  68.        Lcd_1Put(7, 1, '.');
  69.        Lcd_1Put(8, 1, tab1[num4]);
  70.        Lcd_1Put(9, 1,'M');//
  71.        Lcd_1Put(10,1,'H');//
  72.        Lcd_1Put(11,1,'Z');//
  73. }
復(fù)制代碼

所有資料51hei提供下載:
程序.7z (209.29 KB, 下載次數(shù): 85)


回復(fù)

使用道具 舉報(bào)

ID:333807 發(fā)表于 2020-2-20 14:25 | 顯示全部樓層
高手,感謝分享
回復(fù)

使用道具 舉報(bào)

ID:755390 發(fā)表于 2020-6-9 14:53 | 顯示全部樓層
謝謝分享  有電路圖嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表