基于STC89C52的無線藍牙音頻功放 基于STC89C52的無線藍牙音頻功放,實現(xiàn)的具體功能如下: 1,無線藍牙連接,手機可控制歌曲音頻選擇。 2,音頻聲音的大小可控制一排LED的亮滅數(shù)量起伏。 3,按鍵可控制手機音頻的聲音大小調(diào)節(jié),歌曲的切換。 4,藍牙一鍵開機功能,掉電保護。
Altium Designer畫的單片機+M26429+PAM8403+MH-M18原理圖和PCB圖如下:(51hei附件中可下載工程文件)
51hei.png (68.71 KB, 下載次數(shù): 135)
下載附件
2020-6-11 18:21 上傳
51hei.png (48.99 KB, 下載次數(shù): 119)
下載附件
2020-6-11 18:21 上傳
51hei.png (7.1 KB, 下載次數(shù): 133)
下載附件
2020-6-11 18:22 上傳
單片機源程序如下:
- #include "reg52.h"
- #include "adc0832.h"
- #include "M62429.h"
- #include "intrins.h"
- #include "key.h"
- #include "I2C.h"
- uchar Smg[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
- uchar led[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
- uchar v_led;//LED燈顯示個數(shù)
- uint add=0;//中斷溢出
- uchar voice_num;//音高
- uint led_num=0,led_num1=0;//led顯示個數(shù)
- void key(void);//按鍵處理函數(shù)
- void smg_show(uint date);//數(shù)碼管顯示
- void led_show(uint led_num);//LED燈顯示
- void pinit();//初始化函數(shù)
- void ad(void);//ad采集
- /*
- 主函數(shù)
- */
- void main()
- {
- pinit();
- while(1)
- {
- ad();
- VolSet(33+voice_num*6);//數(shù)字電位器,值越大,音量越高
- // smg_show(voice_num);
- led_show(led_num);
- key();
- }
- }
- /*
- 函數(shù)名:按鍵處理
- 功能: 按鍵處理
- 輸入: 按鍵掃描返回值
- 輸出: 無
- */
- void key()
- {
- uchar key_value;
- key_value=key_scan(0);//調(diào)用按鍵掃描
-
- if(key_value==KEY_UP)
- {
- if(voice_num==9)
- voice_num=9;
- else
- voice_num++;
- }
- else if(key_value==KEY_DOWN)
- {
- if(voice_num==0)
- voice_num=0;
- else
- voice_num--;
- }
- if(!key_value)
- write_eeprom(1,voice_num);
- }
- /*
- 函數(shù)名:數(shù)碼管顯示
- 功能: 顯示音量
- 輸入: 音量
- 輸出: 無
- */
- void smg_show(uint date)
- {
- P1=0xfd;
- P0=0xc1;
- delay(500);
- P1=0xfe;
- P0=Smg[date];
- }
- /*
- 函數(shù)名:led顯示
- 功能: 顯示LED燈
- 輸入: 音量
- 輸出: 無
- */
- void led_show(uint led_num)
- {
- P2=led[led_num];
- }
- /*
- 函數(shù)名:初始化函數(shù)
- 功能: 定時器初始化
- 輸入:
- 輸出:
- */
- void pinit()
- {
- TMOD=0X01;
- TH0=(65536-10000)/256;
- TL0=(65536-10000)%256;
- TR0=ET0=EA=1;
- voice_num=read_eeprom(1);
- }
- void timer0() interrupt 1//定時器0中斷
- {
- TH0=(65536-10000)/256;
- TL0=(65536-10000)%256;
- add++;
- if(add==1000)
- add=0;
- if(add%2)
- {
- P1=0xfd;
- P0=0xc1;
- }
- else if(add%2==0)
- {
- P1=0xfe;
- P0=Smg[voice_num];
- }
- }
- void ad()
- {
- v_led=a_d();
- led_num1=v_led/25;
- if(led_num<=led_num1)
- led_num=led_num1;
- if(add%6==0)
- {
- if(led_num)
- led_num--;
- }
- }
復制代碼
所有資料51hei提供下載:
無線藍牙音頻功放PCB.7z
(759.55 KB, 下載次數(shù): 423)
2020-6-11 18:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
藍牙功放各類驅動(cgf).zip
(3.89 KB, 下載次數(shù): 230)
2020-6-10 10:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
數(shù)字功放代碼.rar
(54.07 KB, 下載次數(shù): 243)
2020-6-10 10:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|