[開源 綠色軟件] [運行環境 Windows XP/7/8/10] [語言 簡體/繁體/English/Unicode] A cool music player. Powered by Bass and BassVis. 極簡本地音樂播放器,透明、純文本界面。支持輕媒體庫、歌詞、可視化。最小化到托盤,占用資源少,適合邊聽音樂邊工作。 應網友要求,加入了Tag編輯、自動切換列表、播放隊列、鼠標手勢、均衡器、音頻設備選擇、全局音量滾輪(托盤區域)、字體設置、極簡模式、鼠標穿透、嵌入桌面、簡單布局等功能。 homepage> mcool.appinn.me ==================================================== 音頻格式APE、FLAC、WavPack、MP3、OGG、TTA、TAK、Musepack、AAC、AC3、WMA、Wav、CD、ALAC、Aiff、MOD、CUE ==================================================== 更新歷史: 3336 -2016.3.25 點睛之筆:任意布局(追上foobar2000)。Arbitrary layout (all in one). 3330 -2016.3.10 一體布局之比例調節(初具foobar2000風貌)。Ratio adjust (all in one). 3308 -2015.11.28 歌詞微調(在選項>常規>鼠標手勢里設置)。Adds function of lyrics tuning. 3306 -2015.11.15 電臺模式(整點時切換歌曲或列表,并非在線音樂),以及多聲卡支持。Adds radio mode, and multi sound card support. 3300 -2015.10.15 完善細節,修復切歌卡住bug。完美版。Fixes some bugs. 3280 -2015.8.1 簡單布局功能。Layout (all in one) function. 3260 -2015.6.1 Win10模式。Win10 mode. 3252 -2015.5.10 任務欄進度條。Taskbar progress display. 3236 -2015.4.10 點睛之筆:透明度調節。Adds function of transparency tuning. 3232 -2015.3.25 自定義軟件名(請在mcool.ini中手動修改)。Adds function of customizing app name. 3230 -2015.3.12 Airplay復刻界面。Airplay interface copy. 3218 -2015.1.20 桌面歌詞。Desktop lyrics. 3216 -2015.1.12 一體化界面(學習Foobar2000和豆瓣FM)。All in one interface. 3212 -2015.1.6 新增Winamp音效插件支持(學習千千靜聽),以及滾輪穿透功能(學習Airplay3)。Adds Winamp DSP plugins support, and adds function of wheel transparent. Winamp音效插件下載:http://uploadgeneration.info/Winamp/www.winamp.com/plugins/dsp-effect/5/top-rated.html 3210 -2014.12.28 重要更新:本地音量調節、自定義鼠標鍵/手勢。Adds local volume control, and adds fuction of customizing mouse control / gesture. 3208 -2014.11.25 簡化右鍵菜單,常規項目移到選項窗口。Simplifies the popup menu, moves the general items to option window. 3206 -2014.11.22 新增文本對齊選項,重新設計導航按鈕。Adds option of text alignment, and redesigns the buttons of playback. 3202 -2014.11.10 新增播放記憶、片段循環(Hotkey: Ctrl+1/2)和貼邊隱藏功能。Adds functions of playback memory, AB repeat and screen side hide. 3200 -2014.11.5 新增無界面選項(先去掉托盤圖標,然后Ctrl+Alt+W隱藏界面,Ctrl+Alt+X關閉)。Adds option of no interface. 3191 -2014.8.26 嵌入桌面。Pins to desktop. 3190 -2014.8.19 音樂管理第一步:列表分組。Playlists grouping. 3186 -2014.8.10 基于列表的分級系統(Hotkey:0..5)。Rating system based on playlist. 3181 -2014.8.1 啟用新圖標(由虹吸墨作者BGLL友情制作)。Uses the new icon. 3180 -2014.7.22 新增Win7任務欄特效。Adds windows 7 taskbar effect. 3166 -2014.6.29 重要更新:自動下載專輯封面(源于歌詞迷)。Downloads album covers from geci.me. 3160 -2014.6.1 重要更新:新增極簡模式,以及OGG/Opus內置封面顯示功能。Adds minimalist mode, and adds function of displaying cover embedded in OGG/Opus. 3152 -2014.5.18 添加托盤右鍵菜單,新增MP4/M4A(ALAC)內置封面顯示功能。Adds systray popup menu, and adds function of displaying cover embedded in MP4/M4A(ALAC). 3151 -2014.5.1 重新設計可視化效果,新增示波器效果。Redesigns visual effects, and adds oscilloscope effect. 3150 -2014.4.20 采用歌詞迷API下載歌詞。Downloads lyrics from geci.me. 3136 -2014.3.30 加入可選的按鈕,以及鼠標穿透功能。Adds function of transparent window. 3132 -2014.3.6 簡化界面,向Foobar2K看齊;增加正在播放面板。Simplifies the interface, and adds now playing panel. 3130 -2014.2.26 重要更新:按照專輯分組。Grouping by album. 3120 -2014.2.18 優化字體渲染(Windows7/8下)。Optimizes font rendering in Windows 7/8. 3110 -2014.1.26 點睛之筆:自定義字體顏色。Adds function of customizing font color. 3108 -2013.11.16 Last.fm同步功能(請到主頁下載插件)。Last.fm scrobbler support. 3106 -2013.11.8 可回溯的隨機播放(學習Airplay 2)。Random playback can be traced back. 3103 -2013.10.12 優化右鍵菜單。Optimizes popup menu. 3102 -2013.9.30 修改滾動條樣式,增加音頻緩沖選項。Modifies style of scroll bar, and adds option of audio buffer length. 3100 -2013.9.10 無邊框設計;迷你模式也可以不置頂(Hotkey:T)。Borderless designs. 3086 -2013.8.20 增加歌詞面板功能。Adds function of lyrics panel. 3082 -2013.8.08 增加在可視化界面顯示歌詞功能。Adds function of displaying lyrics on visual interface. 3080 -2013.8.01 新增設置字體功能,恢復簡單的自動關機功能。Adds function of setting font, and re-adds simple function of auto shutdown. 3060 -2013.6.26 修復在迷你模式停止響應的Bug,去掉自動關機、歌詞調整功能。Fixes bug of stop responding in mini mode, and removes functions of auto shutdown and lyrics trimming. 3050 -2013.5.23 增加手勢功能。Adds gesture function. 3030 -2013.3.10 增加Aero磨砂玻璃效果[如需源碼請聯系我],XP/Win7/8無差別顯示,按Insert鍵開啟。Adds aero glass effect. 3020 -2013.2.23 增加簡易Tag編輯功能(選中并單擊即可,相當于資源管理器中的重命名,按照[歌手 - 歌名][專輯]格式進行編輯)。Adds function of editing audio tags (select and click, edit with [artist - title][album] format). 3010 -2013.1.23 應網友要求,加入讀取內嵌CUE、歌詞及專輯封面功能。Adds function of reading CUE, LRC and album cover built in media. 3002 -2012.11.03 無按鈕設計;微調進度條尺寸。Buttonless design; modifies the size of the progress bar. 3001 -2012.10.15 重要改進,界面即按鈕:單擊 - 播放/暫停,按住 - 前進。Important update, the interface is a button: Click - Play/Pause, Hold Down - Next. 3000 -2012.9.28 增加Win8模式。Adds Win8 mode option. 2982 -2012.8.26 在Win8下使用微軟雅黑字體。Uses Microsoft YaHei font in Windows 8 CHS. 2981 -2012.8.20 視頻以插件提供(請到主頁下載),增加單曲循環功能。Adds function of repeat track. 2980 -2012.7.26 簡化代碼,去掉視頻和MIDI支持。Removes the video and MIDI support. 2970 -2012.7.20 增加媒體信息顯示功能。Adds function of displaying media info. 2960 -2012.6.28 增加專輯封面顯示功能(Hotkey:Ins)。Adds function of displaying album cover. 2956 -2012.6.01 再次簡化界面。Simplifies the interface again. 2952 -2012.4.28 增加音頻設備選擇功能:DS、ASIO、WASAPI。Adds function of selecting playback device. 2950 -2012.3.30 *增加滾輪調節音量功能(在托盤,中鍵靜音)和媒體鍵支持。Adds function of setting volume by mouse wheel (over systray, middle click to mute), and adds multimedia keys support. 2936 -2012.3.17 微調界面,修復物理刪除失效的BUG。Fine-tunes the interface, and restores the physical delete function. 2930 -2012.2.27 增加TAK格式支持。Adds TAK format support. 2923 -2012.2.12 緊急修復上一版出現的字體模糊BUG(Vista/Win7下),增加在任務欄顯/隱圖標功能(Ctrl+T)。Fixes font vague bug for Vista/Win7, and adds showing/hiding icon on taskbar function. 2920 -2012.2.08 微調界面,優化CPU占用(啟用背景圖片時)。Fine-tunes the interface, and optimizes CPU utilization (while enable background image). 2912 -2012.1.12 增加播放隊列功能。Adds playback queue function. 2910 -2011.12.25 改進迷你模式,增加查找功能。Improves mini mode, and adds find function. *注:此功能對殺毒軟件過敏,開啟方法:按F1進入選項,勾選全局快捷鍵。The feature is allergic to the anti-virus software.
上傳時間: 2016-06-10
上傳用戶:fanghua
#include "STC90.h" #include < intrins.h > #define uchar unsigned char #define uint unsigned int #define led_port P1 sbit IR_RE = P3^2; sbit led_r = P1^3; sbit led_g = P1^4; sbit led_b = P1^5; sbit led_wd = P1^7; sbit K1 =P3^0 ; //增加鍵 sbit K2 =P3^1 ; //減少鍵 sbit BEEP =P3^7 ; //蜂鳴器 uchar temp,temp1; bit k=0; //紅外解碼判斷標志位,為0則為有效信號,為1則為無效 bit Flag2; uchar date[4]={0,0,0,0}; //date數組為存放地址原碼,反碼,數據原碼,反碼 uint lade_1,lade_2,lade_3,lade_4; uint num; uchar date_ram,ee_temp,ee_temp1; uchar WDT_NUM=0; uchar const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值01234567 uchar code seg[]={7,6,5,4,3,2,1,0};//分別對應相應的數碼管點亮,即位碼 unsigned long disp_date; void fade(); void fade1(); /*************************** 看門狗子程序*************************/ void watchdog_timer() { if(WDT_NUM==5) { WDT_NUM=0; led_wd=!led_wd; } WDT_NUM++; WDT_CONTR=0x3f; } /******************************************************************/ void delay(unsigned int cnt) { while(--cnt); } /*--------------------------延時1ms程子程序-----------------------*/ void delay_1ms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=126;y>0;y--); } /*--------------------------延時1ms程子程序-----------------------*/ delay1000() { uchar i,j; i=5; do{j=95; do{j--;} while(j); i--; } while(i); } /*---------------------------延時882us子程序-----------------------*/ delay882() { uchar i,j; i=6; do{j=71; do{j--;} while(j); i--; }while(i); } /*--------------------------延時2400us程子程序-----------------------*/ delay2400() { uchar i,j; i=5; do{j=237; do{j--;} while(j); i--; }while(i); } /**********************************************************************/ /* void display() { uchar i; for(i=0;i<8;i++) { P0=dofly[disp_date%10];//取顯示數據,段碼 P2=seg[i]; //取位碼 delay_1ms(1); disp_date/=10; } } */ /*********************************************************************/ uchar EEPROM_read(uint addr)//EEPROM字節讀 { ISP_CONTR=0x83; //系統時鐘<12M時,對ISP_CONTR寄存器設置的值,本電路為11.0592M ISP_CMD=1; //字節讀 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); return ISP_DATA; } //-------------------------------------------------------------------- void EEPROM_write(uint addr,uchar dat)//EEPROM字節寫 { ISP_CONTR=0x83; //系統時鐘<12M時,對ISP_CONTR寄存器設置的值,本電路為11.0592M ISP_CMD=2; //字節編程 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_DATA=dat; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); } //-------------------------------------------------------------------- void EEPROM_ERASE(uint addr)//EEPROM扇區擦除 { ISP_CONTR=0x83; //系統時鐘<12M時,對ISP_CONTR寄存器設置的值,本電路為11.0592M ISP_CMD=3; //扇區擦除 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); } //************************************************************** /*----------------------------------------------------------*/ /*-----------------------紅外解碼程序(核心)-----------------*/ /*----------------------------------------------------------*/ void IR_decode() { uchar i,j; while(IR_RE==0); delay2400(); if(IR_RE==1) //延時2.4ms后如果是高電平則是新碼 { delay1000(); delay1000(); for(i=0;i<4;i++) { for(j=0;j<8;j++) { while(IR_RE==0); //等待地址碼第1位高電平到來 delay882(); //延時882us判斷此時引腳電平 ///CY=IR_RE; if(IR_RE==0) { date[i]>>=1; date[i]=date[i]|0x00; } else if(IR_RE==1) { delay1000(); date[i]>>=1; date[i]=date[i]|0x80; } } //1位數據接收結束 } //32位二進制碼接收結束 } } /* void LED_PWM() { lade_2=num; //384 lade_4=num; //384 while(lade_2!=0&Flag2==1) { for(lade_3=512;lade_3>lade_4;lade_3--) //512 { led_port=0x00; delay(1); } lade_3=512; //512 lade_4--; for(lade_1=0;lade_1<lade_2;lade_1++) { led_port=0x38; //c7 delay(1); } lade_1=0; lade_2--; if(temp!=0x0c&Flag2==1) { lade_2=0; } lade_2=num; //384 lade_4=num; //384 } } */ void calc() { EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; //************************************* 1 /* if(date[3]==0xff&Flag2==1) { if(num>=20) { num=num-80; } //else num=1; LED_PWM(); } if(date[3]==0xfe&Flag2==1) { if(num<=500) { num=num+80; } // else num=511; LED_PWM(); } if(ee_temp1==0xfd) { led_port=0x00; watchdog_timer(); } if(ee_temp1==0xfc) { led_port=0x00; led_r=1; led_g=1; led_b=1; watchdog_timer(); } */ //********************************************** 2 if(ee_temp1==0xfb) { led_port=0x00; led_r=1; watchdog_timer(); } if(ee_temp1==0xfa) { led_port=0x00; led_g=1; watchdog_timer(); } if(ee_temp1==0xf9) { led_port=0x00; led_b=1; watchdog_timer(); } if(ee_temp1==0xf8) { led_port=0x00; led_r=1; led_g=1; led_b=1; watchdog_timer(); } //************************************** 3 if(ee_temp1==0xf7) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x07) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x07) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf6) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x06) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x06) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf5) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x05) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x05) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf4) { while(ee_temp==4) { led_port=0x00; led_r=1; delay_1ms(200); led_port=0x00; led_r=1; led_g=1; delay_1ms(200); led_port=0x00; led_g=1; delay_1ms(200); watchdog_timer(); led_port=0x00; led_g=1; led_b=1; delay_1ms(200); led_port=0x00; led_b=1; delay_1ms(200); led_port=0x00; led_b=1; led_r=1; delay_1ms(200); watchdog_timer(); } } //************************************** 4 if(ee_temp1==0xf3) { uint fade_1,fade_2,fade_3,fade_4; fade_2=416; //384 fade_4=416; //384 while(fade_2!=0&ee_temp==0x03) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x03) { fade_2=0; } watchdog_timer(); fade_2=416; //384 fade_4=416; //384 } } if(ee_temp1==0xf2) { uint fade_1,fade_2,fade_3,fade_4; fade_2=384; //384 fade_4=384; //384 while(fade_2!=0&ee_temp==0x02) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x02) { fade_2=0; } watchdog_timer(); fade_2=384; //384 fade_4=384; //384 } } if(ee_temp1==0xf1) { uint fade_1,fade_2,fade_3,fade_4; fade_2=348; //384 fade_4=348; //384 while(fade_2!=0&ee_temp==0x01) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x01) { fade_2=0; } watchdog_timer(); fade_2=348; //384 fade_4=348; //384 } } if(ee_temp1==0xf0) { while(ee_temp==0) { led_port=0x00; led_r=1; delay_1ms(500); watchdog_timer(); led_port=0x00; led_g=1; delay_1ms(500); led_port=0x00; led_b=1; delay_1ms(500); watchdog_timer(); } } //******************************************** 5 if(ee_temp1==0xef) { uint fade_1,fade_2,fade_3,fade_4; fade_2=384; //384 fade_4=384; //384 while(fade_2!=0&ee_temp==0x0f) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0f) { fade_2=0; } watchdog_timer(); fade_2=384; //384 fade_4=384; //384 } } if(ee_temp1==0xee) { uint fade_1,fade_2,fade_3,fade_4; fade_2=320; //384 fade_4=320; //384 while(fade_2!=0&ee_temp==0x0e) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0e) { fade_2=0; } watchdog_timer(); fade_2=320; //384 fade_4=320; //384 } } if(ee_temp1==0xed) { uint fade_1,fade_2,fade_3,fade_4; fade_2=320; //384 fade_4=320; //384 while(fade_2!=0&ee_temp==0x0d) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0d) { fade_2=0; } watchdog_timer(); fade_2=320; //384 fade_4=320; //384 } } if(ee_temp1==0xec) fade(); //******************************************* 6 if(ee_temp1==0xeb) { led_port=0x00; led_r=1; led_g=1; watchdog_timer(); } if(ee_temp1==0xea) { led_port=0x00; //led_r=0; led_g=1; led_b=1; watchdog_timer(); } if(ee_temp1==0xe9) { led_port=0x00; led_r=1; //led_g=0; led_b=1; watchdog_timer(); } if(ee_temp1==0xe8) fade1(); } void fade() { // uchar i; uint fade_1,fade_2,fade_3,fade_4; fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x10; delay(1); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0c) { fade_2=0; } } watchdog_timer(); fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { if(ee_temp!=0x0c) { fade_2=0; } for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x20; delay(1); // watchdog_timer(); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); // watchdog_timer(); } fade_1=0; fade_2--; } watchdog_timer(); fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { if(ee_temp!=0x0c) { fade_2=0; } for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x08; delay(1); watchdog_timer(); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); watchdog_timer(); } fade_1=0; fade_2--; } watchdog_timer(); } void fade1() { // uchar i; uint fade_1,fade_2,fade_3,fade_4; fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x10; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x08) { fade_2=0; } } watchdog_timer(); fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { if(ee_temp!=0x08) { fade_2=0; } for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x20; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; } watchdog_timer(); fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { if(ee_temp!=0x08) { fade_2=0; } for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x08; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; } watchdog_timer(); } void init() { led_port=0x00; /* led_r=1; delay_1ms(500); led_port=0x00; led_g=1; delay_1ms(500); led_port=0x00; led_b=1; delay_1ms(500); led_port=0x00; */ delay_1ms(2); WDT_CONTR=0x3f; delay_1ms(500); } //******************************** void main() { init(); Flag2=0; SP=0x60; //堆棧指針 EX0=1; //允許外部中斷0,用于檢測紅外遙控器按鍵 EA=1; num=255; while(1) { calc(); } } //******************************************************************** /*------------------------外部中斷0程序-------------------------*/ /*------------------主要用于處理紅外遙控鍵值--------------------*/ void int0() interrupt 0 { uchar i; Flag2=0; /////// k=0; EX0=0; //檢測到有效信號關中斷,防止干擾 for(i=0;i<4;i++) { delay1000(); if(IR_RE==1){k=1;} //剛開始為9ms的引導碼. } led_port=0x00; if(k==0) { IR_decode(); //如果接收到的是有效信號,則調用解碼程序 if(date[3]>=0xe8) { if(date[3]<=0xfb) { temp1=date[3]; EEPROM_ERASE(0x2000); //STC_EEROM_0X2000 temp1 EEPROM_write(0x2000,temp1); EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; /* temp=date[3]&0x0f; EEPROM_ERASE(0x2004); //STC_EEROM_0X2004 temp EEPROM_write(0x2004,temp); */ } else { EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; } } delay2400(); delay2400(); delay2400(); delay_1ms(500); } EX0=1; //開外部中斷,允許新的遙控按鍵 }
上傳時間: 2016-07-02
上傳用戶:184890962
/*#include<reg52.h> #define uint unsigned int #define uchar unsigned char #define uchar unsigned char sbit K1=P3^4; sbit K2=P3^5; sbit ledr=P1^0; sbit ledg=P1^1; sbit ledb=P1^2; bit LEDDirection=0;//LED控制方向0:漸亮1:漸滅 char pwm=0; char pwmr=0; char scw=0;//中斷記數 char tt=0; char n; void dealy(uint z); void Timer0Init(void) { TMOD=0x01; TH0=0xff; TL0=0x47; EX0=1; IT0=0; PX0=1; ET0=1; TR0=1; EA=1; } void main() { Timer0Init(); while(1){ if(K1==0) { dealy (1); if(K1==0) {TR0=1; ledr=0; dealy(5); TR0=0; } } if(K2==0) { dealy (1); if(K2==0) { while(1) { ledr=0; //亮 dealy(100-n*10); ledr=1; //熄 dealy(n*10); } } } } } void Time0Isr(void) interrupt 1 { // pwm=0; TH0=0xff; TL0=0x47; scw++; }*/ #include<reg52.h> #define uchar unsigned char bit LEDDirection=0; sbit P2_0=P1^0; sbit key1=P3^4; sbit key2=P3^5; sbit key3=P3^6; uchar zkb,i,t;// zkb指占空比 uchar pwm; void delay(uchar z) { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void init() //初始化函數 { TMOD=0X01; TH0=(65536-1000)/256; TL0=(65536-1000)%256; EA=1; ET0=1; TR0=1; } void keyscan() //鍵盤掃描 { P3=0XFF; if(key1==0) { delay(5); if(key1==0) { while(!key1); if(zkb<9) { zkb++; } } } if(key2==0) { delay(5); if(key2==0) { while(!key2); if(zkb>0) { zkb--; } } } if(key3==0) {TR0=1; delay(5); if(key3==0) {while(!key3); if((zkb<=9)&&(0==LEDDirection)) { zkb++; if(zkb>9) { LEDDirection=1; zkb=9; } } if((zkb>=0 )&&(1==LEDDirection)) { zkb--; if(zkb<0 ) { LEDDirection=0; zkb=0 ; //dealy(3000); } } } //pwm=pwmr; } } void main() //主函數 { zkb=2; init(); while(1) { keyscan(); } } void time0(void) interrupt 1 //中斷函數 { TH0=(65536-200)/256; TL0=(65536-200)%256; ++i; if(i>10) { i=0; }; if(i<=zkb) { P2_0=1; } else P2_0=0; } /*void time0(void) interrupt 0 //中斷函數 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; ++i; if(i>10) { i=0; }; if(i<=zkb) { P2_0=1; } else P2_0=0; }*/
標簽: 調光
上傳時間: 2016-07-02
上傳用戶:184890962
asp實現限制一個ip只能訪問一次的方法 <% '///////////////////////////////////////////////////// '// // '//作用:一個IP地址只允許訪問本頁一次 // '//引用:<!-- #include file="Check_Ip.asp" --> // '// // '///////////////////////////////////////////////////// 'Response.Charset = 936 '設置輸出編碼為簡體中文 'Response.Buffer = false '關閉緩沖區 Dim Fso,ts,IpList,Cfs '設置Cookies函數 Function SetCookie() Response.Cookies("IsBrow") = "Brow" Response.Cookies("IsBrow").Expires = Date+365 End Function '記錄IP地址函數 Function WriteIp(FileName, IpAddress) Set Fso = Server.CreateObject("Scripting.FileSystemObject") Set ts = Fso.OpenTextFile(Server.MapPath(FileName),8,true) ts.WriteLine IpAddress ts.Close Set ts = Nothing Set Fso = Nothing End Function '讀取IP地址函數 Function ReadIpList(FileName) Set Fso = Server.CreateObject("Scripting.FileSystemObject") If Not Fso.FileExists(Server.MapPath(FileName)) Then CreateFile("Iplist.txt") Exit Function End If Set ts = Fso.OpenTextFile(Server.MapPath(FileName)) Iplist = ts.ReadAll ts.Close Set ts = Nothing Set Fso = Nothing ReadIpList = Iplist End Function '創建文件函數 Function CreateFile(FileName) Set Fso = Server.CreateObject("Scripting.FileSystemObject") Set Cfs = Fso.CreateTextFile(Server.MapPath(FileName)) Cfs.Close Set Cfs = Nothing Set Fso = Nothing End Function '關閉當前IE窗口函數(注:IE6下通過,其他瀏覽器未測試) Function CloseWindow() 'Response.Write "<script>window.location='javascript:window.opener=null;window.close();'</script>" Response.Redirect "http://www.baidu.com" End Function Ip = Request.ServerVariables("REMOTE_ADDR") '獲取瀏覽者IP地址 Cookie = Request.Cookies("IsBrow") '獲取當前Cookies 'Response.Write Cookie If Request.ServerVariables("HTTP_X_FORWARDED_FOR") <> "" Then Response.Write "本站不允許使用代理訪問" Response.End() Else If Cookie = "Brow" Then CloseWindow() Else If Instr(ReadIpList("Iplist.txt"),Ip) <>0 Then CloseWindow() Else WriteIp "Iplist.txt" , Ip End If SetCookie() End If End If %>
上傳時間: 2016-07-14
上傳用戶:helei0915
8*8像素分塊,DCT,量化,Z掃描,差分編碼,huffman編碼
上傳時間: 2016-08-18
上傳用戶:chongchongsunnan
8*8像素分塊,DCT,量化,Z掃描,差分編碼,huffman編碼
上傳時間: 2016-08-18
上傳用戶:chongchongsunnan
TOC \o "1-3" \h \z 實驗一 DEBUG的啟動及其基本命令的使用..... PAGEREF _Toc83101466 \h 1 實驗二 內存操作數及尋址方法..... PAGEREF _Toc83101467 \h 5 實驗三 匯編語言程序的調試與運行..... PAGEREF _Toc83101468 \h 7 實驗四 查表程序設計..... PAGEREF _Toc83101469 \h 9 實驗五 系統功能調用..... PAGEREF _Toc83101470 \h 11 實驗六 分支程序設計..... PAGEREF _Toc83101471 \h 12 實驗七 循環程序設計..... PAGEREF _Toc83101472 \h 14 實驗八 子程序設計..... PAGEREF _Toc83101473 \h 16 實驗九 綜合程序設計..... PAGEREF _Toc83101474 \h 19 附錄一 DEBUG命令詳解 31 附錄二 實驗報告....... 48
上傳時間: 2016-12-12
上傳用戶:w335801121
本文件的目的是定義在OS抽象層(OSAL)的API。這個API允許的TI堆疊產品的軟件組件 ,例如Z-堆棧?,的RemoTI?和BLE,可以獨立于操作系統的具體的書面,內核或任務環境(包括控 制回路或連接-于─中斷系統)
上傳時間: 2017-02-17
上傳用戶:lonerxin
各種 AND 與門 ANTENNA 天線 BATTERY 直流電源 BELL 鈴,鐘 BVC 同軸電纜接插件 BRIDGE 1 整流橋(二極管) BRIDGE 2 整流橋(集成塊) BUFFER 緩沖器 BUZZER 蜂鳴器 CAP 電容 CAPACITOR 電容 CAPACITOR POL 有極性電容 CAPVAR 可調電容 CIRCUIT BREAKER 熔斷絲 COAX 同軸電纜 CON 插口 CRYSTAL 晶體振蕩器
上傳時間: 2017-04-27
上傳用戶:韓亞楠999
已知系統函數為H(z)=1/[(1-0.2z^-1)(1-0.3z^-1)(1+0.4z^-1)]。試用長除法求h(n)的6點輸出。 答案:clc;clear all;b=1;a=poly([0.2,0.3,-0.4]);x=deconv([1,zeros(1,6+4-1-1)],a)
上傳時間: 2017-10-21
上傳用戶:zhouhua