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

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

?? stc_iap_isp+

?? 利用宏晶科技的IAP單片機開發自己的ISP程序實例
??
字號:
;/*------------------------------------------------------------------*/
;/* --- STC MCU International Limited -------------------------------*/
;/* --- STC IAP 系列單片機實現用戶ISP 演示程序 ----------------------*/
;/* --- Mobile: (86)13922805190 -------------------------------------*/
;/* --- Fax: 86-755-82944243 ----------------------------------------*/
;/* --- Tel: 86-755-82948412 ----------------------------------------*/
;/* --- Web: www.STCMCU.com -----------------------------------------*/
;/* 如果要在程序中使用或者在文章中引用該程序,請在程序中或文章中注明  */
;/* 使用了宏晶科技的資料或程序                                       */
;/*------------------------------------------------------------------*/

;------------------------------------------------
;/*定義常數*/

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

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

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

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

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

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

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

            ORG     0000H

            LJMP    ISP_ENTRY               ;系統復位入口

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

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

            ORG     ISPCODE

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

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

            MOV     A,#5AH                  ;返回5A 55到PC,表示ISP擦除模塊已準備就緒
            LCALL   ISP_SENDUART
            MOV     A,#055H
            LCALL   ISP_SENDUART
            LCALL   ISP_RECVACK             ;接收應答數據

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

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

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

            MOV     IAP_ADDRL,#LOW APENTRY  ;用戶代碼復位入口頁
            MOV     IAP_ADDRH,#HIGH APENTRY
            LCALL   ISP_ERASEIAP

            MOV     A,#5AH                  ;返回5A A5到PC,表示ISP編程模塊已準備就緒
            LCALL   ISP_SENDUART
            MOV     A,#0A5H
            LCALL   ISP_SENDUART
            LCALL   ISP_RECVACK             ;接收應答數據
            
            LCALL   ISP_RECVUART            ;接收長度高字節
            MOV     R0,A
            LCALL   ISP_RECVUART            ;接收長度低字節
            MOV     R1,A
            CLR     C                       ;將總長度-3
            MOV     A,#03H
            SUBB    A,R1
            MOV     DPL,A
            CLR     A
            SUBB    A,R0
            MOV     DPH,A                   ;總長度補碼存入DPTR
            
            LCALL   ISP_RECVUART            ;映射用戶代碼復位入口代碼到映射區
            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            ;接收代碼數據
            LCALL   ISP_PROGRAMIAP          ;編程到用戶代碼區
            INC     DPTR
            MOV     A,DPL
            ORL     A,DPH
            JNZ     ISP_PROGRAMNEXT         ;長度檢測

ISP_SOFTRESET:
            MOV     IAP_CONTR,#20H          ;軟件復位系統
            SJMP    $

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

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

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

;------------------------------------------------
;/*接收來自于上位機的串口應答數據*/

ISP_RECVACK:
            LCALL   ISP_RECVUART
            JC      GOTOAP
            XRL     A,#7FH
            JZ      ISP_RECVACK             ;跳過同步數據
            CJNE    A,#25H,GOTOAP           ;應答數據1檢測
            LCALL   ISP_RECVUART
            JC      GOTOAP
            XRL     A,#69H                  ;應答數據2檢測
            JNZ     GOTOAP
            RET

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

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

;------------------------------------------------
;/*發送1字節串口數據*/
;/*入口參數: ACC (待發送的數據)*/

ISP_SENDUART:
            MOV     WDT_CONTR,#17H          ;清看門狗
            JNB     TI,ISP_SENDUART         ;等待前一個數據發送完成
            CLR     TI                      ;清除標志
            MOV     SBUF,A                  ;發送當前數據
            RET

;------------------------------------------------
;/*擦除IAP扇區*/

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

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

ISP_PROGRAMIAP:
            MOV     WDT_CONTR,#17H          ;清看門狗
            MOV     IAP_CONTR,#ENABLE_IAP   ;使能IAP功能
            MOV     IAP_CMD,#2              ;編程命令
            MOV     IAP_DATA,A              ;將當前數據送IAP數據寄存器
            MOV     IAP_TRIG,#5AH           ;觸發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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲一区二区在线播放| 激情六月婷婷综合| 国产精品网曝门| ww久久中文字幕| 日韩一区二区三区视频| 91免费小视频| 岛国精品在线观看| 国产精品一区二区久久精品爱涩| 婷婷六月综合亚洲| 亚洲伊人色欲综合网| 亚洲激情第一区| 日韩美女精品在线| 中文字幕制服丝袜一区二区三区 | 美女在线观看视频一区二区| 亚洲成人一区在线| 亚洲午夜一区二区| 一区二区在线免费| 亚洲综合色视频| 亚洲丶国产丶欧美一区二区三区| 亚洲欧美一区二区三区久本道91 | 国产精品久久久久久久久久免费看| 久久综合狠狠综合久久综合88 | 欧美tickling挠脚心丨vk| 欧美一级xxx| 亚洲精品在线网站| 久久久久久99久久久精品网站| 国产综合久久久久久久久久久久| 另类欧美日韩国产在线| 国产福利不卡视频| 91浏览器在线视频| 欧美裸体一区二区三区| 久久免费国产精品| 亚洲精品视频自拍| 另类的小说在线视频另类成人小视频在线| 国产在线日韩欧美| 99国产麻豆精品| 91极品视觉盛宴| 精品少妇一区二区三区在线播放 | 日韩精品一卡二卡三卡四卡无卡 | 日韩欧美二区三区| 国产精品短视频| 日韩精品一区第一页| 国产99久久久久| 欧美视频一区二区三区在线观看| 欧美一区二区日韩| 国产精品国产自产拍在线| 婷婷夜色潮精品综合在线| 国产成人亚洲综合a∨婷婷| 欧美性大战久久| 久久精品欧美日韩精品| 亚洲电影视频在线| 成人在线视频一区二区| 欧美日产在线观看| 国产精品麻豆一区二区| 日本在线不卡视频| 99re热这里只有精品视频| 欧美草草影院在线视频| 亚洲最快最全在线视频| 国产成人无遮挡在线视频| 欧美美女bb生活片| 亚洲视频电影在线| 国产精品18久久久久久久网站| 欧美视频一区二区三区四区| 国产精品人成在线观看免费| 麻豆成人在线观看| 欧美在线观看一区| 国产精品国产三级国产| 国内一区二区视频| 91麻豆精品国产| 亚洲精品国产成人久久av盗摄| 国产精品一级黄| 日韩一区二区在线看片| 亚洲综合色自拍一区| www.66久久| 国产精品视频免费看| 国内精品伊人久久久久影院对白| 欧美日韩午夜在线| 伊人开心综合网| 91免费视频观看| 国产精品美女久久久久久久| 国产精品一区二区三区四区| 日韩欧美美女一区二区三区| 亚洲va国产va欧美va观看| 91久久精品网| 亚洲黄一区二区三区| 91丨porny丨蝌蚪视频| 中文一区在线播放| 国产高清久久久| 久久久久久久久久久久久女国产乱 | 色系网站成人免费| 中文字幕字幕中文在线中不卡视频| 国产一区二区三区电影在线观看| 91精品国产欧美一区二区18| 亚洲成a人片综合在线| 在线精品亚洲一区二区不卡| 一区二区在线观看免费视频播放| av在线不卡免费看| 日韩毛片精品高清免费| 成人午夜视频福利| 国产精品免费丝袜| 99热精品国产| 亚洲色图丝袜美腿| 在线亚洲一区观看| 亚洲图片欧美视频| 制服丝袜亚洲播放| 奇米影视一区二区三区| 日韩欧美国产成人一区二区| 狠狠色丁香久久婷婷综合_中| 久久综合色之久久综合| 国产精品一区专区| 亚洲欧洲无码一区二区三区| 色视频成人在线观看免| 亚洲午夜免费电影| 欧美一区二区在线不卡| 久久精品99国产精品| 国产亚洲精品aa午夜观看| av在线不卡免费看| 亚洲国产视频在线| 欧美大黄免费观看| 国产成人av电影免费在线观看| 国产欧美一区二区精品久导航 | 国产成人av一区| 国产精品毛片久久久久久| 99riav一区二区三区| 一区二区三区四区亚洲| 91精品婷婷国产综合久久竹菊| 老司机精品视频一区二区三区| 国产午夜精品一区二区三区嫩草 | 91免费国产在线| 亚洲成av人片www| 精品99999| 91亚洲精品乱码久久久久久蜜桃| 亚洲成av人片在线| 久久人人97超碰com| 色综合久久天天综合网| 日韩精品亚洲一区| 国产午夜久久久久| 欧美视频一区在线观看| 国产原创一区二区| 一区二区欧美精品| 精品欧美一区二区久久 | 久久久噜噜噜久久人人看 | ...av二区三区久久精品| 欧美男生操女生| 大陆成人av片| 日本中文字幕一区| 国产精品乱码人人做人人爱| 91.com在线观看| 成人小视频免费观看| 日韩黄色小视频| 日韩一区欧美小说| 精品日韩欧美一区二区| 91日韩在线专区| 麻豆一区二区三区| 亚洲一区在线观看免费观看电影高清| 精品美女一区二区| 欧美性色综合网| 国产.精品.日韩.另类.中文.在线.播放 | 亚洲成av人片在线| 中文字幕精品综合| 制服丝袜中文字幕一区| 99视频一区二区| 狠狠色综合色综合网络| 亚洲一区二区三区爽爽爽爽爽| 久久久青草青青国产亚洲免观| 欧美体内she精高潮| 成人av网站免费| 裸体歌舞表演一区二区| 亚洲国产精品综合小说图片区| 中文字幕欧美日韩一区| 精品国产污网站| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲国产精品精华液2区45| 欧美一卡2卡3卡4卡| 欧美综合一区二区三区| 波多野结衣中文一区| 极品销魂美女一区二区三区| 亚洲成人午夜电影| 最近中文字幕一区二区三区| 欧美精品一区二区三区很污很色的| 欧美日韩一区高清| 一本色道久久综合亚洲91| 国产sm精品调教视频网站| 精品伊人久久久久7777人| 男男成人高潮片免费网站| 亚洲成av人片一区二区三区 | 91日韩在线专区| 成人免费高清视频在线观看| 国产在线精品一区二区夜色 | 精品欧美一区二区在线观看| 欧美片网站yy| 欧美男男青年gay1069videost | 国产精品五月天| 国产欧美精品一区二区色综合| 精品久久国产字幕高潮| 日韩免费性生活视频播放| 欧美一区二区三区电影| 日韩一级片在线观看| 欧美一区二区三区四区五区| 777午夜精品免费视频|