⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fet430uif_eeprom.s43

📁 MSP430仿真器上EEPROM数据的烧写程序
💻 S43
📖 第 1 页 / 共 2 页
字号:
            	ret
             	   		
		
;---------------------------------------------------------------- 
ICreadn 					;读n个字节数据 
 	    	nop
 	    	mov.w	#DATABUFFx,R5 	    	
ICreadnx 	    	
                call	#ICstop
        	mov.b   #0a0h,TRANS	;0      	
        	call    #ICstart       	        	
        	call	#Bytewr
        	mov.b	ICADDR1, TRANS
        	call	#Bytewr 
        	mov.b	ICADDR0, TRANS
        	call	#Bytewr
        	call    #ICstart
        	mov.b   #0A1h,TRANS	;        
        	call	#Bytewr 
        	        	
ICrd1        	call	#Byterd
		mov.b	TRANS,0(R5)
		inc	R5
                inc.w   ICADDR0
        	dec.w	RDTM
        	jnz	ICreadnx;ICrd1        	       	 	        	
        	call	#ICstop    			
		ret

;---------------------------------------------------------------- 
;
ICwriten  				   ;写n个字节数据 
 	    	nop
 	    	 	    	
 	    	call	#ICstop 
     		mov.b	#0A0H,TRANS	    ;COMMAND B0H  write
        	call    #ICstart       	        	
        	call	#Bytewr
        	mov.b	ICADDR1, TRANS
        	call	#Bytewr
        	mov.b	ICADDR0, TRANS
        	call	#Bytewr
        	       	
ICwr1        	mov.b   EEPROM(R5),TRANS
        	call	#Bytewr
        	inc.w	R5
 	    	dec.w	WRTM
 	    	jnz	ICwr1
 	    	call	#ICstop
 	    	call	#DELAY10 
 	    	call	#DELAY10    			
		ret	
		    		           			
ICread1					;读1个字节数据
		nop           	 	
        	call	#ICstop
        	mov.b   #0A0h,TRANS	;      	
        	call    #ICstart       	        	
        	call	#Bytewr
        	mov.b	ICADDR1, TRANS
        	call	#Bytewr
        	mov.b	ICADDR0, TRANS
        	call	#Bytewr
        	call    #ICstart
        	mov.b   #0A1h,TRANS	;
        	call	#Bytewr        
        	call	#Byterd       	 	        	
        	call	#ICstop
        	ret
     
ICwrite1  	mov.b	#03H,WRTM         ;写1个字节,带校验
		call	#ICstop 
ICWRITE1_1     	mov.b	#0A0H,TRANS	    ;COMMAND B0H  write
        	call    #ICstart       	        	
        	call	#Bytewr
        	mov.b	ICADDR1, TRANS
        	call	#Bytewr
        	mov.b	ICADDR0, TRANS
        	call	#Bytewr
        	mov.b	ICDATA, TRANS
        	call	#Bytewr
        	call	#ICstop
        	mov.w   #5000, R21
                call    #Delaym               ;DELAY  20mS       	     	
        	CALL	#ICread1		
        	sub.b   ICDATA,TRANS
        	jz      ICWRITE1_2       	
        	dec.b	WRTM
        	jnz	ICWRITE1_1
        	bis.b	#BAD_C, PSTAT
        	br	#ICWRITE1_3
ICWRITE1_2      bic.b	#BAD_C, PSTAT
ICWRITE1_3	nop        	         
        	ret 
        	
;------------------------------------------------------------
ICstart   	bic.b   #SCL,&P3OUT
                bis.b   #SCL+SDA,&P3OUT    ; 启动总线
                call    #Tdelay                                  
            	bic.b   #SDA,&P3OUT
            	call    #Tdelay     
            	bic.b   #SCL,&P3OUT     
         	ret		
;------------------------------------------------------------ 
ICstop      	bic.b   #SDA+SCL,&P3OUT      ;停止总线
		call    #Tdelay
            	bis.b   #SCL,&P3OUT
            	call    #Tdelay    
           	bis.b   #SDA,&P3OUT    
	     	ret
;------------------------------------------------------------ 
Tdelay      	nop                     ;延时        
            	nop
            	nop
            	nop  
            	nop
            	nop
            	nop
            	nop  
            	nop
            	nop
            	nop
            	nop  
            	nop
            	nop
            	nop
            	nop
            	nop  
            	nop
            	nop
            	nop
              	ret	     	
DELAY10
              	mov.w   #4500,R21               ;DELAY 10 MS
                jmp     Delaym
              	
Delaym          dec    R21
                jnz    Delaym
                ret
	
;****************************************************

EEPROM

DB	0x10,0x34,0x03,0x12,0x00,0xAD,0x12,0x01,0x10,0x01,0xFF,0x00,0x00,0x08,0x51,0x04
DB	0x30,0xF4,0x01,0x01,0x01,0x02,0x03,0x01,0x05,0x8A,0x00,0xB1,0x04,0x03,0x09,0x04
DB	0x24,0x03,0x54,0x00,0x65,0x00,0x78,0x00,0x61,0x00,0x73,0x00,0x20,0x00,0x49,0x00
DB	0x6E,0x00,0x73,0x00,0x74,0x00,0x72,0x00,0x75,0x00,0x6D,0x00,0x65,0x00,0x6E,0x00
DB	0x74,0x00,0x73,0x00,0x30,0x03,0x4D,0x00,0x53,0x00,0x50,0x00,0x2D,0x00,0x46,0x00
DB	0x45,0x00,0x54,0x00,0x34,0x00,0x33,0x00,0x30,0x00,0x55,0x00,0x49,0x00,0x46,0x00
DB	0x20,0x00,0x4A,0x00,0x54,0x00,0x41,0x00,0x47,0x00,0x20,0x00,0x54,0x00,0x6F,0x00
DB	0x6F,0x00,0x6C,0x00,0x32,0x03,0x54,0x00,0x55,0x00,0x53,0x00,0x42,0x00,0x33,0x00
DB	0x34,0x00,0x31,0x00,0x30,0x00,0x31,0x00,0x37,0x00,0x30,0x00,0x41,0x00,0x34,0x00
DB	0x42,0x00,0x33,0x00,0x36,0x00,0x43,0x00,0x43,0x00,0x34,0x00,0x46,0x00,0x46,0x00
DB	0x46,0x00,0x35,0x00,0x43,0x00,0x00,0x4C,0x90,0xFF,0xFC,0xE0,0x44,0x80,0xF0,0x02
DB	0x00,0x14,0x90,0xFF,0xFC,0x80,0x63,0x90,0xFF,0xFE,0xE0,0xFF,0x80,0x36,0x90,0xFF
DB	0xFE,0xE0,0x44,0xE0,0xF0,0x02,0x00,0x14,0xD2,0xB0,0xC2,0xB1,0x80,0x04,0xC2,0xB0
DB	0xD2,0xB1,0xC2,0xB3,0xC2,0xB4,0x02,0x00,0x14,0xC2,0xB0,0xC2,0xB1,0xD2,0xB3,0xC2
DB	0xB4,0x02,0x00,0x14,0xC2,0xB0,0xC2,0xB1,0xC2,0xB3,0xD2,0xB4,0x02,0x00,0x14,0x90
DB	0xFF,0xA6,0xE0,0xFF,0x12,0x01,0xD3,0x02,0x00,0x14,0x90,0xFF,0xA3,0xE4,0xF0,0xA3
DB	0xE0,0x54,0xDF,0xF0,0x02,0x00,0x14,0x90,0xFF,0xA3,0xE4,0xF0,0xA3,0xE0,0x54,0xEF
DB	0xF0,0x02,0x00,0x14,0x90,0xFF,0xA3,0xE4,0xF0,0xA3,0xE0,0x44,0x20,0xF0,0x02,0x00
DB	0x14,0x90,0xFF,0xA3,0xE4,0xF0,0xA3,0xE0,0x44,0x10,0xF0,0x02,0x00,0x14,0xBB,0x01
DB	0x06,0x89,0x82,0x8A,0x83,0xE0,0x22,0x50,0x02,0xE7,0x22,0xBB,0xFE,0x02,0xE3,0x22
DB	0x89,0x82,0x8A,0x83,0xE4,0x93,0x22,0xD0,0x83,0xD0,0x82,0xF8,0xE4,0x93,0x70,0x12
DB	0x74,0x01,0x93,0x70,0x0D,0xA3,0xA3,0x93,0xF8,0x74,0x01,0x93,0xF5,0x82,0x88,0x83
DB	0xE4,0x73,0x74,0x02,0x93,0x68,0x60,0xEF,0xA3,0xA3,0xA3,0x80,0xDF,0x90,0xFF,0xAB
DB	0xE4,0xF0,0x90,0xFF,0xA4,0x04,0xF0,0x90,0xFF,0xA4,0xE0,0x64,0x01,0x60,0xF8,0x90
DB	0xFF,0xA2,0x74,0x83,0xF0,0xA3,0xE4,0xF0,0x90,0xFF,0xA7,0x74,0x02,0xF0,0xA3,0xE4
DB	0xF0,0xA3,0x74,0x11,0xF0,0xA3,0x74,0x13,0xF0,0x90,0xFF,0xA4,0xE4,0xF0,0x22,0x8B
DB	0x08,0x8A,0x09,0x89,0x0A,0xAB,0x08,0xAA,0x09,0xA9,0x0A,0x12,0x01,0x28,0x60,0x13
DB	0x05,0x0A,0xE5,0x0A,0x70,0x02,0x05,0x09,0x14,0xF9,0x12,0x01,0x28,0xFF,0x12,0x01
DB	0xD3,0x80,0xE2,0x22,0x90,0xFF,0xA5,0xE0,0xFF,0x30,0xE4,0xF8,0x90,0xFF,0xA5,0xEF
DB	0x54,0xEF,0xF0,0x90,0xFF,0xA0,0xE0,0xFF,0x22,0x90,0xFF,0xA5,0xE0,0x30,0xE5,0xF9
DB	0x90,0xFF,0xA1,0xEF,0xF0,0x22,0x78,0x7F,0xE4,0xF6,0xD8,0xFD,0x75,0x81,0x0B,0x02
DB	0x00,0x03,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF


P2x_ISR
P1x_ISR
TA0_ISR
URxint
WDTInt
        reti



;------------------------------------------------------------------------
;           Interrupt Vectors Used MSP430x13x/14x			-
;------------------------------------------------------------------------

             RSEG   INTVEC
              DW     RESET                     ;Basic Timer   0FFE0H
              DW     P2x_ISR                   ;I/O Port 2    0FFE2H
              DW     RESET                     ;UTXIFG1       0FFE4H
              DW     RESET                     ;URXIFG1       0FFE6H
              DW     P1x_ISR                   ;I/O Port 1    0FFE8H
              DW     TA0_ISR  		       ;Timer A CC1-2, TA       0FFEAH
              DW     RESET                     ;Timer A3 CCIFG0  0ffec  0FFECH
              DW     RESET                     ;ADCIFG     0FFEEH
              DW     RESET                     ;UTXIFG0    0FFF0H
              DW     URxint                    ;URXIFG0    0FFF2H
              DW     WDTInt                    ;Watchdog Timer, timer mode  	FFF4
              DW     RESET                     ;CAIFG  				FFF6
              DW     RESET                     ;Timer B7  BCCIFG1 & 6  		FFF8
              DW     RESET                     ;Timer B7  BCCIFG0   		FFFA
              DW     RESET                     ;NMI, osc. fault, ACCVIFG 	FFFC
              DW     RESET                     ;POR, ext. reset, Watchdog  	FFFE

              END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -