


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)中按鍵模板void AMP_KEY_PROCESS(void)unsigned int xdata IN_CYCLE_TIME=0;unsigned int xdata OUT_CYCLE_TIME=0;需設(shè)定項(xiàng)的unsigned char xdata RUN_CHANGE_ID=0; /IDunsigned char xdata ST_CHANGE_ID =0; bit data ID_CHANGE_FLAG=1; KEY_SWITCH:if(AMP_STANDBY_FLAG) goto ST_KEY_START;RUN_KEY_START:if(UP=0)Delay_mS(10);i
2、f(UP=0) while(UP=0)/判斷UP是長按還是短按IN_CYCLE_TIME+; System_Display_Time(); if(IN_CYCLE_TIME=50)/如果UP是長按,則系統(tǒng)音量連續(xù)+1Delay_mS(10);while(UP=0)TDA7313_VOL_SET(1);System_Display_Volume();Delay_mS(100);System_Display_Time();IN_CYCLE_TIME=0;goto RUN_KEY_START;IN_CYCLE_TIME=0;TDA7313_VOL_SET(1); /如果UP是短按,則系統(tǒng)音量單次+1
3、System_Display_Volume();AT24C02_Write_Data(AMP_VOL_DATA_BK,AMP_VOL_DATA);if(DOWN=0)Delay_mS(10);if(DOWN=0)while(DOWN=0)/判斷UP是長按還是短按IN_CYCLE_TIME+;System_Display_Time();if(IN_CYCLE_TIME=50)/如果UP是長按,則系統(tǒng)音量連續(xù)+1Delay_mS(10);while(DOWN=0)TDA7313_VOL_SET(0);System_Display_Volume();Delay_mS(100);System_Disp
4、lay_Time();IN_CYCLE_TIME=0;goto RUN_KEY_START;IN_CYCLE_TIME=0;TDA7313_VOL_SET(0); /如果UP是短按,則系統(tǒng)音量單次+1System_Display_Volume();AT24C02_Write_Data(AMP_VOL_DATA_BK,AMP_VOL_DATA);if(LEFT=0)Delay_mS(10);if(LEFT=0)while(LEFT=0)/判斷LEFT是長按還是短按IN_CYCLE_TIME+;System_Display_Time();if(IN_CYCLE_TIME=50)/如果UP是長按,則
5、系統(tǒng)音量連續(xù)+1IN_CYCLE_TIME=0;AMP_MUTE_FLAG=AMP_MUTE_FLAG;AMP_MUTE_CHANGE_FLAG=1;TDA7313_MUTE_SET(AMP_MUTE_FLAG); if(AMP_MUTE_FLAG=1) System_Display_Mute();elseLCD_Display_ColorBox(56,149,119,212,0XFFE0);System_Display_Volume();while(LEFT=0) System_Display_Time();AT24C02_Write_Data(AMP_MUTE_FLAG_BK,AMP_MU
6、TE_FLAG);goto RUN_KEY_START;IN_CYCLE_TIME=0;TDA7313_HP_VOL_SET(0);/如果UP是短按,則系統(tǒng)音量單次+1System_Display_HP_Volume();AT24C02_Write_Data(AMP_HP_VOL_DATA_BK,AMP_HP_VOL_DATA);if(RIGHT=0)Delay_mS(10);if(RIGHT=0)while(RIGHT=0)/判斷UP是長按還是短按IN_CYCLE_TIME+;System_Display_Time();if(IN_CYCLE_TIME=50)/如果UP是長按,則系統(tǒng)音量連續(xù)
7、+1 IN_CYCLE_TIME=0;AMP_LOUD_FLAG=AMP_LOUD_FLAG;/如果UP是短按,則系統(tǒng)音量單次+1TDA7313_LOUD_SET(AMP_LOUD_FLAG); System_Display_Loud();while(RIGHT=0) System_Display_Time();AT24C02_Write_Data(AMP_LOUD_FLAG_BK,AMP_LOUD_FLAG); goto RUN_KEY_START;IN_CYCLE_TIME=0;TDA7313_HP_VOL_SET(1);/如果UP是短按,則系統(tǒng)音量單次+1System_Display_H
8、P_Volume();AT24C02_Write_Data(AMP_HP_VOL_DATA_BK,AMP_HP_VOL_DATA); if(MENU=0)Delay_mS(10);if(MENU=0)while(MENU=0)/判斷MEN是長按還是短按IN_CYCLE_TIME+;System_Display_Time();if(IN_CYCLE_TIME=500)IN_CYCLE_TIME=0;AMP_MODE_CHANGE_FLAG=1;AMP_POWER=AMP_POWER;/如果MEN長按,AMP進(jìn)入SLEEP氐功耗狀態(tài)AMP_STANDBY_FLAG=AMP_STANDBY_FLAG
9、;while(MENU=0); System_Display_Time();goto KEY_END;IN_CYCLE_TIME=0;while(1)RUN_MENU_LOOP:OUT_CYCLE_TIME+;System_Display_Time();if(OUT_CYCLE_TIME=1000)OUT_CYCLE_TIME=0;0);LCD_Display_String_ASCII8_16(2,0,"CH GAIN:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(3,0,"CHLOUD:",0xF800,0
10、x07E0);LCD_Display_String_ASCII8_16(4,0,"BALANCE:",0xF800,0x07E 0);LCD_Display_String_ASCII8_16(5,0,"B A S S:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(6,0,"TREBLE :",0xF800,0x07E 0);LCD_Display_String_ASCII8_16(7,0,"HP VOL:",0xF800,0x07E0);LCD_Display_Stri
11、ng_ASCII8_16(8,0,"3DSOUND:",0xF800,0x07E 0);LCD_Display_String_ASCII8_16(9,0,"AUTOOFF:",0xF800,0x07E0);goto KEY_SWITCH;if(ID_CHANGE_FLAG=1)ID_CHANGE_FLAG=0;switch(RUN_CHANGE_ID)case 0: /Line 1 channel high light0);LCD_Display_String_ASCII8_16(2,0,"CH GAIN:",0xF800,0x07E
12、0);LCD_Display_String_ASCII8_16(1,0,"CHANNEL:",0xF800,0x001F);break;case 1:LCD_Display_String_ASCII8_16(1,0,"CHANNEL:",0xF800,0x07E 0);LCD_Display_String_ASCII8_16(4,0,"BALANCE:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(2,0,"CHGAIN:",0xF800,0x001F);break;ca
13、se 2:LCD_Display_String_ASCII8_16(2,0,"CH GAIN:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(5,0,"B A S S:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(4,0,"BALANCE:",0xF800,0x001F); break;case 3:LCD_Display_String_ASCII8_16(4,0,"BALANCE:",0xF800,0x07E 0);LCD_
14、Display_String_ASCII8_16(6,0,"TREBLE :",0xF800,0x07E0);LCD_Display_String_ASCII8_16(5,0,"B A S S:",0xF800,0x001F);break;case 4:LCD_Display_String_ASCII8_16(5,0,"B A S S:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(8,0,"3DSOUND:",0xF800,0x07E 0);LCD_Display_St
15、ring_ASCII8_16(6,0,"TREBLE :",0xF800,0x001F);break;case 5:0);LCD_Display_String_ASCII8_16(9,0,"AUTOOFF:",0xF800,0x07E 0);LCD_Display_String_ASCII8_16(8,0,"3DSOUND:",0xF800,0x001F);break;case 6:LCD_Display_String_ASCII8_16(8,0,"3DSOUND:",0xF800,0x07E 0);LCD_Dis
16、play_String_ASCII8_16(1,0,"CHANNEL:",0xF800,0x07E 0);LCD_Display_String_ASCII8_16(9,0,"AUTOOFF:",0xF800,0x001F);break;default: break;if(MENU=0)Delay_mS(10);if(MENU=0)while(MENU=0)IN_CYCLE_TIME+;System_Display_Time();if(IN_CYCLE_TIME=500)IN_CYCLE_TIME=0;AMP_MODE_CHANGE_FLAG=1;AMP_
17、POWER=AMP_POWER;AMP_STANDBY_FLAG=AMP_STANDBY_FLAG; while(MENU=0);System_Display_Time();goto KEY_END;IN_CYCLE_TIME=0;OUT_CYCLE_TIME=0;LCD_Display_String_ASCII8_16(1,0,"CHANNEL:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(2,0,"CHGAIN:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(3
18、,0,"CHLOUD:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(4,0,"BALANCE:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(5,0,"B A SS:",0xF800,0x07E0);0);LCD_Display_String_ASCII8_16(7,0,"HPVOL:",0xF800,0x07E0);LCD_Display_String_ASCII8_16(8,0,"3DSOUND:",0
19、xF800,0x07E0);LCD_Display_String_ASCII8_16(9,0,"AUTOOFF:",0xF800,0x07E0);goto RUN_KEY_START;if(RIGHT=0)Delay_mS(10);if(RIGHT=0)while(RIGHT=0) System_Display_Time();switch(RUN_CHANGE_ID)case 0:/change input channelTDA7313_CHANNEL_SET(1);AT24C02_Write_Data(AMP_CHANNEL_DATA_BK,AMP_CHANNEL_DAT
20、A)System_Display_Channel();case 1:/change input channelgainTDA7313_CHGAIN_SET(1);AT24C02_Write_Data(AMP_CHGAIN_DATA_BK,CHGAIN_DATA);System_Display_Chgain();break;case 2:/change AMP BALANCETDA7313_BALANCE_SET(1);AT24C02_Write_Data(AMP_BALANCE_DATA_BK,AMP_BALANCE_DATA)System_Display_Balance();break;ca
21、se 3:/change AMP BASS TDA7313_BASS_SET(1);AT24C02_Write_Data(AMP_BASS_DATA_BK,AMP_BASS_DATA);System_Display_Bass();case 4:/change AMP TREBLETDA7313_TRE_SET(1);AT24C02_Write_Data(AMP_TRE_DATA_BK,AMP_TRE_DATA);System_Display_Treble();break;case 5:/change AMP HeadphonevolumeVIRTUAL_3D_SET(1);System_Dis
22、play_3D();break;case 6: /change AMPauto power off timeif(AUTO_OFF_FLAG=0)AUTO_OFF_FLAG=1;AUTO_OFF_TIME=0;AUTO_OFF_TIME=AUTO_OFF_TIME+10; if(AUTO_OFF_TIME=130) AUTO_OFF_TIME=120;System_Display_Autooff();default: break;IN_CYCLE_TIME=0;OUT_CYCLE_TIME=0;goto RUN_MENU_LOOP;if(LEFT=0)Delay_mS(10);if(LEFT=
23、0)while(LEFT=0) System_Display_Time();switch(RUN_CHANGE_ID)case 0:/change input channelTDA7313_CHANNEL_SET(0);AT24C02_Write_Data(AMP_CHANNEL_DATA_BK,AMP_CHANNEL_DATA)5System_Display_Channel();break;case 1:/change input channelgainTDA7313_CHGAIN_SET(0);AT24C02_Write_Data(AMP_CHGAIN_DATA_BK,CHGAIN_DAT
24、A);System_Display_Chgain(); break;case 2: /change AMP balance TDA7313_BALANCE_SET(0);AT24C02_Write_Data(AMP_BALANCE_DATA_BK,AMP_BALANCE_DATA)System_Display_Balance(); break;case 3: /change AMP BASS TDA7313_BASS_SET(0);AT24C02_Write_Data(AMP_BASS_DATA_BK,AMP_BASS_DATA);System_Display_Bass(); break;ca
25、se 4:/change AMP TREBLETDA7313_TRE_SET(0);AT24C02_Write_Data(AMP_TRE_DATA_BK,AMP_TRE_DATA);System_Display_Treble();volumeVIRTUAL_3D_SET(0);System_Display_3D();break;case 6: /change AMP auto power offtimeif(AUTO_OFF_FLAG=1)AUTO_OFF_TIME=AUTO_OFF_TIME-10;if(AUTO_OFF_TIME>130)&&(AUTO_OFF_TIM
26、E<=255)AUTO_OFF_TIME=0;AUTO_OFF_FLAG=0;System_Display_Autooff();break;default: break;IN_CYCLE_TIME=0;OUT_CYCLE_TIME=0;goto RUN_MENU_LOOP;if(UP=0)Delay_mS(10);if(UP=0) while(UP=0) System_Display_Time(); ID_CHANGE_FLAG=1;RUN_CHANGE_ID-; if(RUN_CHANGE_ID=255) RUN_CHANGE_ID=0; IN_CYCLE_TIME=0; OUT_CY
27、CLE_TIME=0; goto RUN_MENU_LOOP;if(DOWN=0)Delay_mS(10);if(DOWN=0)while(DOWN=0) System_Display_Time();ID_CHANGE_FLAG=1;RUN_CHANGE_ID+;if(RUN_CHANGE_ID=7) RUN_CHANGE_ID=6;IN_CYCLE_TIME=0; OUT_CYCLE_TIME=0; goto RUN_MENU_LOOP;goto KEY_END;ST_KEY_START:if(UP=0)Delay_mS(10);if(UP=0)while(UP=0) System_Disp
28、lay_Time();if(ALARM_COUNT2!=0)TR0=0;TH0=-50000/256;TL0=-50000%256;ALARM_COUNT1=0;ALARM_COUNT2=0;if(MENU=0)Delay_mS(10);if(MENU=0)while(MENU=0)/判斷MEN是長按還是短按IN_CYCLE_TIME+;System_Display_Time(); if(IN_CYCLE_TIME=500) IN_CYCLE_TIME=0;AMP_MODE_CHANGE_FLAG=1;AMP_POWER=AMP_POWER; / 如果MEN長按,AMP進(jìn)入SLEEP氐功耗狀態(tài)
29、AMP_STANDBY_FLAG=AMP_STANDBY_FLAG;while(MENU=0); System_Display_Time();goto KEY_END;IN_CYCLE_TIME=0;while(1)ST_MENU_LOOP:OUT_CYCLE_TIME+;if(OUT_CYCLE_TIME=1000)OUT_CYCLE_TIME=0;goto KEY_SWITCH;/switch()if(MENU=0)Delay_mS(10);if(MENU=0)while(MENU=0)IN_CYCLE_TIME+;System_Display_Time();if(IN_CYCLE_TIM
30、E=500)IN_CYCLE_TIME=0;AMP_MODE_CHANGE_FLAG=1;AMP_POWER=AMP_POWER;AMP_STANDBY_FLAG=AMP_STANDBY_FLAG; while(MENU=0);System_Display_Time();goto KEY_END;IN_CYCLE_TIME=0;OUT_CYCLE_TIME=0;goto KEY_SWITCH;if(UP=0)Delay_mS(10);if(UP=0)while(UP=0) System_Display_Time();switch(ST_CHANGE_ID)case 0: /change input channelTDA7313_CHANNEL_SET(1);break;case 1: /change input channelgainTDA7313_CHGAIN_SET(1);break;case 2: /change AMP BASSTDA7313_BASS_SET(1);break;case 3: /change AMP TREBLETDA7313_TRE_SET(1);break;case 4: /change AMP HeadphonevolumeTDA7313_HP_VOL_SET(1); break;case 5: /change AMPauto
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同視角下的產(chǎn)品經(jīng)銷三方合作
- 工業(yè)園區(qū)食堂勞務(wù)合同標(biāo)準(zhǔn)版
- 梧州市長洲區(qū)政府綠化工程委托合同
- 隱名投資利益分配合同
- 代理社保業(yè)務(wù)合同合作協(xié)議2025
- 代理合作協(xié)議合同模板
- 搪瓷企業(yè)設(shè)備更新與技術(shù)改造考核試卷
- 旅游客運(yùn)突發(fā)事件應(yīng)急預(yù)案考核試卷
- 政策性銀行服務(wù)農(nóng)村電商與精準(zhǔn)扶貧考核試卷
- 后勤服務(wù)中的客戶關(guān)系管理測試考核試卷
- 借哪吒精神燃開學(xué)斗志 開學(xué)主題班會(huì)課件
- 2025年初中主題班會(huì)課件:好習(xí)慣成就好人生
- 學(xué)校教職工代表大會(huì)全套會(huì)議會(huì)務(wù)資料匯編
- 中華人民共和國監(jiān)察法宣貫培訓(xùn)
- 2025年山東傳媒職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 2025年春新教科版物理八年級(jí)下冊(cè)課件 第10章 流體的力現(xiàn)象 1 在流體中運(yùn)動(dòng)
- 《中醫(yī)基礎(chǔ)理論》課件-中醫(yī)學(xué)理論體系的基本特點(diǎn)-整體觀念
- 全國職業(yè)院校技能大賽高職組(商務(wù)數(shù)據(jù)分析賽項(xiàng))備賽試題及答案
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 課題申報(bào)書:“四新”視域下地方高校學(xué)科建設(shè)與人才培養(yǎng)研究
- 施工爆破作業(yè)審批制度范文(2篇)
評(píng)論
0/150
提交評(píng)論