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

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

?? mt8880

?? 自己做的一個MT8880做的智能防盜系統的程序。一需要的可以參考參考。
??
字號:
;這些是程序中MT8880相關操作的函數源代碼可能一些地方需要整理一下

;I/O口使用情況:
P_DT    EQU P0        ;MT8880的數據線(低4位有效)
P_CLK    EQU P1.0    ;輸出MT8880的時鐘clock2
P_RW    EQU P1.1    ;輸出MT8880的讀寫選擇(1:讀,0:寫)
P_CS    EQU P1.2    ;輸出MT8880的片選
P_RS    EQU P1.3    ;輸出MT8880的寄存器選擇(1:控制,0:數據)
P_HOOK    EQU P1.4    ;輸出電話線路接入控制(0:接起線路,1:斷開線路)
P_PHON    EQU P1.5    ;輸出電話機接入控制(0:接入話機,1:斷開話機)
P_LED    EQU P1.6    ;輸出發光二極管控制(0:亮,1:滅)
P_RING    EQU P1.7    ;輸入電話線路響鈴(0:有響鈴)
P_BELL  EQU P2.3    ;輸出接電話提示鈴聲控制(0:響)
P_IRQ    EQU P2.7    ;輸入MT8880的中斷
P_PHST    EQU P3.6    ;輸入電話機狀態(0:電話機目前拿起,1:放下)
;================================================================
;ADDRESS: RAM內存地址說明:
SPADR    EQU 60H ;SP Init Address 堆棧區底
DT_BUF_    EQU 5FH    ;數據緩沖區頂
DT_BUF    EQU 40H    ;數據緩沖區底
MT_TMP    EQU 34H    ;MT8880臨時變量
MT_8B    EQU 33H    ;MT8880臨時變量
;----------------------------------------------------------------
;ID ADRESSES: 標志位的位地址:(字節地址對應20H-2FH)
ERRID    EQU 0BH    ;函數調用錯誤返回標志(1:錯誤)
RSID    EQU 0AH ;讀寫MT8880的寄存器地址(1:控制,0:數據)
BIT7ID    EQU 07H    ;位變量的7位
BIT6ID    EQU 06H    ;位變量的6位
BIT5ID    EQU 05H    ;位變量的5位
BIT4ID    EQU 04H    ;位變量的4位
BIT3ID    EQU 03H    ;位變量的3位
BIT2ID    EQU 02H    ;位變量的2位
BIT1ID    EQU 01H    ;位變量的1位
BIT0ID    EQU 00H    ;位變量的0位
BIT_VAR    EQU 20H    ;位變量字節地址
;---------------------------------------------------------------
;VAR: 寄存器變量說明:
;R0:    緩沖區指針
;R1:    數據緩沖區專用指針
;R2:
;R3:
;R4:
;R5:    讀寫MT8880的數據(低4位有效)
;R6:    輔助計數器
;R7:    計數器
;B:     位計數器
;--------------------------------------------------------------
;CONST: 常量說明:
REDAIL    EQU 10    ;重撥次數
;==============================================================
;SUB: 子程序說明:
;READMT_SUB        讀MT8880函數
;WRITEMT_SUB        寫MT8880函數
;SMTIN_SUB        初始化MT8880為接收函數
;SMTOUT_SUB        初始化MT8880為發送函數
;SMTCHK_SUB        初始化MT8880為檢測函數
;CHKCP_SUB        MT8880檢測聲音函數(ERRID=0則有聲音)
;DAIL_SUB        MT8880撥號函數
;=============================================================
;讀MT8880函數:
READMT_SUB:    CLR     P_CLK
        SETB    P_CS
        SETB    P_RS
        JB      RSID,READMT_RS
        CLR     P_RS
READMT_RS:    SETB    P_RW
        CLR     P_CS
        SETB    P_CLK
        NOP
        MOV     A,P_DT
        ANL    A,#0FH            ;低4位有效
        MOV     R5,A
        CLR     P_CLK
        SETB    P_CS
        RET
;-----------------------------------------------------------
;寫MT8880函數:
WRITEMT_SUB:    CLR     P_CLK
                SETB    P_CS
                MOV     A,P_DT
                ANL     A,#0F0H
        ORL    A,#0FH            ;將數據線置為輸入
        MOV    P_DT,A
                SETB    P_RS
                JB      RSID,WRITEMT_RS
                CLR     P_RS
WRITEMT_RS:     CLR     P_RW
        CLR     P_CS
                MOV     A,R5
                ANL     A,#0FH                  ;數據只有低4位有效
                MOV     R5,A
                MOV     A,P_DT
                ANL     A,#0F0H
                ORL     A,R5
                MOV     P_DT,A
                SETB    P_CLK
                NOP
                CLR     P_CLK
                SETB    P_CS
                MOV     A,P_DT
                ANL     A,#0F0H
        ORL    A,#0FH            ;將數據線置為輸入
        MOV    P_DT,A
                RET
;-----------------------------------------------------------------
;初始化MT8880為接收函數:
SMTIN_SUB:    SETB    RSID
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        MOV    R5,#0
        LCALL    WRITEMT_SUB        ;WRITE TO
CONTROL REGISTER:
        MOV    R5,#0
        LCALL    WRITEMT_SUB        ;WRITE TO
CONTROL REGISTER
        MOV    R5,#8
        LCALL    WRITEMT_SUB        ;WRITE TO
CONTROL REGISTER
        MOV    R5,#0
        LCALL    WRITEMT_SUB        ;WRITE TO
CONTROL REGISTER
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        CLR    RSID
        LCALL    READMT_SUB        ;READ DATA REGISTER
        SETB    RSID
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        RET
;---------------------------------------------------------------
;初始化MT8880為發送函數:
SMTOUT_SUB:    SETB    RSID
        MOV    R5,#03H
        LCALL    WRITEMT_SUB
        MOV    R5,#03H
        LCALL    WRITEMT_SUB
        MOV    R5,#0BH
        LCALL    WRITEMT_SUB
        MOV    R5,#01H
        LCALL    WRITEMT_SUB
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        CLR    RSID
        LCALL    READMT_SUB        ;READ DATA REGISTER
        SETB    RSID
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        RET
;---------------------------------------------------------------
;初始化MT8880為發送函數:
SMTOUT1_SUB:    SETB    RSID
        MOV    R5,#03H
        LCALL    WRITEMT_SUB
        MOV    R5,#03H
        LCALL    WRITEMT_SUB
        MOV    R5,#0BH
        LCALL    WRITEMT_SUB
        MOV    R5,#00H
        LCALL    WRITEMT_SUB
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        CLR    RSID
        LCALL    READMT_SUB        ;READ DATA REGISTER
        SETB    RSID
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        RET
;------------------------------------------------------------
;初始化MT8880為檢測函數:
SMTCHK_SUB:    SETB    RSID
        MOV    R5,#06H
        LCALL    WRITEMT_SUB
        MOV    R5,#06H
        LCALL    WRITEMT_SUB
        MOV    R5,#06H
        LCALL    WRITEMT_SUB
        MOV    R5,#06H
        LCALL    WRITEMT_SUB
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        CLR    RSID
        LCALL    READMT_SUB        ;READ DATA REGISTER
        SETB    RSID
        LCALL    READMT_SUB        ;READ STATUS REGISTER
        RET
;-----------------------------------------------------------
;MT8880檢測聲音函數(ERRID=0則有聲音):
CHKCP_SUB:    LCALL    SMTCHK_SUB
        CLR    ERRID            ;先設為有聲音
        SETB    P_IRQ            ;設置檢測中斷為輸入
        MOV    R5,#255            ;檢測255次
        MOV    BIT_VAR,#0
CHKCP_1:    JB    P_IRQ,CHKCP_N
        INC    BIT_VAR            ;為低,加低計數
CHKCP_N:    DJNZ    R5,CHKCP_1
        JB    BIT7ID,CHKCP_Y        ;255次中,至少128次為低才算
        SETB    ERRID            ;無聲音
CHKCP_Y:    RET
;--------------------------------------------------------
;MT8880撥號函數:
DAIL_SUB:    LCALL    SMTOUT1_SUB        ;初始化MT8880為發送
        MOV    R0,#DT_BUF
DAIL_1:        JNB    STAID,DAIL_E        ;不在撥號狀態,退出
        MOV    A,@R0
        ANL    A,#0FH            ;數據只有低4位有效
        JZ    DAIL_E            ;為0,則結束
        CJNE    A,#0DH,DAIL_12        ;1101,短延時?
        MOV    N_1S,#0            ;清秒計數
DAIL_11:    JNB    STAID,DAIL_E        ;不在撥號狀態,退出
        MOV    A,N_1S
        XRL    A,SDT_VAR
        JNZ    DAIL_11            ;沒到時間,等待
        SJMP    DAIL_1E            ;時間到,繼續
DAIL_12:    CJNE    A,#0EH,DAIL_14        ;1110,長延時?
        MOV    N_1S,#0            ;清秒計數
DAIL_13:    JNB    STAID,DAIL_E        ;不在撥號狀態,退出
        MOV    A,N_1S
        XRL    A,DDT_VAR
        JNZ    DAIL_13            ;沒到時間,等待
        SJMP    DAIL_1E            ;時間到,繼續
DAIL_14:    MOV    R5,A
        CLR    RSID
        LCALL    WRITEMT_SUB        ;發數據
        LCALL    SMTOUT_SUB        ;初始化MT8880為發送
        MOV    D_100MS,#5        ;等待0.5秒
        LCALL    DELAY3_SUB        ;等待發送DTMF
        LCALL    SMTOUT1_SUB        ;初始化MT8880為發送
        MOV    D_100MS,#3        ;等待0.3秒
        LCALL    DELAY3_SUB        ;等待發送DTMF
DAIL_1E:    INC    R0
        CJNE    R0,#DT_BUF_,DAIL_1    ;沒到緩沖區末,則繼續
DAIL_E:        LCALL    SMTCHK_SUB        ;初始化MT8880為接收
        RET
;------------------------------------------------------------
        LCALL    SMTCHK_SUB        ;初始化MT8880為檢測
;-----------------------------------------------------------
;接電話
MAIN_IN:    JNB    P_RING,$        ;等待鈴聲停
        LCALL    DELAY3_SUB        ;等待0.1秒
        LCALL    DELAY3_SUB        ;等待0.1秒
        CLR    P_HOOK            ;接起電話
        CLR    P_LED            ;發光二極管亮
        MOV    D_100MS,#30
        LCALL    DELAY3_SUB        ;等待3秒
        CLR    JIN2ID            ;第1次#號
        LCALL    SMTOUT1_SUB        ;初始化MT8880為發送
        MOV    A,#0CH            ;'#'號
        MOV    R5,A
        CLR    RSID
        LCALL    WRITEMT_SUB        ;發碼
        LCALL    SMTOUT_SUB        ;初始化MT8880為發送
        MOV    D_100MS,#10
        LCALL    DELAY3_SUB        ;等待1秒
        LCALL    SMTOUT1_SUB        ;初始化MT8880為發送
        LCALL    DELAY3_SUB        ;等待0.1秒
        LCALL    SMTIN_SUB        ;初始化MT8880為接收
        MOV    N_1S,#0            ;1秒計數器清0
        SETB    GETMID            ;接收狀態標志:正在接收
MAIN_IN1:    MOV    A,N_1S
        ANL    A,#0F8H            ;大于7秒?
        JNZ    MAIN_PH_        ;是,轉接電話
        SETB    RSID
        LCALL    READMT_SUB        ;讀狀態
        MOV    A,R5
        ANL    A,#04H
        JZ    MAIN_IN1        ;沒有DTMF數據,繼續等
        CLR    RSID            ;有DTMF數據
        LCALL    READMT_SUB        ;讀DTMF數據
        MOV    A,R5
        LCALL    INBUF_SUB        ;存入數據緩沖區

;--------------------------------------------------------
;撥號處理過程
MAIN_OUT:    DEC    A
        MOV    DTM_VAR,A        ;撥號次數減1
        MOV    D_100MS,#20
        LCALL    DELAY3_SUB        ;等待2秒
        CLR    P_HOOK            ;接起電話
        CLR    P_LED            ;發光二極管亮
        MOV    D_100MS,#10
        LCALL    DELAY3_SUB        ;等待1秒
        MOV    N_1S,#0            ;1秒計數器清0
MAIN_OUT0:    LCALL    CHKCP_SUB        ;檢測撥號音
        JNB    ERRID,MAIN_OUT1        ;有撥號音
        MOV    A,N_1S
        CJNE    A,#3,MAIN_OUT0        ;不足3秒沒有撥號音,繼續檢測
        SJMP    MAIN_OUTE        ;大于3秒,失敗
MAIN_OUT1:    LCALL    DAIL_SUB        ;撥號
        JNB    DDATID,MAIN_OUTE    ;撥號后要采集數據?
        SETB    GETMID            ;接收狀態標志:正在接收,以防PC機中途取走數據
        LCALL    SMTIN_SUB        ;是,初始化MT8880為接收
        MOV    N_1S,#0            ;1秒計數器清0
        CLR    FSTID            ;清第1位數據標志(臨時)
MAIN_OUT2:    JNB    STAID,MAIN_OUTE        ;不在撥號狀態(PC機終止命令),退出
        MOV    A,N_1S
        CJNE    A,#5,MAIN_OUT3        ;不大于5秒,繼續
        SJMP    MAIN_OUTE        ;大于5秒,接收結束
MAIN_OUT3:    SETB    RSID
        LCALL    READMT_SUB        ;讀狀態
        MOV    A,R5
        ANL    A,#04H
        JZ    MAIN_OUT2        ;沒有DTMF數據,繼續等
        CLR    RSID            ;有DTMF數據
        LCALL    READMT_SUB        ;讀DTMF數據
        MOV    A,R5
        LCALL    INBUF_SUB        ;存入數據緩沖區
MAIN_OUTE:    SETB    P_HOOK            ;掛斷電話
        SETB    P_LED            ;發光二極管滅

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区在线免费观看 | 日韩一区二区不卡| 91小视频在线观看| 99久久精品免费精品国产| 成人亚洲一区二区一| 国产成a人无v码亚洲福利| 国产精品亚洲成人| 成人黄色片在线观看| 成人高清视频在线| 色丁香久综合在线久综合在线观看| 国产人妖乱国产精品人妖| 久久久久成人黄色影片| 免费看日韩a级影片| 精品国产成人系列| 亚洲精品一卡二卡| 午夜精品影院在线观看| 国产福利一区二区| 精品不卡在线视频| 欧美日韩国产成人在线免费| 91福利在线看| 91精品国产91久久久久久一区二区 | 欧美日韩免费视频| 精品国产一区二区三区忘忧草| 久久嫩草精品久久久久| 91丝袜美女网| 岛国精品在线播放| 91极品视觉盛宴| 欧美一激情一区二区三区| 国产亚洲欧洲一区高清在线观看| 亚洲欧洲另类国产综合| 日韩成人精品在线观看| 国产黑丝在线一区二区三区| 在线一区二区三区四区| 精品国产凹凸成av人导航| 亚洲啪啪综合av一区二区三区| 日韩激情中文字幕| 成人妖精视频yjsp地址| 69av一区二区三区| 亚洲国产精品v| 奇米色一区二区三区四区| 成人av在线资源| 欧美成人国产一区二区| |精品福利一区二区三区| 免费精品视频在线| 色婷婷久久综合| 欧美国产一区视频在线观看| 蜜臀av一区二区在线免费观看 | 欧美高清精品3d| 国产精品欧美久久久久无广告 | 综合激情网...| 国产精品综合在线视频| 欧美日韩免费观看一区二区三区| 国产三级精品视频| 欧美aaaaa成人免费观看视频| 91首页免费视频| 国产欧美一区二区精品性色超碰| 久久精品国产99国产精品| 欧美视频三区在线播放| 亚洲欧美日韩在线| 99久久精品国产麻豆演员表| 2020国产精品久久精品美国| 久久国产精品99精品国产| 欧美日韩视频专区在线播放| 亚洲综合一区在线| 在线观看成人免费视频| 亚洲裸体xxx| 91亚洲国产成人精品一区二三| 国产色91在线| 国产激情一区二区三区| 久久一留热品黄| 国产精品伊人色| 国产日韩欧美一区二区三区综合| 激情久久久久久久久久久久久久久久| 欧美精品1区2区3区| 日韩成人一级片| 91精品国产91久久久久久最新毛片| 午夜精品成人在线| 欧美久久久久久久久| 视频一区视频二区在线观看| 91精品国产综合久久久久| 青青草97国产精品免费观看 | 国产成人午夜99999| 国产日产亚洲精品系列| av电影在线观看一区| 国产精品久久久久久久久快鸭 | 欧美丰满高潮xxxx喷水动漫| 亚洲mv在线观看| 欧美一级理论性理论a| 美美哒免费高清在线观看视频一区二区 | 狂野欧美性猛交blacked| 欧美一卡二卡在线| 国产一区不卡在线| 一区免费观看视频| 欧美日韩亚洲综合一区| 蜜桃久久久久久久| 久久久久久久久97黄色工厂| 成人免费毛片高清视频| 一二三四区精品视频| 在线综合+亚洲+欧美中文字幕| 久久99国产精品尤物| 国产精品久久久爽爽爽麻豆色哟哟| 91一区二区三区在线观看| 亚洲国产aⅴ天堂久久| 日韩一级黄色大片| 国产成人亚洲精品青草天美| 亚洲最新在线观看| 欧美电视剧免费观看| 色婷婷av一区二区三区大白胸| 日韩福利视频网| 最新欧美精品一区二区三区| 3atv一区二区三区| www.欧美亚洲| 久久91精品久久久久久秒播| 日韩伦理电影网| www国产成人免费观看视频 深夜成人网| 成人午夜av电影| 日本三级亚洲精品| 亚洲天堂成人在线观看| 欧美一二三区精品| 91国产丝袜在线播放| 国产精品正在播放| 秋霞影院一区二区| 一区二区三区四区国产精品| 久久久九九九九| 91精品视频网| 欧美日韩在线播| 91视频在线观看| 成人成人成人在线视频| 国产一区二区三区四区五区入口| 婷婷中文字幕一区三区| 一个色在线综合| 亚洲精选视频免费看| 亚洲国产精品黑人久久久| 91精品国产欧美一区二区成人| 欧美午夜一区二区| 色婷婷av一区二区| av亚洲产国偷v产偷v自拍| 国产精品一级二级三级| 久久精品国产澳门| 久久精品国产99久久6| 免费在线观看日韩欧美| 亚洲丶国产丶欧美一区二区三区| 亚洲免费三区一区二区| 国产精品福利av| 中文字幕一区二区在线播放| 国产精品你懂的| 亚洲素人一区二区| 亚洲婷婷综合色高清在线| 国产精品三级av在线播放| 日本一区二区三区四区| 国产精品午夜久久| 成人免费在线视频观看| 亚洲特黄一级片| 亚洲午夜一二三区视频| 成+人+亚洲+综合天堂| 国产成人精品影院| 成人h动漫精品一区二区| 99re在线视频这里只有精品| 北岛玲一区二区三区四区| 暴力调教一区二区三区| 欧美视频第二页| 日韩一卡二卡三卡| 国产人伦精品一区二区| 日韩一区有码在线| 五月婷婷欧美视频| 久久97超碰国产精品超碰| 国产精品 日产精品 欧美精品| 国产.欧美.日韩| 一本色道久久综合狠狠躁的推荐| 欧美猛男超大videosgay| 欧美一级黄色片| 国产精品久久综合| 亚洲国产精品久久久久婷婷884| 日韩高清欧美激情| 成人一级片在线观看| 欧美日韩一卡二卡三卡 | 亚洲午夜影视影院在线观看| 日本不卡一二三区黄网| 从欧美一区二区三区| 欧美三级一区二区| 久久久精品欧美丰满| 亚洲伦理在线免费看| 久久成人av少妇免费| 一本色道久久综合亚洲91| 日韩一级片在线播放| 亚洲人成网站色在线观看| 久久超级碰视频| 91国产精品成人| 欧美激情一区三区| 日本在线不卡视频| 成人深夜在线观看| 欧美大尺度电影在线| 亚洲精品视频一区| 国产乱子伦视频一区二区三区| 欧美在线|欧美| 日本一区二区三区高清不卡| 日韩成人免费看| 欧美性猛交xxxxxx富婆| 国产农村妇女毛片精品久久麻豆 | 国产在线精品免费|