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