单片机驱动无线麦克风芯片单片机解密
单片机源程序如下:
- 单片机解密
- //-----------------------------------------------------------------------------
- // Includes
- //-----------------------------------------------------------------------------
- #include <intrins.h>
- #include <stdio.h>
- #include <KT_WirelessMicRxdrv.h>
- #include <interface.h>
- //------------------------------------------------------------------------------------
- // Global VARIABLES
- //------------------------------------------------------------------------------------
- extern uchar bChannel;
- extern uchar xdata K4;
- extern uchar CURRENT_VOL[CHANNEL_NUMBER];
- extern uchar Flag_PILOT[CHANNEL_NUMBER];
- extern uchar Flag_PKGSYNC[CHANNEL_NUMBER];
- extern uchar Flag_AUTOMUTE[CHANNEL_NUMBER];
- extern uchar Flag_BURSTDATA[CHANNEL_NUMBER];
- extern uchar Flag_SQUEAL[CHANNEL_NUMBER];
- #if (CHANNEL_NUMBER ==2)
- long xdata Memery_Frequency[CHANNEL_NUMBER] = {662000,662000};
- long xdata Load_Frequency[CHANNEL_NUMBER] = {662000,662000};
- #else
- long xdata Memery_Frequency[CHANNEL_NUMBER] = 662000;
- long xdata Load_Frequency[CHANNEL_NUMBER] =0;
- #endif
- uchar Key_UP_flag=0;
- uchar Key_DOWN_flag=0;
- //------------------------------------------------------------------------------------
- // Function PROTOTYPES
- //------------------------------------------------------------------------------------
- void SYSCLK_Init (void);
- void PORT_Init (void);
- void KT_MicRX_Init (void); // KT_MicRX初始化
- void KT_MicRX_Next_Fre (void); // KT_MicRX加100KHz
- void KT_MicRX_Previous_Fre (void); // KT_MicRX减100KHz
- //void KT_MicRX_Mute (void); // KT_MicRX静音
- void KT_MicRX_PowerDown_Detecter (void);
- void KT_MicRX_Batter_Detecter (void);
- uchar Vol_Display(void);
- uchar RSSI_Display(void);
- void LCD_Refresh (void);
- void DEMO_Init (void);
- void Save_Freq (void);
- void Load_Freq (void);
- void KT_MicRX_Automute_Pilot(void);
- //------------------------------------------------------------------------------------
- //函 数 名:main
- //功能描述:主程序
- //函数说明:
- //调用函数:SYSCLK_Init(); PORT_Init(); DEMO_Init(); LCD_Refresh();
- // KT_MicRX_PowerDown_Detecter(); Key_Scan();
- // KT_MicRX_Next_Fre(); KT_MicRX_Previous_Fre();
- //全局变量:bChannel; Key_UP_flag; Key_DOWN_flag;
- //输 入:
- //返 回:无
- //设 计 者:KANG Hekai 时间:2012-08-01
- //修 改 者:KANG Hekai 时间:2013-03-29
- //版 本:V1.0
- // V1.1 2012-12-17 SQUEAL is added.
- // V1.2 2012-12-18 Simplify main.
- // V1.3 2013-03-29 增加LDO_CTRL = 1解决关机后反复上电和死机问题;
- // V1.4 2013-04-24 将前面板中间的按键作为导频检测的开关;
- //------------------------------------------------------------------------------------
- void main (void)
- {
- uchar ckey=0;
-
- PCA0MD &= ~0x40; // WDTE = 0 (clear watchdog timer enable)
- SYSCLK_Init (); // Initialize system clock to 24.5MHz
- PORT_Init (); // Initialize crossbar and GPIO
- DEMO_Init();
- // LDO_CTRL = 1; //正常工作后使LDO_CTRL状态正确
- while (1)
- {
- LCD_Refresh();
- KT_MicRX_PowerDown_Detecter();
- ckey = Key_Scan();
- switch(ckey)
- {
- case 1 : LCD_LED_A = 0; bChannel = CH_A; KT_MicRX_Next_Fre(); break;
- case 2 : LCD_LED_A = 0; bChannel = CH_A; KT_MicRX_Previous_Fre(); break;
- case 3 : LCD_LED_A = 0; bChannel = CH_A; KT_MicRX_Automute_Pilot(); break;
- // case 3 : LCD_LED_A = 0; bChannel = CH_A; KT_MicRX_Mute(); break;
- case 4 : LCD_LED_B = 0; bChannel = CH_B; KT_MicRX_Next_Fre(); break;
- case 5 : LCD_LED_B = 0; bChannel = CH_B; KT_MicRX_Previous_Fre(); break;
- case 6 : LCD_LED_B = 0; bChannel = CH_B; KT_MicRX_Automute_Pilot(); break;
- // case 6 : LCD_LED_B = 0; bChannel = CH_B; KT_MicRX_Mute(); break;
- default : Key_UP_flag=0; Key_DOWN_flag=0; break;
- }
- }
- }

芯片解密