X25165芯片在8051系統中的應用
e.讀存儲單元內容子程序
從X25165的串行EEPROM中讀指定單元內容,需要先發送READ指令和16位地址,指定地址單元的數據在SCK脈沖的作用下就會從S0引腳依次移出。
WD-RD-DATA:CLR P1.2 ;使SCK為低電平
CLR P1.3 ;芯片選擇CS有效
MOC A,#03H ;READ指令送累加器A
LCALL WD-OUTB;輸出READ指令
MOV A,DPH;高位地址送累加器A
LCALL WD-OUTB ;輸出高位地址
MOV A,DPL ;低位地址送累加器A
LCALL WD-OUTB ;輸出低位地址
LCALL WD-INB ;讀?。―PTR)單元的數據
MOV R4,A ;數據送R4
LCALL WD-INB ;讀?。―PTP+1)單元的數據
MOV R5,A ;數據送R5
CLR P1.2 ;使SCK為低電平
SETB P1.3 ;芯片選擇CS無效
RET
f.寫存儲單元內容子程序
該子程序向芯片內EEPROM的指定起始地址寫入數據,與寫狀態寄存器子程序一樣,程序中需要先輸出WREN指令設置寫使能鎖存器。然后,按高位在前的順序輸出存放于DPTR中的16位地址和存放于R5、R4中的16位數據。最后,要循環檢測狀態寄存器的WIP位,直到芯征內容的寫操作完成,以確保數據被安全可靠地寫入芯片。
WD-WR-DATA:CLR P1.2 ;使SCK為低電平
CLR P1.3 ;芯片選擇CS有效
MOV A,#06H ;WREN指令送累加器A
LCALL WD-LUTB ;輸出WREN指令
SETB P1.3 ;使CS為高電平
CLR P1.3 ;芯片選擇CS有效
MOV A,#02H ;WRITE指令送累加器A
LCALL WD-OUTB ;輸出WRITE指令
MOV A,DPH ;輸出高8位地址
LCALL WD-OUTB ;
MOV A,DPL ;輸出低8位地址
LCALL WD-OUTB ;
MOV A, R4 ;輸出低8位數據
LCALL WD-OUTB ;
MOV A,R5 ;輸出高8位數據
LCALL WD-OUTB;
CLR P1.2 ;使SCK為低電平
SETB P1.3 ;使CS為高電平
WD-WIP-POLL:LCALL WD-RD-SR ;讀狀態寄存器
JB ACC.0, WD-WIP-POLL
;檢測WIP位
RET
g.看門狗定時器復位子程序
只要在設定的看門狗定時器超時周期以內執行子程序并向芯片的CS引腳發送一個下降沿,看門狗就不會產生復位輸出信號。
WD-EAT:SETB P1.3 ;
CLR P1.3 ;產生CS下降沿脈沖
SETB P1.3 ;
RET
筆者在設計車輪徑軸向位移檢測儀時使用了X25165芯片,從而簡化了系統結構,降低了成本,提高了系統的可靠性,使用過程中保存的數據從未發生丟失現象,使用結果令人滿意。
評論