📄 fet430uif_eeprom.s43
字号:
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 + -