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

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

?? f51mble3.a51

?? 1、本實驗箱采用的液晶顯示屏內(nèi)置控制器為SED1520
?? A51
?? 第 1 頁 / 共 3 頁
字號:
;************************************************************************
;*        	 SST FlashFlex51 Boot-Strap Loader(BSL)     		*
;*    		     (F51MBLE3.A51 - Version 1.1E) 			*
;*		 (for SST89C58 MCU - Device Code: E2h) 			*
;* 	 (MCU with 11.0592 MHz Ext. Crystal/38.4 Kbps baud rate)     	*
;*									*
;* NOTE:								*
;* 1. It's no longer need to check the port pin P1.0 to decide whether 	*
;*    to execute BSL IAP cmd or to run user code during BSL routine. 	*
;* 2. In BSL, the firmware(fw) sets the Watchdog Timer(WDT) for a time 	*
;*    period of 50 ms, sends a query cmd(F7h) to host PC and waits for 	*
;*    hand-shaking cmd(05h & 55h) from PC before WDT timeout. Upon 	*
;*    detecting the hand-shaking cmd, the fw sends its ID - three 	*
;*    consecutive bytes: device code, fw version and fw revision - to 	*
;*    host PC, and then waits for Pseudo IAP cmd from PC with new time-	*
;*    out of 2 seconds.                                                 *
;* 3. The fw will execute user code at 0000h after WDT timeout. 	*
;* 4. From the host PC, the user can issue a run-usercode cmd(62h & 62h)*
;*    to stop BSL mode and to executes user code instead.     	        *
;* 5. The fw supports a 38.4 Kbps baud for serial port with an external *
;*    OSC of 12 MHz. The previous version only supports a 9.6 Kbps baud.* 
;* 6. Unlike previous version, this fw uses a polling algorithm rather 	*
;*    than using interrupt-driven rs232_isr to access serial port. For 	*
;*    users plan to overwrite the fw in block 1 of flash, this feature 	*
;*    can facilitate the incorporation of user code into BSL routines.	*
;* 7. The pseudo IAP cmd of SECURITY-LOCK(SFCM_SB) and BLOCK-ERASE	*
;*    (SFCM_BE) has been moved to External Memory Mode(EA# = 1)- please *
;*    refers to F51EBLE.A51/F51EBLF.A51 of fw v1.1E.                    *
;* 8. This fw is referred as the "Internal Memory Mode(EA# = 1)" by the *
;*    host PC and is loaded into block 1 of flash. To execute the BSL 	*
;*    after reset, the user needs to remap 1KB/2KB/4KB of flash memory 	*
;*    from External Memory Mode or External Host Mode(RST = 1 and PSEN# *
;*    = 0) which often used by a standalone universal programmer.	* 
;* 9. FW withholds the following resources:                             *
;*    Registers R0-R6 in register bank 0; Internal RAM 08h-0Fh;         * 
;*    Watchdog Timer (WDT); Registers: A, B, DPTR, SFCF registers.      *
;*10. Companion SST89C54/C58 MCU datasheet/specifications should be	*
;*    reviewed in conjunction with this application note for a complete	*
;*    understand of the device.						*
;*									*
;************************************************************************
;* Developer: 	Frank Cirimele						*
;*		SST Embedded Controller Application Engineering		*
;*									*
;* Contact:	Silicon Storage Technology Inc.				*
;*		1171 Sonora Court					*
;*		Sunnyvale, CA 94086					*
;*		phone: 	(408)522-7352					*
;*		fax:	(408)749-9658					*
;*		email: 	cirimele@ssti.com				*
;*									*
;* Original Code Release Date: 6-08-2001			       	*
;*									*
;************************************************************************

;************************************************************************
;*                                                                      *
;* 8052 Family Special Function Registers(SFRs) Memory Locations	*
;*                                                                      *
;************************************************************************

T2CON 		DATA    0C8H	; Timer/Counter 2 Control
RCAP2L          DATA    0CAH    ; Auto-Reload/Capture 2 Low Byte
RCAP2H          DATA    0CBH    ; Auto-Reload/Capture 2 High Byte
TL2             DATA    0CCH    ; Timer/Counter 2 Low Byte
TH2             DATA    0CDH    ; Timer/Counter 2 High Byte

;************************************************************************
;*                                                                      *
;* 	FlashFlex51 MCU SST89C54/58 SFR Memory locations  		*
;*                                                                      *
;************************************************************************

SFCF		DATA    0B1H	; SuperFlash Configuration
SFCM		DATA    0B2H	; SuperFlash Command
SFAL		DATA    0B3H	; SuperFlash Address Low
SFAH		DATA    0B4H	; SuperFlash Address High
SFDT		DATA    0B5H	; SuperFlash Data
SFST		DATA    0B6H	; SuperFlash Status
WDTC		DATA    0C0H	; Watchdog Timer Control
WDTD		DATA     86H	; Watchdog Timer Data/Reload

;************************************************************************
;*                                                                      *
;* 	FlashFlex51 MCU SST89C54/58 IAP Commands 	  		*
;*                                                                      *
;************************************************************************

SFCM_SE		EQU	0BH	; Sector erase cmd
SFCM_PB		EQU	0EH	; Program byte cmd
SFCM_BP		EQU	06H	; Burst program cmd
SFCM_VB		EQU	0CH	; Verify byte cmd

;************************************************************************
;*                                                                      *
;* 		Variables Definition	 				*
;*                                                                      *
;************************************************************************

CMD		EQU	R2	; PC command
PCDATA  	EQU	R3	; PC data 
ADRHI   	EQU	R4	; start address - high byte
ADRLO 		EQU	R5	; start address - low byte
COUNT   	EQU	R6	; byte count or size

STR1            DATA    08h     ; internal RAM 08h - 0Bh is used to store STRG
STR2            DATA    09h
STR3            DATA    0Ah
STR4            DATA    0Bh

;************************************************************************
;*                                                                      *
;* 		Constants Definition	 				*
;*                                                                      *
;************************************************************************

SST89C54_ID	EQU     0E4h    ; Device code of SST89C54 MCU
SST89C58_ID	EQU     0E2h    ; Device code of SST89C58 MCU 
FW_Ver          EQU      11h    ; BSL firmware version 1.1
FW_Rev          EQU      'E'    ; BSL firmware revision E, ie. BSL v1.1E

;************************************************************************
;*                                                                      *
;* 	   RESET AND INTERRUPT VECTORS (SECTOR 0 in BLOCK 1 of FLASH)	*
;*                                                                      *
;************************************************************************
        org 0F000h       	; reset vector after remapped 1K/2K/4K
        ljmp start  	        ; jump to start code

        org 0F003h       	; external interrupt 0 vector

        org 0F00Bh       	; timer 0 overflow vector

        org 0F013h       	; external interrupt 1 vector

        org 0F01Bh       	; timer 1 overflow vector
        
        org 0F023h       	; serial I/O interrupt vector

	org 0F02Bh		; timer 2 overflow vector

;************************************************************************
;*									*									
;*		      	 BOOT CODE OR USER CODE?			*
;*									*								*
;************************************************************************
;* During BSL start routine, the fw check the WDTC.2 (Watchdog timer	*
;* reset flag) and jump to BSL poweron routine if WDTC.2 = 0 or compare *
;* STR1 thru STR4 with string "POWR" or "USER" if WDTC.2 = 1 (timeout 	*
;* detected).			*
;*   					    				*
;* After WDT timeout, the firmware takes the following steps:  		*
;* 1. Clear WDT reset flag if WDT expires in BSL1.1E, rather than in	*
;*    user code.							*
;* 2. Jump to resetval routine to restore SFRs reset values.		*
;* 3. Jump to 0000h in block 0 of flash to execute user code.         	*
;*									*								*
;************************************************************************
	org  0F040h-2
        sjmp $

	org  0F040h        

start:	mov  a, SFCF            ; jump to chkwdtc if remap is set
	anl  a, #00000011b
	jnz  chkwdtc
	
	mov  STR1, #"R"         ; if remap is not set, then set flag of "RMAP"
	mov  STR2, #"M"
	mov  STR3, #"A"
	mov  STR4, #"P"

	mov  WDTD, #-2          ; wait 10ms(typ.) to reset MCU
	mov  WDTC, #0fh         ; in order to detect real remapping value
	sjmp $                  ; software trap remapping

chkwdtc:jnb  WDTC.2,  poweron   ; jump to init after Power-On-Reset

        mov  a, STR1
        cjne a, #'P', others
        mov  a, STR2
        cjne a, #'O', others
        mov  a, STR3
        cjne a, #'W', others
        mov  a, STR4
        cjne a, #'R', others

	orl  WDTC, #00000100b   ; clear the reset flag ( WDTS, ie WDTC.2 )
	ljmp resetval           ; long jump to resetval if flag is "POWR"

others: mov  a, STR1
        cjne a, #'U', rmap
        mov  a, STR2
        cjne a, #'S', rmap
        mov  a, STR3
        cjne a, #'E', rmap
        mov  a, STR4
        cjne a, #'R', rmap
                                ; jump to resetval if flag="USER" and WDTC.2=1
	ljmp resetval           ; but don't clear WDT reset flag (WDTS) !!

rmap:	mov  a, STR1
        cjne a, #'R', user
        mov  a, STR2
        cjne a, #'M', user
        mov  a, STR3
        cjne a, #'A', user
        mov  a, STR4
        cjne a, #'P', user
	orl  WDTC, #00000100b   ; clear reset flag
	sjmp poweron

user:	mov  STR1,   #'U'       ; set flag of "USER"
	mov  STR2,   #'S'
	mov  STR3,   #'E'
	mov  STR4,   #'R'
	sjmp init

;************************************************************************
;*									*
;*     		BSL INIT ROUTINE:   INITIALIZATION CODE	 		*
;*									*
;************************************************************************
;* 1. Initialize SFRs, set up serial connection and start WDT. 		*
;* 2. MCU sends Query cmd(F7h) to host PC and waits for hand-shaking	*
;*    cmd(05h & 55h) from PC and then reports the status byte to PC.	*
;* 3. MCU sends cmd F7h to PC and waits for cmd 60h from PC and	report	*
;*    the chip ID and fw ID to PC. 					*
;* 4. The fw stays in a loop routine: MCU sends cmd F7h to PC and waits *
;*    for pseudo IAP cmd from PC.					*
;* 5. To stop the loop routine, either apply a reset or the PC sends a 	*
;*    Run-usercode cmd(62h) to MCU.			       		*
;*									*
;************************************************************************
poweron:                        ; set flag of "POWR"
	mov  STR1,   #'P'
	mov  STR2,   #'O'
	mov  STR3,   #'W'
	mov  STR4,   #'R'

init:	clr  a                  ; clear Accumulator
	mov  PSW, a     	; clear Program Status Word
        mov  IE, a              ; clear Interrupt Enable
	mov  SP,     #0Bh       ; 0Ch thru 0Fh used as Stack!
	anl  SFCF,   #00111111b ; VIS=0, IAPEN=0
	mov  SFDT,   #0         ; any value other than 55h
	mov  SFAH,   #0abh      ; point to off-chip memory
	mov  SFAL,   #0cdh
        mov  RCAP2H, #high(-9)  ; 11.0592 MHz OSC, for 38.4K bps
        mov  RCAP2L, #low(-9)   ; 11.0592 MHz OSC, for 38.4K bps

;	mov  RCAP2H, #high(-10) ; 12 MHz OSC, for 38.4K bps
;	mov  RCAP2L, #low(-10)  ; 12 MHz OSC, for 38.4K bps

       	mov  T2CON,  #00110100b	; Timer2 as baudrate generator for RCLK+TCLK  

        mov  SCON,   #01010010b ; mode1, 8bit UART, no parity, REN=1, TI=1
        mov  WDTD,   #-5	; count up to 5 x 7.7ms=38ms(min.), 50ms(typ.)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区香蕉| 99热精品国产| 欧美一区二区观看视频| 日韩—二三区免费观看av| 91精品婷婷国产综合久久竹菊| 夜夜嗨av一区二区三区四季av| 成人av电影免费在线播放| 一区在线观看视频| 91黄色免费观看| 亚洲成av人片在线观看无码| 欧美美女一区二区在线观看| 激情综合一区二区三区| 日本一区二区三区在线不卡 | 久久久久久久久免费| 国产剧情一区二区三区| 亚洲视频香蕉人妖| 欧美日韩国产一二三| 久久精品国产999大香线蕉| 久久精品人人做人人爽人人| 91视频你懂的| 美美哒免费高清在线观看视频一区二区| 日韩欧美国产三级| youjizz国产精品| 五月婷婷久久丁香| 久久久久久久久久美女| 色噜噜狠狠色综合中国| 奇米精品一区二区三区在线观看一| 久久久久亚洲蜜桃| 久久综合久久综合久久| 成人18视频在线播放| 爽好多水快深点欧美视频| 26uuu精品一区二区在线观看| 成人免费黄色大片| 国产精品欧美综合在线| 欧美亚洲国产一区在线观看网站 | 免费人成精品欧美精品| 国产欧美精品一区aⅴ影院| 欧美又粗又大又爽| 国产成人啪午夜精品网站男同| 一区二区成人在线视频| 久久只精品国产| 在线视频一区二区免费| 国产一区二区精品久久99| 一区二区三区在线视频观看| 久久久国产精华| 欧美一区二区三区公司| 色婷婷综合久久久久中文| 国产乱码精品1区2区3区| 亚洲午夜免费电影| 中文字幕一区av| 精品国产第一区二区三区观看体验| 91在线无精精品入口| 国产盗摄视频一区二区三区| 丝袜脚交一区二区| 一级特黄大欧美久久久| 中文文精品字幕一区二区| 欧美xxxxx牲另类人与| 欧美亚洲综合久久| 91免费观看在线| 从欧美一区二区三区| 久久 天天综合| 日韩国产在线观看一区| 亚欧色一区w666天堂| 亚洲精品国产精华液| 中文字幕在线不卡视频| 国产午夜精品美女毛片视频| 91麻豆精品久久久久蜜臀| 欧美午夜精品免费| 欧美亚洲国产一区在线观看网站| 91女厕偷拍女厕偷拍高清| 中文av一区二区| 精品日韩欧美一区二区| 91精品国产综合久久久久久久久久| 色香色香欲天天天影视综合网| 不卡一区二区三区四区| 成人美女在线观看| 成人免费视频一区二区| 福利一区福利二区| 成人国产亚洲欧美成人综合网| 国产乱子伦一区二区三区国色天香| 日本在线不卡视频| 日韩av中文字幕一区二区| 日韩av中文字幕一区二区| 日本不卡一二三| 久久精品av麻豆的观看方式| 久久99国产精品尤物| 精品一区二区在线视频| 韩国精品久久久| 粉嫩aⅴ一区二区三区四区五区| 国产精品一区二区免费不卡| 国产一区在线看| 成人高清在线视频| 91在线码无精品| 欧美丝袜第三区| 91精品国产综合久久久久久久久久| 欧美一区二区精品| 久久免费看少妇高潮| 国产精品全国免费观看高清| 亚洲天堂成人网| 午夜精品爽啪视频| 捆绑变态av一区二区三区| 国内久久婷婷综合| eeuss影院一区二区三区 | 精品一区二区三区不卡| 国产精品456| 色婷婷综合久久久中文一区二区| 欧美日韩另类一区| 337p粉嫩大胆噜噜噜噜噜91av| 欧美国产日本韩| 亚洲一区在线播放| 国产一区二区三区久久悠悠色av| 99免费精品视频| 日韩欧美久久一区| 国产精品福利影院| 日韩中文欧美在线| 国产高清亚洲一区| 欧美日韩三级一区二区| 久久久久久9999| 五月综合激情网| 成人综合在线网站| 欧美二区三区的天堂| 国产欧美精品一区| 日本一区中文字幕| 91首页免费视频| 精品久久国产字幕高潮| 亚洲精品国产精华液| 国产在线视频不卡二| 欧美三级欧美一级| 中文字幕一区二区在线播放| 日本欧美在线看| 91麻豆免费在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲一区二区精品久久av| 成人一区二区三区在线观看| 这里只有精品99re| 伊人婷婷欧美激情| 丰满亚洲少妇av| 91麻豆精品国产91久久久使用方法 | 欧美日韩在线亚洲一区蜜芽| 欧美激情一区三区| 麻豆国产精品一区二区三区| 91黄视频在线| 国产精品激情偷乱一区二区∴| 青娱乐精品在线视频| 欧美三级电影网| 成人欧美一区二区三区1314| 国产一区二区三区四区五区美女| 欧美丰满一区二区免费视频| 亚洲视频在线观看一区| 国产白丝网站精品污在线入口| 欧美一级片在线| 午夜精品一区二区三区电影天堂 | 精品欧美一区二区久久| 亚洲mv在线观看| 色国产精品一区在线观看| 国产精品蜜臀av| 成人性生交大片免费看视频在线| 2021国产精品久久精品| 麻豆成人久久精品二区三区小说| 欧美另类videos死尸| 亚洲高清视频的网址| 欧美伊人久久久久久久久影院| 一区二区三区欧美视频| 91国偷自产一区二区三区观看| 中文字幕色av一区二区三区| 波多野结衣亚洲| 成人欧美一区二区三区在线播放| 不卡av在线网| 亚洲精品五月天| 欧美色成人综合| 日韩中文欧美在线| 亚洲一级二级三级在线免费观看| 不卡视频在线看| 中文字幕视频一区二区三区久| 不卡电影一区二区三区| 日韩伦理免费电影| 91色porny| 亚洲亚洲精品在线观看| 欧美日韩一区二区欧美激情| 首页综合国产亚洲丝袜| 欧美怡红院视频| 日韩vs国产vs欧美| 欧美精品一区二区在线观看| 国产精品1区二区.| 中文字幕一区二区三区在线观看| 91污在线观看| 玉米视频成人免费看| 欧美色区777第一页| 日韩精品欧美精品| 日韩欧美一级特黄在线播放| 黄色日韩三级电影| 国产精品成人一区二区艾草 | 色噜噜狠狠成人中文综合| 亚洲精品乱码久久久久| 7777精品久久久大香线蕉| 国产在线精品一区二区三区不卡 | 美日韩一级片在线观看| 久久亚洲一级片| 不卡视频免费播放| 婷婷丁香久久五月婷婷|