X25165芯片在8051系統(tǒng)中的應用
3.1 硬件接口電路
在一個8051單片機系統(tǒng)中可按照圖2的連接方式使用該芯片。
3.2 軟件接口設計
根據(jù)圖2的連接方式,筆者編寫了七個實用的應用接口程序,供大家參考。
a.串行輸出了程序
將累加器A中的數(shù)據(jù)按照高位在前的順序(MSB)串行輸出至X25165芯片中。
WD-OUTB:MOV R7,#08H;有8位數(shù)據(jù)要傳輸
WD-OUTB1:CLR P1.2;使SCK為低電平
RLC A ;將輸出位移入C
MOV P1.1,C;進位位移入SI
SEIB P1.2;使SCK位為高電平
DJNZ R7,WD-OUTB1;判斷循環(huán)是否結(jié)束
CLR P1.1;清SI
RET
b.串行輸入子程序
將1字節(jié)的數(shù)據(jù)按照高位在前的順序(MSB)從X25165中串行讀入累加器A中。
WD-INB:MOV R7,#08H;有8位數(shù)據(jù)要接收
WD-INB1:SETB P1.2;產(chǎn)生SCK脈沖
CLR P1.2 ;
MOV C, P1.0 ;S0移入進位位C
RLC A ;累加器A帶進位位去移
DJNZ R7, WD-INB1;判斷循環(huán)是否結(jié)束
RET
c.讀狀態(tài)寄存器子程序
用于從X25165中讀狀態(tài)寄存器內(nèi)容,讀出的內(nèi)容存放在A中。
WD-RD-SR:CLR P1.2 ;使SCK為低電平
CLR P1.3 ;芯片選擇CS有效
MOV A,#05H ;RDSR指令送累加器A
LCALL WD-OUTB ;輸出RDSR指令
LCALL WD-INB ;讀取狀態(tài)寄存器內(nèi)容
CLR P1.2 ;使SCK為低電平
SETB P1.3 ;芯片選擇CS無效
RET
d.寫狀態(tài)寄存子程序
該子程序可以設置塊保護地址范圍和可編程看門狗定時器超時周期。子程序中需要先使片選信號有效,然后用WREN指令設置寫使能鎖存器,8位指令輸出后必須將片選信號拉高,這樣才能使命令生效。同樣,數(shù)據(jù)輸出完成后也必須將片選信號拉高。
WD-WR-SR:CLR P1.2 ;使SCK為低電平
CLR P1.3 ;芯片選擇CS有效
MOV A, #06H ;WREN指令送累加器A
LCALL WD-OUTB ;輸出WREN指令
SETB P1.3 ;使CS為高電平
CLR P1.3 ;芯片選擇CS有效
MOV A,#01H ;WRSR指令送累加器A
LCALL WD-OUTB ;輸出WRSR指令,置狀態(tài)寄存器
MOV A,#10H;無塊保護,超時周期;800ms
LCALL WD-OUTB ;輸出狀態(tài)寄存器內(nèi)容
CLR P1.2 ;使SCK為低電平
SETB P1.3 ;使CS為高電平
RET ;
評論