新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用51單片機模擬空調遙控開關-匯編程序

        用51單片機模擬空調遙控開關-匯編程序

        作者: 時間:2016-11-29 來源:網絡 收藏
        ;***************************************
        ;遙控4按鍵模擬 15F104E ;內部振蕩11.0592M;按1就P3.0低電平,按2就P3.1低電平 按3就P3.2低電平  按4就P3.3低電平 ;蜂嗚器提示, ;自學習功能,按住要學習的鍵2秒,;蜂嗚器長響,學習成功停止響;***************************YHM EQU 2fh;用戶碼SET0  EQU 30H;SET1  EQU 31H;SET2  EQU 32H;SET3  EQU 33H;;;;;;;;;;;;;;;;;;;;;;;;;;IAP_DATA EQU 0C2HIAP_ADDRH EQU 0C3HIAP_ADDRL EQU 0C4HIAP_CMD  EQU 0C5HIAP_TRIG EQU 0C6HIAP_CONTR EQU 0C7HENABLE_IAP EQU 83H ;系統工作時鐘<12MHZ時;************************IR_KEY BIT P3.5;紅外beep bit p3.3MA1 EQU 7BH ;MA2 EQU 7CH ;MA3 EQU 7DH MA4 EQU 7EH ;RED_32 EQU 7FH;;************ORG  0H ;程序開始AJMP STARTORG  30H;*************; 單片機初始化START:mov p3,#0ffh MOV DPTR, #0call EEPROMRmov 30h,ainc dptrcall EEPROMRmov 31h,ainc dptrcall EEPROMRmov 32h,ainc dptrcall EEPROMRmov 33h,aMOV DPTR, #200hcall EEPROMRmov 2fh,a;********************************MAIN:orl p3,#17hmov a,p3anl a,#17hcjne a,#17h,d2jmp d4d2:call delay2Sorl p3,#17hmov a,p3anl a,#17hcjne a,#17h,d3jmp d4d3:cpl aanl a,#17hmov 20h,aclr beepd4:jb IR_KEY,MAINACALL IRmov a,20hjnz d4AJMP MAIN ;返回;***************************IR:PUSH ACCPUSH PSWLCALL   DELAY1MSLCALL   DELAY1MSLCALL   DELAY1MSLCALL   DELAY1MSJB IR_KEY,IR_OUT;;高電平退出JNB   IR_KEY,$;等 IR 變為高電平LCALL DELAY2MS380USLCALL DELAY2MS380USJB     IR_KEY,IR_OUT;是否低電平MOV  R0,#MA1;起始內存為7CH,共4個內存JJJ:MOV  R3,#8  ;8位BBB:JNB  IR_KEY,$;等 IR 變為高電平;高電平后開始計數,計數值1 高電平1MOV    R2,#0  ;1MS計數CCC:LCALL   DELAY1MSJNB     IR_KEY,DDD ;低電平跳出計數INC     R2;;高電平繼續計數CJNE    R2,#3,CCC;防止計數超時AJMP IR_OUTDDD:CLR ACLR CSUBB A,R2 ;MOV     A,@R0RRC     AMOV     @R0,A  ;處理完一位DJNZ   R3,BBB;8位數據INC     R0;換下一個內存CJNE    R0,#RED_32,JJJ  ;寫完個4內存;4個8位碼存入MA1~MA4中;-------------------------------------MOV  A,MA4CPL  ACJNE A,MA3,IR_OUTjbc 0,s30jbc 1,s31jbc 2,s32jbc 4,s33MOV  A,MA2;CJNE A,YHM,IR_OUT;CALL IR_GOTOIR_OUT:POP     PSWPOP     ACCRETs30:mov set0,MA3call bao0call bao1setb beepjmp IR_OUTs31:mov set1,MA3call bao0call bao1setb beepjmp IR_OUTs32:mov set2,MA3call bao0call bao1setb beepjmp IR_OUTs33:mov set3,MA3call bao0call bao1setb beepjmp IR_OUT;----------------IR_GOTO:mov a,ma3
        				
                    
                        
        			
        							
        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 平凉市| 沂南县| 治县。| 连城县| 凌海市| 合江县| 蒙山县| 东莞市| 故城县| 大冶市| 那曲县| 遂昌县| 沂南县| 商城县| 保康县| 平舆县| 汉源县| 陆丰市| 沂南县| 兴化市| 崇明县| 体育| 盐津县| 台山市| 平顶山市| 齐齐哈尔市| 祁东县| 阿拉善左旗| 梨树县| 黄大仙区| 宁南县| 新民市| 汨罗市| 龙胜| 句容市| 那坡县| 噶尔县| 桓仁| 六安市| 分宜县| 荣成市|