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

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

?? 669iaplib.a51

?? P89C669的IAP編程
?? A51
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
; 669IAPLIB
; In-Application-Programming Library for the Philips P89C669 device
; This library was developed for the Keil Compiler for interfacing
; to C programs
; Use ROM size HUGE or adapt for other ROM models

; Version 1.00 (18-Sep-2003)
;  - first version
; by A. Ayre
; (C) Embedded Systems Academy 2003

$MOD_MX51

; module name
NAME	P669IAPLIB

; SFRs and sbits required
AUXR1   DATA    0A2H
EA      BIT     0AFH
CMOD    DATA    0D9H
ACC     DATA    0E0H
IE      DATA    0A8H
ESFR	EPH = 01FEH
ESFR	EPM = 01FDH
ESFR	EPL = 01FCH

; segments in this library
?PR?iap_read_manufacturer_id?P669IAPLIB      SEGMENT ECODE INSEG
?PR?_iap_read_device_id?P669IAPLIB           SEGMENT ECODE INSEG
?PR?iap_read_security_bits?P669IAPLIB        SEGMENT ECODE INSEG
?PR?_iap_program_security_bits?P669IAPLIB    SEGMENT ECODE INSEG
?PR?_iap_program_data_byte?P669IAPLIB        SEGMENT ECODE INSEG
?PR?_iap_read_data_byte?P669IAPLIB           SEGMENT ECODE INSEG
?PR?_iap_erase_block?P669IAPLIB              SEGMENT ECODE INSEG
?PR?iap_read_boot_vector?P669IAPLIB          SEGMENT ECODE INSEG
?PR?iap_read_status_byte?P669IAPLIB          SEGMENT ECODE INSEG
?PR?iap_erase_bv_sb?P669IAPLIB               SEGMENT ECODE INSEG
?PR?_iap_program_status_byte?P669IAPLIB      SEGMENT ECODE INSEG
?PR?_iap_program_boot_vector?P669IAPLIB      SEGMENT ECODE INSEG

; function names and global variables
PUBLIC	iap_read_manufacturer_id
PUBLIC  _iap_read_device_id
PUBLIC  iap_read_security_bits
PUBLIC  _iap_program_security_bits
PUBLIC  _iap_program_data_byte
PUBLIC  _iap_read_data_byte
PUBLIC  _iap_erase_block
PUBLIC  iap_read_boot_vector
PUBLIC  iap_read_status_byte
PUBLIC  iap_erase_bv_sb
PUBLIC  _iap_program_status_byte
PUBLIC  _iap_program_boot_vector

; **********************************************************************
; function:    iap_read_manufacturer_id
; prototype:   unsigned char iap_read_manufacturer_id(void);
; description: returns manufacturer id (15H = Philips)
; **********************************************************************
	RSEG  ?PR?iap_read_manufacturer_id?P669IAPLIB
iap_read_manufacturer_id:
	USING	0

        PUSH    IE                       ; disable interrupts
        CLR     EA  
        MOV     A,CMOD
        MOV     R2,A                     ; store copy of CMOD
        JNB     ACC.6,?IAPTAG2           ; if watchdog enabled then disable
        ANL     CMOD,#0BFH
?IAPTAG2:
        ORL     AUXR1,#020H              ; enable bootrom
        MOV     R1,#00H
        MOV     EPL,#00H
        LCALL   00FFF0H                  ; call iap routine
        MOV     R7,A                     ; id in accumulator

        ANL     AUXR1,#0DFH              ; disable bootrom
        MOV     CMOD,R2                  ; restore CMOD (restore watchdog state)
        POP     IE                       ; restore interrupts to initial state
        ERET     
; end of iap_read_manufacturer_id

; **********************************************************************
; function:    iap_read_device_id
; prototype:   unsigned char iap_read_device_id(unsigned char id_number);
; description: reads the device id number. id_number may be 1 or 2.
; **********************************************************************
        RSEG  ?PR?_iap_read_device_id?P669IAPLIB
_iap_read_device_id:
        PUSH    IE                       ; disable interrupts
        CLR     EA
        MOV     A,CMOD
        MOV     R2,A                     ; store copy of CMOD
        JNB     ACC.6,?IAPTAG4           ; if watchdog enabled then disable
        ANL     CMOD,#0BFH
?IAPTAG4:
        ORL     AUXR1,#020H              ; enable bootrom
        MOV     R1,#00H
        MOV     EPL,R7                   ; id number to read
        LCALL   00FFF0H                  ; call iap routine
        MOV     R7,A                     ; id in accumulator
        ANL     AUXR1,#0DFH              ; disable bootrom
        MOV     CMOD,R2                  ; restore CMOD (restore watchdog state)
        POP     IE                       ; restore interrupts to initial state
        ERET     
; end of iap_read_device_id

; **********************************************************************
; function:    iap_read_security_bits
; prototype:   unsigned char iap_read_security_bits(void);
; description: reads the security bits. The bits are returned in bit
; positions 1 to 3 (bit 1 = security bit 1).
; **********************************************************************
        RSEG  ?PR?iap_read_security_bits?P669IAPLIB
iap_read_security_bits:
        PUSH    IE                       ; disable interrupts
        CLR     EA
        MOV     A,CMOD
        MOV     R2,A                     ; store copy of CMOD
        JNB     ACC.6,?IAPTAG6           ; if watchdog enabled then disable
        ANL     CMOD,#0BFH
?IAPTAG6:
        ORL     AUXR1,#020H              ; enable bootrom
        MOV     R1,#07H
        MOV     EPL,#05H
        LCALL   00FFF0H                  ; call iap routine
        MOV     R7,A                     ; id in accumulator
        ANL     AUXR1,#0DFH              ; disable bootrom
        MOV     CMOD,R2                  ; restore CMOD (restore watchdog state)
        POP     IE                       ; restore interrupts to initial state
        ERET     
; end of iap_read_security_bits

; **********************************************************************
; function:    iap_program_security_bits
; prototype:   void iap_program_security_bits(unsigned char bits);
; description: programs the security bits. The bits are stored in bit
; positions 1 to 3 (bit 1 = security bit 1).
; **********************************************************************
        RSEG  ?PR?_iap_program_security_bits?P669IAPLIB
_iap_program_security_bits:
; prologue
        PUSH    IE                       ; disable interrupts
        CLR     EA
        MOV     A,CMOD
        MOV     R2,A                     ; store copy of CMOD
        JNB     ACC.6,?IAPTAG10          ; if watchdog enabled then disable
        ANL     CMOD,#0BFH
?IAPTAG10:
        ORL     AUXR1,#020H              ; enable bootrom
        MOV     R6,#00H                  ; bit counter
        MOV     A,R7                     ; copy param into acc
; end of prologue
?IAPTAG7:
        JNB     ACC.1,?IAPTAG8           ; test if lsb of acc is set
        MOV     R1,#05H
        MOV     EPL,R6                   ; set EPL to bit to program (0-index)
        LCALL   00FFF0H
?IAPTAG8:
        CLR     C                        ; shift acc right one bit
        RRC     A
        INC     R6                       ; increment bit counter
        CJNE    R6,#003H,?IAPTAG9        ; have we gone through 3 bits?
?IAPTAG9:
        JC      ?IAPTAG7                 ; jump back to program next bit
; epologue
        ANL     AUXR1,#0DFH              ; disable bootrom
        MOV     CMOD,R2                  ; restore CMOD (restore watchdog state)
        POP     IE                       ; restore interrupts to initial state
        ERET     
; end of epilogue
; end of iap_program_security_bits

; **********************************************************************
; function:    iap_program_data_byte
; prototype:   unsigned char iap_program_data_byte
;              (unsigned char val, unsigned int addr, unsigned char seg);
; description: programs a byte in the flash. passed is the byte, the
; 16-bit address and 64k segment number. zero is returned for success,
; non zero is returned for failure.
; **********************************************************************
        RSEG  ?PR?_iap_program_data_byte?P669IAPLIB
_iap_program_data_byte:
        PUSH    IE                       ; disable interrupts
        CLR     EA
        MOV     A,CMOD
        MOV     R2,A                     ; store copy of CMOD
        JNB     ACC.6,?IAPTAG11          ; if watchdog enabled then disable
        ANL     CMOD,#0BFH
?IAPTAG11:
        ORL     AUXR1,#020H              ; enable bootrom
        MOV     R1,#02H
        MOV     EPH,R3                   ; address to program
        MOV     EPM,R4
        MOV     EPL,R5
        MOV     A,R7                     ; data to write
        LCALL   00FFF0H                  ; call iap routine
        MOV     R7,A                     ; result in accumulator
        ANL     AUXR1,#0DFH              ; disable bootrom
        MOV     CMOD,R2                  ; restore CMOD (restore watchdog state)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲三级在线免费观看| 欧美日韩一区高清| 久久综合成人精品亚洲另类欧美| 三级成人在线视频| 日韩精品在线一区| 成人精品国产一区二区4080 | 欧美日韩精品综合在线| 人人狠狠综合久久亚洲| 精品国精品国产| 国产1区2区3区精品美女| 国产精品欧美综合在线| 99免费精品在线观看| 亚洲蜜桃精久久久久久久| 欧美日韩国产高清一区二区| 九九精品视频在线看| 国产精品国产自产拍高清av王其| 色久综合一二码| 日韩精品电影在线观看| 91在线播放网址| 男女男精品视频网| 国产精品久久免费看| 欧美日韩国产精品成人| 国产成人免费视频网站| 一区二区三区欧美| 精品国产91亚洲一区二区三区婷婷| 成人听书哪个软件好| 亚洲成人av福利| 国产丝袜欧美中文另类| 欧美亚洲日本一区| 国产福利视频一区二区三区| 亚洲成av人在线观看| 国产丝袜美腿一区二区三区| 欧美日韩在线一区二区| 国产精品一区二区免费不卡| 亚洲福利一区二区三区| 国产视频一区二区三区在线观看| 91精品福利视频| 国产一区二区不卡老阿姨| 亚洲精品精品亚洲| 久久久精品国产免大香伊| 欧美日韩国产首页| 日韩欧美另类在线| 欧美在线免费观看视频| 成人av在线播放网站| 狠狠色狠狠色合久久伊人| 一区二区三区久久| 中文天堂在线一区| 久久婷婷综合激情| 5月丁香婷婷综合| 色94色欧美sute亚洲线路一ni| 国产成人午夜视频| 免费看日韩a级影片| 亚洲综合精品久久| 国产精品电影一区二区| 欧美刺激脚交jootjob| 欧美日韩国产高清一区二区三区| jlzzjlzz亚洲日本少妇| 国产成人在线免费| 国产综合一区二区| 精品在线免费观看| 蜜臀久久99精品久久久画质超高清| 亚洲一区二区中文在线| 亚洲美女淫视频| 亚洲欧美日韩国产另类专区 | 国产亚洲一区字幕| 337p日本欧洲亚洲大胆色噜噜| 欧美精品高清视频| 欧美日韩精品欧美日韩精品一| 色国产精品一区在线观看| av影院午夜一区| 94-欧美-setu| 91丨九色丨蝌蚪富婆spa| 白白色 亚洲乱淫| av动漫一区二区| 99re8在线精品视频免费播放| 成人福利电影精品一区二区在线观看| 国内偷窥港台综合视频在线播放| 美女免费视频一区| 看电视剧不卡顿的网站| 精品亚洲成a人| 国产米奇在线777精品观看| 精品一区二区三区免费视频| 国产一区二区福利| 国产v综合v亚洲欧| 99re视频精品| 欧美手机在线视频| 欧美一区二区美女| 久久综合五月天婷婷伊人| 国产日韩欧美激情| 亚洲三级小视频| 久久99精品久久久| 国产精品伊人色| caoporm超碰国产精品| 色爱区综合激月婷婷| 制服视频三区第一页精品| 欧美大白屁股肥臀xxxxxx| 久久久影视传媒| 综合分类小说区另类春色亚洲小说欧美| 亚洲欧美日韩在线| 亚洲高清在线视频| 久久成人久久爱| 92国产精品观看| 欧美日韩国产电影| 国产喷白浆一区二区三区| 国产精品国产三级国产aⅴ入口 | 国产精品福利影院| 一区二区三区**美女毛片| 天天av天天翘天天综合网 | 亚洲国产精品一区二区www | 久久久美女艺术照精彩视频福利播放| 国产视频一区二区在线| 亚洲制服欧美中文字幕中文字幕| 日本午夜精品视频在线观看 | 日本一区二区三级电影在线观看| 国产三级三级三级精品8ⅰ区| 专区另类欧美日韩| 另类成人小视频在线| 色综合色综合色综合| 精品三级在线观看| 一区二区三区在线免费观看 | 精品一区二区三区在线视频| 色综合久久综合中文综合网| 日韩三级免费观看| 亚洲精品乱码久久久久久| 男女男精品视频| 99久久精品免费| 亚洲精品一线二线三线无人区| 久久久高清一区二区三区| 91久久久免费一区二区| 亚洲六月丁香色婷婷综合久久| 五月天激情综合| 欧美日韩三级一区| 亚洲成人动漫在线观看| 国产精品18久久久久久vr| 日韩一区和二区| 亚洲大片精品永久免费| 国产成人精品亚洲日本在线桃色 | 精品在线一区二区| 在线中文字幕一区二区| 视频一区在线视频| 欧美一区二区免费观在线| 亚洲成人资源网| 欧美伊人久久久久久午夜久久久久| 欧美一区二区视频网站| 亚洲国产综合色| 播五月开心婷婷综合| www国产精品av| 国产在线精品免费| 久久网站最新地址| 欧美亚洲愉拍一区二区| 琪琪一区二区三区| 日韩一区二区在线播放| 日韩不卡一区二区| 欧美日韩成人激情| 一区二区免费在线播放| 成人av资源下载| 亚洲综合丁香婷婷六月香| 91九色02白丝porn| 亚洲国产电影在线观看| 色成年激情久久综合| 亚洲欧美偷拍三级| 欧美视频一区二区三区四区| 国内精品在线播放| 国产午夜三级一区二区三| 91亚洲精品久久久蜜桃网站| 亚洲啪啪综合av一区二区三区| 欧美日韩免费观看一区二区三区| 麻豆91免费观看| 国产偷v国产偷v亚洲高清 | 亚洲一区欧美一区| 国产日韩在线不卡| 欧美大片国产精品| 午夜精品一区二区三区三上悠亚| 91免费视频网址| 亚洲九九爱视频| 在线观看欧美黄色| 一区二区不卡在线视频 午夜欧美不卡在| 99久久精品国产观看| 亚洲黄色尤物视频| 欧美日韩一区在线| 免费在线成人网| 亚洲精品一区二区三区在线观看 | 91精品国产一区二区三区蜜臀| 性做久久久久久久免费看| 91麻豆精品91久久久久久清纯| 日韩二区在线观看| 久久综合久久99| 成人精品国产一区二区4080| 亚洲激情第一区| 宅男噜噜噜66一区二区66| 韩国三级电影一区二区| 国产片一区二区| 91精品国产综合久久精品性色 | 久久99蜜桃精品| 久久久精品影视| 91在线视频18| 天堂成人国产精品一区| 337p日本欧洲亚洲大胆精品| 99久久久精品| 丝袜a∨在线一区二区三区不卡|