亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 紅學習.asm

?? 帶總線通訊學習功能的紅外線遙控器程序.可應用于各種學習性讀發碼裝置.
?? ASM
字號:
;可用,版本3 ,能接收長碼
;2001.10.20
;
;
;******************************************

;************紅外線接收程序******************

;*********************************************
;器件地址
EEPROM          EQU       0A0H
;MODE            EQU       070H           ;高四位0111,是紅外線設備型號
                                          ;低四位    ,是紅外線設備的地址


;R2,R3   是延時計數器
;R4  :脈沖電平寬度計時器,算法,計數26次(也就是26US)R4加1
;R5  :脈沖個數計數器
;內存數據定義
SP_STATR        EQU       01H
SP_END          EQU       00H
ACK             BIT       08H           ;接收數據非應答標志
BITCNT          DATA      15H           ;IIC數據計數器           ;SADDP:類型+地址
BYTECNT         DATA      16H           ;IIC數據字節計數器       ;SCISTEP:串行通信進程
SLVADR          DATA      14H           ;被控器地址,EEPROM的地址 ;SCILEN:后4位數據長度(幾個字節)
SUBADR          DATA      17H           ;被控器單元地址          ;SCICOM:前4位是命令
RCVDAT          DATA      18H           ;接收數據緩沖區          ;CRC   :校驗寄存器
XMTDAT          DATA      19H           ;發送數據緩沖區          ;SCODE :校驗寄存器
CYCLE           DATA      22H           ;循環計數器              ;RBUFSP:接收緩沖區指針
DAT             DATA      21H           ;脈沖個數計數器          ;SCISP :發送數據緩沖區指針
STU             DATA      20H           ;學習過的置0,沒有學習過的置1
ER              DATA      13H           ;出錯標志位,為0則出錯,為1則是正確
MODE            DATA      09H           ;高四位0111,是紅外線設備型號
                                        ;低四位    ,是紅外線設備的地址

;端口位定義
IN              BIT       P1.4; P0.0           ;紅外線接收位
BZ              BIT       P0.5           ;蜂鳴器輸出位
OUT             BIT       P1.7           ;紅外線發射位
WP              BIT       P0.0;P1.4           ;寫保護,為0時可讀寫,為1時不能寫
SDA             BIT       P1.3           ;模擬IIC數據傳送位
SCL             BIT       P1.2           ;模擬IIC時鐘控制狀態標志

LED             BIT       P0.7            ;
RECE            BIT       P0.6           ;串口接收發送位

                ORG       0000H
                AJMP      MAIN
                ORG       000BH          ;定時器TO0中斷入口地址
                AJMP      LOPP
                ORG       0023H
                AJMP      SINT           ;串口中斷入口地址
                ORG       063H

;***************主程序******************************

MAIN:
               MOV        STU,#00H
               MOV        SP,#0AH
               MOV        P0M2,#080h
               CLR        LED
               MOV        DAT,#00H         ;脈沖個數計數器清0
               MOV        TMOD,#022H       ;設置定時器0和1為方式2,定時控制方式,以運行控制位TR0,TR1啟動定時器
               MOV        TH0,#00H         ;加載計數初值
               MOV        TL0,#00H         ;保存計術數值,計時
               MOV        TH1,#0FAH
               MOV        TL1,#0FAH        ;波特率為4800
               MOV	  SADEN,#0FFH
               MOV	  SCON,#0F0H       ;串口工作方式3,多機通信控制,允許接收
               MOV        TCON,#040H       ;啟動T1定時
               MOV        PCON,#00H        ;波特率加倍
               MOV        IEN0,#092H       ;允許定時T0中斷,
                                           ;中斷總充許
                                           ;允許串行中斷

               MOV         WDCON,#017H
             ; MOV        MODE,#70H        ;高四位0111,是紅外線設備型號
                                           ;低四位    ,是紅外線設備的地址
               LCALL       GETADDR         ;調用,檢查地址子程式
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
               MOV        PT0AD,#010H      ;禁止CIN1A(P0.4) 的數字輸入功能
               ANL        P0M2,#0EFH       ;CIN1A(P0.4)僅為輸入功能
               ORL        P0M1,#010H
               MOV        CMP1,#028H       ;正向輸入為CIN1A
                                           ;選擇內部1.23V作為參考電壓
                                           ;比較結果輸出到中斷
             ; SETB       EC1              ;打開中比較器1中斷

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
               SETB        WP              ;禁止寫EEPROM
               SETB        TR1             ;啟動串行中斷,啟動TR1定時
               MOV         ER,#00H
;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;
              LCALL       LOP
              AJMP        MAIN
;;;;;;;;;@@@@@@@@@@@@@@@@@@@@;;;;;;;;;;;;;

AFFL:
              JBC        B.7,AFFL1         ;中斷返回時,接受命令正確,則調用命令處理程式
              MOV        WDRST,#01EH
              MOV        WDRST,#0E1H
              AJMP       AFFL              ;等待中斷

;********************命令處理************************************************
;主機命令: 第1個字節(前4位是設備婁型,后4位是設備地址)
;          第2個字節(前4位是命令,后4位是數據字節數)
;          第3~N個字節(EEPROM的地址)
;          最后一位是CRC
;接收前四位命令: 0111  7   是查詢設備狀態
;                0101  5   是學習紅外線指令命令
;                0110  6   是發送紅外線指令命令
;從機應答:
;發射前4位命令:  0111  7   命令已接受
;                0101  5   紅外碼學習正確
;                0000      紅外碼學習錯或超時
;接收后四位數據長度為1個字節0001
;數據字節:為學習或發送的按鍵值(就是EEPROM 的地址)
;設備婁型,地址是01000000


AFFL1:
              CLR         LED
              CLR         ES                ;串行中斷關閉
              CLR         TR1
              MOV         R5, SUBADR

;********************判斷紅外線碼學習還是發射**********************************

                                            ;取得EEPROM的高低字節地址
              MOV         A,22H             ;把數據中的按鍵值入A
              CJNE        A,#04H,ORDER1     ;判斷是錯誤碼,還是正常按鍵值
              AJMP        TTMM              ;命令=4,則轉發送紅外碼子程序
ORDER1:
              JNC         TTM3              ;命令大于4,則置錯誤標志返回等待中斷
              JC          TTMM              ;命令小于4, 則順繼執行
TTMM:
              MOV         B,#60H            ;把96放入乘數B中
              MUL         AB                ;把接收到的鍵碼乘以96,取得學習碼EEPROM
                                            ;的按鍵地址
              MOV         SUBADR,A          ;把乘積的低字節入EEPROM的低字節地址
              MOV         A,B               ;把B 存A中
              RL          A                 ;把乘積的高字節左移一位
              MOV         SLVADR,#EEPROM
              MOV         B,SLVADR
              ADD         A,B               ;把乘積的高字節與EEPROM的芯片地址相加
              MOV         SLVADR,A          ;后放入高字節
              CLR         F0                ;清出錯標志
              MOV         A,R5              ;命令前四位入A
              CJNE        A,#05H,ORDER      ;是學習紅外碼和發射碼嗎?不是置錯誤標記
              AJMP        TTM1              ;
ORDER:
              CJNE        A,#06H,TTM3       ;是學習紅外碼嗎?
TTMM1:
              LCALL       LOP               ;SUBADR=0則調用學習紅外碼子程序
              AJMP        TTM2
TTM1:
              LCALL       LDD               ;調用紅外線發射子程式
TTM2:
              JB          F0,TTM3           ;調用子程序出錯,置錯誤標記
              SETB        ES                ;打開串行中斷
              SETB        TR1
              MOV         ER,#05H           ;調用子程式正確,則置正確標記
              AJMP        AFFL              ;返回等待中斷
TTM3:
              MOV         ER,#00H
              SETB        ES                ;串行中斷打開
              SETB        TR1
              CLR         LED
              AJMP        AFFL              ;出錯返回等待中斷
;***********************************************************************
;                紅外線接收存EEPROM程序
;***********************************************************************
LOP:
               SETB       TR0               ;為零時,啟動T0計數
               MOV        R0,#CYCLE
               MOV        R4,#00H
               MOV        R2,#00H
               MOV        R3,#00H
               MOV        TL0,#00H
               MOV        TH0,#00H

LOPAQ:
               JNB        IN,LOPAQ1         ;接收紅外起始碼,為0時轉LOPAQ1,啟動接收
               CJNE       R4,#0FFH,LOPAQ    ;1分鐘之內沒有接收紅外起始碼, 則出錯
               MOV        WDRST,#1EH
               MOV        WDRST,#0E1H
               MOV        R4,#00H
               INC        R2
               CJNE       R2,#08H,LOPAQ
               MOV        R2,#00H
               MOV        WDRST,#1EH
               MOV        WDRST,#0E1H
               INC        R3
               CPL        LED
               CJNE       R3,#7EH,LOPAQ
               MOV        WDRST,#01EH
               MOV        WDRST,#0E1H
               SETB       F0
               CLR	  LED
               CLR        B.7
               RET
;********************開始接收紅外碼****************************
LOPAQ1:
               CLR	  LED
               MOV        DAT,#00H
               MOV        R0,#CYCLE
               MOV        R4,#00H         ;計數清0
               MOV        TH0,#0CBH       ;加載計數初值
               MOV        TL0,#0CBH       ;保存計術數值,每52秒中斷一次


LPP:
               CJNE       R4,#0FEH,LPPAA
               AJMP       RETURN1
LPPAA:
               JNB        IN,LPP          ;紅外線輸入為高則轉移LBB,為0時轉LPP

LBB:
               MOV        TL0,#0CBH       ;保存計術數值
               INC        R4
               MOV        A,R4
               MOV        @R0,A           ;把脈沖低電平寬度計時時間入寄存器

               MOV        R4,#00H         ;計數清0
               INC        SP_END          ;R0+1->R0,地址加1
               INC        DAT             ;R5+1>R5

LBB1:
               CJNE       R4,#0FEH,LBB12
               AJMP       RETURN1
LBB12:
               JB         IN,LBB1         ;紅外線輸入為高,則繼續計時轉LBB1,為0時轉LCC,
                                          ;計時高電平的時間
;*********此處開始計時中斷改為每26微秒中斷一次*******************

LCC:
               MOV        TH0,#0E5H       ;加載計數初值
LCC1:
               MOV        TL0,#0E5H       ;保存計術數值,每26秒中斷一次
               INC        R4
               MOV        A,R4
               MOV        @R0,A           ;把脈沖高 電平寬度計時時間入寄存器
               MOV        R4,#00H         ;計數清0
              ; INC        SP_END         ;R0+1-》R0
               INC        DAT             ;R5+1->R5
               MOV        A,DAT
               CJNE       A,#0FFH,LCCH
               INC        SP_STATR


LCCH:
               CJNE       R4,#0FEH,LCCH1AA
               AJMP       RETURN1
LCCH1AA:
               JNB        IN,LCCH          ;紅外線輸入還是為低,則繼續計時
                                           ;計低電平的時間
               MOV        TL0,#0E5H        ;保存計術數值
               INC        R4
               MOV        A,R4
               MOV        @R0,A            ;把脈沖低電平寬度計時時間入寄存器
               MOV        R4,#00H          ;計數清0
               ;INC        SP_END          ;R0+1->R0,地址加1
               INC        DAT              ;R5+1->R5
               MOV        A,DAT
               CJNE       A,#0FFH,LCCH1
               INC        SP_STATR

LCCH1:
               JNB        IN,LCC1             ;紅外線輸入還是為高,則繼續計時

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精东视频| www.色综合.com| 亚洲免费视频成人| 日本一区二区三区国色天香 | 色网站国产精品| 成人一道本在线| www.色精品| 欧美丝袜第三区| 欧美日韩成人综合天天影院 | 麻豆91免费观看| 麻豆精品久久精品色综合| 日韩av成人高清| 美女被吸乳得到大胸91| 九九在线精品视频| 国产精品18久久久久久久网站| 国模一区二区三区白浆 | 国产日产欧美一区二区三区| 国产日韩成人精品| 亚洲日本va午夜在线电影| 尤物av一区二区| 日韩高清一级片| 精东粉嫩av免费一区二区三区| 国产精品18久久久久久久久久久久| proumb性欧美在线观看| 91成人免费在线视频| 日韩午夜三级在线| 国产精品欧美综合在线| 亚洲成年人网站在线观看| 极品少妇一区二区三区精品视频 | 色哟哟在线观看一区二区三区| 91美女精品福利| 69p69国产精品| 国产精品久久久久婷婷| 午夜私人影院久久久久| 国产福利精品导航| 在线精品亚洲一区二区不卡| 欧美一区二区三区思思人| 亚洲国产精品99久久久久久久久 | 99久久久免费精品国产一区二区| 色婷婷综合久久久久中文一区二区 | 99久久精品免费| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品日日摸夜夜摸av| 亚洲影视在线播放| 国产91综合一区在线观看| 欧美日韩三级在线| 国产精品久久久久一区| 免费在线视频一区| 色中色一区二区| 久久久www成人免费毛片麻豆| 一区二区三区中文字幕在线观看| 精品一区二区三区视频在线观看| 91福利视频网站| 国产精品伦理在线| 精品综合免费视频观看| 欧美色倩网站大全免费| 国产精品人成在线观看免费 | 国产欧美精品一区aⅴ影院| 午夜电影一区二区| 91成人免费电影| 亚洲欧美一区二区久久| 国产99久久久国产精品潘金| 久久综合久久99| 韩国欧美国产一区| 日韩精品一区二区在线| 日本成人在线网站| 91麻豆精品国产91久久久久久 | 成人精品在线视频观看| 日韩欧美在线123| 日韩在线a电影| 欧美日韩性生活| 亚洲一区二区在线视频| 欧洲亚洲国产日韩| 亚洲激情六月丁香| 欧美在线观看视频一区二区三区| 亚洲美女精品一区| 91老司机福利 在线| 亚洲日本电影在线| 91视频你懂的| 亚洲综合免费观看高清完整版| 91在线视频免费观看| 亚洲女爱视频在线| 欧美最猛黑人xxxxx猛交| 一区二区三区加勒比av| 欧美日韩精品福利| 秋霞电影网一区二区| 精品欧美久久久| 国产精品一卡二卡| 亚洲视频免费观看| 欧美综合视频在线观看| 日韩成人一级片| 精品国产乱码久久久久久久| 国产精品一区在线观看你懂的| 国产亚洲短视频| 91小宝寻花一区二区三区| 成人欧美一区二区三区白人| 91福利资源站| 日本麻豆一区二区三区视频| 国产欧美日韩卡一| 91亚洲精品久久久蜜桃| 亚洲成a人片在线观看中文| 91精品中文字幕一区二区三区| 国产资源在线一区| 亚洲视频一二三| 日韩欧美国产系列| 成人av电影在线观看| 视频一区中文字幕国产| 国产三级欧美三级日产三级99| 色综合天天做天天爱| 丝袜诱惑亚洲看片| 中文字幕成人av| 欧美人牲a欧美精品| 国产精品一区二区在线看| 亚洲一区二区三区四区中文字幕 | 日本一区二区视频在线| 在线观看日韩毛片| 国产成人综合自拍| 午夜伦理一区二区| 国产精品电影一区二区| 日韩欧美一级精品久久| 99久久免费视频.com| 国产综合色视频| 婷婷成人激情在线网| 中文字幕一区二区在线观看| 精品欧美一区二区久久| 色一区在线观看| 国产成人午夜视频| 六月丁香婷婷久久| 性欧美疯狂xxxxbbbb| 最新国产精品久久精品| 精品国产乱码91久久久久久网站| 欧美羞羞免费网站| 99精品国产91久久久久久| 国产乱子伦视频一区二区三区| 日本午夜一区二区| 亚洲国产日韩a在线播放性色| 国产精品另类一区| 久久久不卡网国产精品一区| 日韩情涩欧美日韩视频| 欧美久久久一区| 精品视频一区二区不卡| 欧美最猛黑人xxxxx猛交| 色伊人久久综合中文字幕| 成人免费视频一区二区| 国产成人激情av| 国产精品一区二区你懂的| 国产一区二区精品久久99| 久久成人18免费观看| 久久精品国产**网站演员| 免费在线观看日韩欧美| 蜜桃视频一区二区| 久久av中文字幕片| 国产尤物一区二区| 国产精品综合在线视频| 粉嫩绯色av一区二区在线观看| 国产精品资源在线观看| 高清在线不卡av| 成人激情动漫在线观看| jlzzjlzz欧美大全| 99精品1区2区| 欧美色区777第一页| 欧美日韩国产大片| 日韩一级欧美一级| 久久婷婷综合激情| 国产精品三级视频| 一区二区三区中文免费| 性欧美疯狂xxxxbbbb| 久热成人在线视频| 国产v综合v亚洲欧| 一本色道亚洲精品aⅴ| 欧美日韩国产一级二级| 日韩网站在线看片你懂的| 久久蜜桃一区二区| 亚洲天天做日日做天天谢日日欢| 亚洲女人的天堂| 免费在线观看一区二区三区| 国产精品99久久久久久有的能看| proumb性欧美在线观看| 欧美午夜精品一区二区三区| 欧美大肚乱孕交hd孕妇| 欧美经典一区二区| 亚洲成人自拍偷拍| 国产精品自在欧美一区| 色婷婷综合久久久中文一区二区| 欧美妇女性影城| 国产午夜精品一区二区三区视频| 亚洲男人电影天堂| 久久精品久久久精品美女| www.成人网.com| 日韩一二三区不卡| 国产精品成人免费精品自在线观看| 亚洲成人自拍偷拍| 成人综合在线观看| 日韩一级大片在线观看| 亚洲三级视频在线观看| 国产一区二区0| 欧美肥大bbwbbw高潮| 综合久久久久久| 精品在线观看视频| 欧美日韩一二三|