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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iapisp.asm

?? STC-USER-IAP-ISP-DEMO(公開發(fā)布版本)-2011-3-9
?? ASM
字號(hào):
;/*------------------------------------------------------------------*/
;/* --- STC MCU International Limited -------------------------------*/
;/* --- STC IAP 系列單片機(jī)實(shí)現(xiàn)用戶ISP 演示程序 ----------------------*/
;/* --- Mobile: (86)13922805190 -------------------------------------*/
;/* --- Fax: 86-755-82944243 ----------------------------------------*/
;/* --- Tel: 86-755-82948412 ----------------------------------------*/
;/* --- Web: www.STCMCU.com -----------------------------------------*/
;/* 如果要在程序中使用或者在文章中引用該程序,請(qǐng)?jiān)诔绦蛑谢蛭恼轮凶⒚? */
;/* 使用了宏晶科技的資料或程序                                       */
;/*------------------------------------------------------------------*/

;------------------------------------------------
;/*定義常數(shù)*/

UARTBAUD    EQU     0FBH                    ;定義串口波特率 (256-18432000/32/115200)

;ENABLE_IAP EQU     80H                     ;系統(tǒng)工作頻率<30MHz
;ENABLE_IAP EQU     81H                     ;系統(tǒng)工作頻率<24MHz
;ENABLE_IAP EQU     82H                     ;系統(tǒng)工作頻率<20MHz
ENABLE_IAP  EQU     83H                     ;系統(tǒng)工作頻率<12MHz
;ENABLE_IAP EQU     84H                     ;系統(tǒng)工作頻率<6MHz
;ENABLE_IAP EQU     85H                     ;系統(tǒng)工作頻率<3MHz
;ENABLE_IAP EQU     86H                     ;系統(tǒng)工作頻率<2MHz
;ENABLE_IAP EQU     87H                     ;系統(tǒng)工作頻率<1MHz

;------------------------------------------------
;/*定義特殊功能寄存器*/

AUXR        DATA    08EH                    ;附件功能控制寄存器
BRT         DATA    09CH                    ;波特率發(fā)生器
WDT_CONTR   DATA    0C1H                    ;看門狗控制寄存器
IAP_DATA    DATA    0C2H                    ;IAP數(shù)據(jù)寄存器
IAP_ADDRH   DATA    0C3H                    ;IAP高地址寄存器
IAP_ADDRL   DATA    0C4H                    ;IAP低地址寄存器
IAP_CMD     DATA    0C5H                    ;IAP命令寄存器
IAP_TRIG    DATA    0C6H                    ;IAP命令觸發(fā)寄存器
IAP_CONTR   DATA    0C7H                    ;IAP控制寄存器

;------------------------------------------------
;/*定義ISP模塊使用的變量*/

ISPCODE     EQU     0EC00H                  ;ISP模塊入口地址(1頁(yè)),同時(shí)也是外部接口地址
APENTRY     EQU     0EE00H                  ;應(yīng)用程序入口地址數(shù)據(jù)(1頁(yè))

;------------------------------------------------

            ORG     0000H

            LJMP    ISP_ENTRY               ;系統(tǒng)復(fù)位入口

RESET:
            MOV     SCON,#50H               ;設(shè)置串口模式(8為可變,無(wú)校驗(yàn)位)
            MOV     AUXR,#15H               ;BRT工作于1T模式,啟動(dòng)BRT
            MOV     BRT,#UARTBAUD           ;設(shè)置重載值
NEXT1:
            MOV     R0,#16
NEXT2:
            JNB     RI,$                    ;等待串口數(shù)據(jù)
            CLR     RI
            MOV     A,SBUF
            CJNE    A,#7FH,NEXT1            ;判斷是否為7F
            DJNZ    R0,NEXT2
            LJMP    ISP_DOWNLOAD            ;跳轉(zhuǎn)到下載界面

;------------------------------------------------
;ISP功能模塊
;包括上電自檢模塊和代碼更新模塊
;------------------------------------------------

            ORG     ISPCODE

ISP_DOWNLOAD:
            CLR     A
            MOV     PSW,A                   ;ISP模塊使用第0組寄存器
            MOV     IE,A                    ;關(guān)閉所有中斷
            CLR     RI                      ;清除串口接收標(biāo)志
            SETB    TI                      ;置串口發(fā)送標(biāo)志
            CLR     TR0
            MOV     SP,#5FH                 ;設(shè)置堆棧指針

;------------------------------------------------

            MOV     A,#5AH                  ;返回5A 55到PC,表示ISP擦除模塊已準(zhǔn)備就緒
            LCALL   ISP_SENDUART
            MOV     A,#055H
            LCALL   ISP_SENDUART
            LCALL   ISP_RECVACK             ;接收應(yīng)答數(shù)據(jù)

            MOV     IAP_ADDRL,#0            ;首先在第2頁(yè)起始地址寫 "LJMP ISP_ENTRY"指令
            MOV     IAP_ADDRH,#02H
            LCALL   ISP_ERASEIAP
            MOV     A,#02H
            LCALL   ISP_PROGRAMIAP          ;編程用戶代碼復(fù)位向量代碼
            MOV     A,#HIGH ISP_ENTRY
            LCALL   ISP_PROGRAMIAP          ;編程用戶代碼復(fù)位向量代碼
            MOV     A,#LOW ISP_ENTRY
            LCALL   ISP_PROGRAMIAP          ;編程用戶代碼復(fù)位向量代碼

            MOV     IAP_ADDRL,#0            ;用戶代碼地址從0開始
            MOV     IAP_ADDRH,#0
            LCALL   ISP_ERASEIAP
            MOV     A,#02H
            LCALL   ISP_PROGRAMIAP          ;編程用戶代碼復(fù)位向量代碼
            MOV     A,#HIGH ISP_ENTRY
            LCALL   ISP_PROGRAMIAP          ;編程用戶代碼復(fù)位向量代碼
            MOV     A,#LOW ISP_ENTRY
            LCALL   ISP_PROGRAMIAP          ;編程用戶代碼復(fù)位向量代碼

            MOV     IAP_ADDRL,#0            ;新代碼緩沖區(qū)地址
            MOV     IAP_ADDRH,#02H
            MOV     R7,#117                 ;擦除59K字節(jié)
ISP_ERASEAP:
            LCALL   ISP_ERASEIAP
            INC     IAP_ADDRH               ;目標(biāo)地址+512
            INC     IAP_ADDRH
            DJNZ    R7,ISP_ERASEAP          ;判斷是否擦除完成

            MOV     IAP_ADDRL,#LOW APENTRY  ;用戶代碼復(fù)位入口頁(yè)
            MOV     IAP_ADDRH,#HIGH APENTRY
            LCALL   ISP_ERASEIAP

            MOV     A,#5AH                  ;返回5A A5到PC,表示ISP編程模塊已準(zhǔn)備就緒
            LCALL   ISP_SENDUART
            MOV     A,#0A5H
            LCALL   ISP_SENDUART
            LCALL   ISP_RECVACK             ;接收應(yīng)答數(shù)據(jù)
            
            LCALL   ISP_RECVUART            ;接收長(zhǎng)度高字節(jié)
            MOV     R0,A
            LCALL   ISP_RECVUART            ;接收長(zhǎng)度低字節(jié)
            MOV     R1,A
            CLR     C                       ;將總長(zhǎng)度-3
            MOV     A,#03H
            SUBB    A,R1
            MOV     DPL,A
            CLR     A
            SUBB    A,R0
            MOV     DPH,A                   ;總長(zhǎng)度補(bǔ)碼存入DPTR
            
            LCALL   ISP_RECVUART            ;映射用戶代碼復(fù)位入口代碼到映射區(qū)
            LCALL   ISP_PROGRAMIAP          ;0000
            LCALL   ISP_RECVUART
            LCALL   ISP_PROGRAMIAP          ;0001
            LCALL   ISP_RECVUART
            LCALL   ISP_PROGRAMIAP          ;0002
            
            MOV     IAP_ADDRL,#03H          ;用戶代碼起始地址
            MOV     IAP_ADDRH,#00H
ISP_PROGRAMNEXT:
            LCALL   ISP_RECVUART            ;接收代碼數(shù)據(jù)
            LCALL   ISP_PROGRAMIAP          ;編程到用戶代碼區(qū)
            INC     DPTR
            MOV     A,DPL
            ORL     A,DPH
            JNZ     ISP_PROGRAMNEXT         ;長(zhǎng)度檢測(cè)

ISP_SOFTRESET:
            MOV     IAP_CONTR,#20H          ;軟件復(fù)位系統(tǒng)
            SJMP    $

;------------------------------------------------

ISP_ENTRY:
            MOV     WDT_CONTR,#17H          ;清看門狗
            MOV     IAP_CONTR,#ENABLE_IAP   ;使能IAP功能
            MOV     IAP_ADDRL,#00H          ;電壓測(cè)試模塊
            MOV     IAP_ADDRH,#0ECH         ;測(cè)試地址EC00H
            MOV     IAP_DATA,#53H           ;測(cè)試數(shù)據(jù)1
            MOV     IAP_CMD,#1              ;讀命令
            MOV     IAP_TRIG,#5AH           ;觸發(fā)ISP命令
            MOV     IAP_TRIG,#0A5H
            MOV     A,IAP_DATA
            XRL     A,#53H                  ;測(cè)試是否可以讀出數(shù)據(jù)
            JZ      ISP_ENTRY               ;等待電壓穩(wěn)定
            INC     IAP_ADDRL               ;測(cè)試地址EC01H
            MOV     IAP_DATA,#45H           ;測(cè)試數(shù)據(jù)2
            MOV     IAP_CMD,#1              ;讀命令
            MOV     IAP_TRIG,#5AH           ;觸發(fā)ISP命令
            MOV     IAP_TRIG,#0A5H
            MOV     A,IAP_DATA
            XRL     A,#45H                  ;測(cè)試是否可以讀出數(shù)據(jù)
            JZ      ISP_ENTRY               ;等待電壓穩(wěn)定

            MOV     SCON,#50H               ;設(shè)置串口模式(8為可變,無(wú)校驗(yàn)位)
            MOV     AUXR,#15H               ;BRT工作于1T模式,啟動(dòng)BRT
            MOV     BRT,#UARTBAUD           ;設(shè)置重載值
            MOV     TMOD,#01H
            SETB    TR0
            
            LCALL   ISP_RECVUART            ;檢測(cè)是否有串口數(shù)據(jù)
            JC      GOTOAP
            MOV     R0,#16
ISP_CHECKNEXT:
            LCALL   ISP_RECVUART            ;接收同步數(shù)據(jù)
            JC      GOTOAP
            CJNE    A,#7FH,GOTOAP           ;判斷是否為7F
            DJNZ    R0,ISP_CHECKNEXT
            MOV     A,#5AH                  ;返回5A 69到PC,表示ISP模塊已準(zhǔn)備就緒
            LCALL   ISP_SENDUART
            MOV     A,#69H
            LCALL   ISP_SENDUART
            LCALL   ISP_RECVACK             ;接收應(yīng)答數(shù)據(jù)
            LJMP    ISP_DOWNLOAD            ;跳轉(zhuǎn)到下載界面
GOTOAP:
            CLR     A                       ;將SFR恢復(fù)為復(fù)位值
            MOV     TCON,A
            MOV     TMOD,A
            MOV     TL0,A
            MOV     TH0,A
            MOV     SCON,A
            MOV     AUXR,A
            MOV     BRT,A
            LJMP    APENTRY                 ;正常運(yùn)行用戶程序

;------------------------------------------------
;/*接收來(lái)自于上位機(jī)的串口應(yīng)答數(shù)據(jù)*/

ISP_RECVACK:
            LCALL   ISP_RECVUART
            JC      GOTOAP
            XRL     A,#7FH
            JZ      ISP_RECVACK             ;跳過(guò)同步數(shù)據(jù)
            CJNE    A,#25H,GOTOAP           ;應(yīng)答數(shù)據(jù)1檢測(cè)
            LCALL   ISP_RECVUART
            JC      GOTOAP
            XRL     A,#69H                  ;應(yīng)答數(shù)據(jù)2檢測(cè)
            JNZ     GOTOAP
            RET

;------------------------------------------------
;/*接收1字節(jié)串口數(shù)據(jù)*/
;/*出口參數(shù): ACC (接收到的數(shù)據(jù))*/
;/*出口參數(shù): C (1:超時(shí))*/

ISP_RECVUART:
            CLR     A
            MOV     TL0,A                   ;初始化超時(shí)定時(shí)器
            MOV     TH0,A
            CLR     TF0
            MOV     WDT_CONTR,#17H          ;清看門狗
ISP_RECVWAIT:
            JBC     TF0,ISP_RECVTIMEOUT     ;超時(shí)檢測(cè)
            JNB     RI,ISP_RECVWAIT         ;等待接收完成
            MOV     A,SBUF                  ;讀取串口數(shù)據(jù)
            CLR     RI                      ;清除標(biāo)志
            CLR     C                       ;正確接收串口數(shù)據(jù)
            RET
ISP_RECVTIMEOUT:
            SETB    C                       ;超時(shí)退出
            RET

;------------------------------------------------
;/*發(fā)送1字節(jié)串口數(shù)據(jù)*/
;/*入口參數(shù): ACC (待發(fā)送的數(shù)據(jù))*/

ISP_SENDUART:
            MOV     WDT_CONTR,#17H          ;清看門狗
            JNB     TI,ISP_SENDUART         ;等待前一個(gè)數(shù)據(jù)發(fā)送完成
            CLR     TI                      ;清除標(biāo)志
            MOV     SBUF,A                  ;發(fā)送當(dāng)前數(shù)據(jù)
            RET

;------------------------------------------------
;/*擦除IAP扇區(qū)*/

ISP_ERASEIAP:
            MOV     WDT_CONTR,#17H          ;清看門狗
            MOV     IAP_CONTR,#ENABLE_IAP   ;使能IAP功能
            MOV     IAP_CMD,#3              ;擦除命令
            MOV     IAP_TRIG,#5AH           ;觸發(fā)ISP命令
            MOV     IAP_TRIG,#0A5H
            RET

;------------------------------------------------
;/*編程IAP字節(jié)*/
;/*入口參數(shù): ACC (待編程的數(shù)據(jù))*/

ISP_PROGRAMIAP:
            MOV     WDT_CONTR,#17H          ;清看門狗
            MOV     IAP_CONTR,#ENABLE_IAP   ;使能IAP功能
            MOV     IAP_CMD,#2              ;編程命令
            MOV     IAP_DATA,A              ;將當(dāng)前數(shù)據(jù)送IAP數(shù)據(jù)寄存器
            MOV     IAP_TRIG,#5AH           ;觸發(fā)ISP命令
            MOV     IAP_TRIG,#0A5H
            MOV     A,IAP_ADDRL             ;IAP地址+1
            ADD     A,#01H
            MOV     IAP_ADDRL,A
            MOV     A,IAP_ADDRH
            ADDC    A,#00H
            MOV     IAP_ADDRH,A
            RET

;------------------------------------------------

            ORG     APENTRY
            LJMP    RESET

;------------------------------------------------

            END

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产一区在线观看| 26uuu国产电影一区二区| 欧美不卡123| 麻豆91免费看| 免费亚洲电影在线| 久久一区二区三区四区| 99久久99久久精品免费观看 | 欧美亚洲国产bt| 精品久久久久久久久久久院品网 | 亚洲精品免费一二三区| 亚洲综合在线五月| 精品对白一区国产伦| 偷窥国产亚洲免费视频| 91香蕉视频mp4| 欧美国产综合色视频| 国产高清一区日本| 亚洲国产成人porn| 欧美影院一区二区| 欧美日韩国产首页| 国产精品 欧美精品| 亚洲成人免费电影| 91丨国产丨九色丨pron| 欧美区视频在线观看| 久久久久久久久久看片| 久久精品国产99久久6| 一区在线播放视频| 亚洲午夜在线视频| 国产精品情趣视频| 成人免费毛片aaaaa**| 五月天激情综合| 日韩中文字幕91| 亚洲毛片av在线| 国产成人精品免费在线| 91麻豆精品国产91久久久更新时间| 欧美午夜精品一区二区蜜桃| 美日韩一区二区三区| 69久久99精品久久久久婷婷| 欧美日韩成人高清| 狠狠色狠狠色综合日日91app| 在线精品视频一区二区| 视频一区在线播放| 国产精品综合在线视频| 国产精品综合视频| 欧美日韩精品久久久| 在线不卡a资源高清| 日韩欧美一区在线观看| 欧美军同video69gay| 亚洲日本成人在线观看| 亚洲欧美乱综合| 国产精品香蕉一区二区三区| 欧美一区二区三区啪啪| 亚洲va国产va欧美va观看| 99精品国产视频| 欧美国产精品一区| 国产成人精品亚洲777人妖| 精品国产a毛片| 麻豆91在线播放| 91精品久久久久久久99蜜桃 | 欧美理论片在线| 伊人一区二区三区| 欧美一区二区三区男人的天堂| 夜夜精品浪潮av一区二区三区| eeuss鲁片一区二区三区| 国产三级精品三级| 国产成人亚洲综合a∨婷婷图片 | 99视频有精品| 国产精品动漫网站| 99国产精品久久久久久久久久| 中文字幕av一区二区三区| 国产精品99久久久久久有的能看| 久久亚洲一区二区三区明星换脸| 精品亚洲成a人在线观看| 精品久久久久久久人人人人传媒| 麻豆成人免费电影| 欧美精品一区二区三区在线| 精品一区二区三区视频在线观看| 精品国产污网站| 精品一区二区三区久久| 久久伊人蜜桃av一区二区| 国产福利精品导航| 中文字幕巨乱亚洲| av亚洲精华国产精华精华| 国产精品无遮挡| 91麻豆自制传媒国产之光| 一区二区三区高清在线| 欧美日韩精品一区二区天天拍小说 | 视频一区中文字幕| 日韩欧美高清在线| 99久久久国产精品| 精品视频资源站| 奇米影视一区二区三区| 欧美一区二区三区色| 国产在线精品一区二区三区不卡| 国产调教视频一区| 91猫先生在线| 日本网站在线观看一区二区三区 | 奇米在线7777在线精品| 欧美成人高清电影在线| 国产99久久久精品| 亚洲自拍偷拍麻豆| 精品人伦一区二区色婷婷| 国产成人免费在线视频| 亚洲欧美一区二区久久| 欧美一区二区在线不卡| 粉嫩一区二区三区在线看| 一区二区日韩av| 日韩欧美国产1| www.亚洲激情.com| 日韩国产欧美一区二区三区| 久久一日本道色综合| 91麻豆免费看片| 人人超碰91尤物精品国产| 欧美激情一区二区三区在线| 欧美性色综合网| 国产一区二区网址| 一区二区三区国产精华| 精品国产免费人成在线观看| 不卡视频在线观看| 日韩精彩视频在线观看| 国产色婷婷亚洲99精品小说| 欧美色图12p| 国产精品一区二区你懂的| 久久影院视频免费| 国产精品美女www爽爽爽| 日韩美女久久久| 亚洲国产精品麻豆| 久久综合久色欧美综合狠狠| 91视频国产观看| 老司机精品视频在线| 亚洲欧美日韩一区二区三区在线观看| 91精品国产品国语在线不卡| 欧美成人午夜电影| 色综合久久88色综合天天| 久久99精品一区二区三区| 亚洲影视在线播放| 国产精品久久久久久妇女6080| 欧美精品丝袜中出| 9i在线看片成人免费| 美脚の诱脚舐め脚责91 | 不卡的电视剧免费网站有什么| 午夜欧美视频在线观看| 国产精品福利在线播放| 欧美tickle裸体挠脚心vk| 欧美亚洲日本一区| 成人av网站免费观看| 国产在线播放一区二区三区| 首页国产欧美久久| 亚洲一区二区三区小说| 国产精品成人免费| 久久久精品综合| 日韩一区二区在线观看视频播放| 色又黄又爽网站www久久| 国产传媒日韩欧美成人| 久久97超碰色| 蜜桃视频在线一区| 亚洲va欧美va人人爽| 一区二区三区资源| 国产精品毛片久久久久久| 久久久精品一品道一区| 精品欧美一区二区在线观看| 欧美日韩一区二区三区免费看| 色综合天天综合狠狠| 成人性生交大合| 国产成人精品免费一区二区| 激情欧美一区二区三区在线观看| 天天综合色天天| 午夜激情综合网| 午夜亚洲福利老司机| 午夜影视日本亚洲欧洲精品| 有坂深雪av一区二区精品| 亚洲欧美偷拍另类a∨色屁股| 国产欧美精品区一区二区三区| 久久久三级国产网站| 久久久久久久综合| 欧美成人精品3d动漫h| 日韩女优av电影| 日韩欧美中文字幕制服| 欧美成人精品1314www| 欧美电影免费观看高清完整版在| 日韩一区二区免费视频| 91精品国产综合久久精品图片 | 久久精品av麻豆的观看方式| 日韩精品乱码免费| 免费观看一级特黄欧美大片| 毛片av中文字幕一区二区| 奇米精品一区二区三区在线观看一| 亚洲第一av色| 亚洲成人动漫一区| 天天免费综合色| 美女在线一区二区| 久久精品国产精品青草| 国产美女视频一区| 成人激情视频网站| 色综合一个色综合亚洲| 精品视频999| 91精品久久久久久久91蜜桃| 精品国偷自产国产一区| 国产婷婷色一区二区三区| 国产精品美女一区二区| 夜夜嗨av一区二区三区中文字幕 |