?? at24c64驅動子程序.asm
字號:
;SCL最高工作頻率100K
;############ 啟動 AT24C64 #################
;入口參數:無
;出口參數:無
;需調用子程序:喂狗子程序-WDOG
;##########################################
AT1: LCALL WDOG ;喂狗,延時
CLR SCL
LCALL WDOG ;喂狗,延時
SETB SDA
LCALL WDOG ;喂狗,延時
SETB SCL
LCALL WDOG ;喂狗,延時
CLR SDA
LCALL WDOG ;喂狗,延時
CLR SCL
LCALL WDOG ;喂狗,延時
RET
;############ 關閉 AT24C64 #################
;入口參數:無
;出口參數:無
;需調用子程序:喂狗子程序-WDOG
;##########################################
ATW3: LCALL WDOG ;喂狗,延時
CLR SCL
LCALL WDOG ;喂狗,延時
CLR SDA
LCALL WDOG ;喂狗,延時
SETB SCL
LCALL WDOG ;喂狗,延時
SETB SDA
LCALL WDOG ;喂狗,延時
RET
;/** 單字節讀 **/
ATR2: CLR A
CLR C
LCALL WDOG ;喂狗,延時
CLR SCL
LCALL WDOG ;喂狗,延時
MOV R2,#8
J5: SETB SCL
LCALL WDOG ;喂狗,延時
MOV C,SDA
RLC A
LCALL WDOG ;喂狗,延時
CLR SCL
LCALL WDOG ;喂狗,延時
DJNZ R2,J5
CLR SDA
LCALL WDOG ;喂狗,延時
SETB SCL
LCALL WDOG ;喂狗,延時
CLR SCL
LCALL WDOG ;喂狗,延時
SETB SDA
RET
;序列讀最后一字節
ATR3: CLR A
CLR C
LCALL WDOG ;喂狗,延時
CLR SCL
LCALL WDOG ;喂狗,延時
MOV R2,#8
J50: SETB SCL
LCALL WDOG ;喂狗,延時
MOV C,SDA
RLC A
LCALL WDOG ;喂狗,延時
CLR SCL
LCALL WDOG ;喂狗,延時
DJNZ R2,J50
SETB SDA
LCALL WDOG ;喂狗,延時
SETB SCL
LCALL WDOG ;喂狗,延時
RET
;##############寫數據到at24c64-ATW2##############
;說明:寫一字節數據到at24c64,失敗PSW.5置1
;入口參數:A
;出口參數:無
;需調用子程序:喂狗-WDOG
;###############################################
ATW2: MOV R2,#8
clr SCL
J4: RLC A
LCALL WDOG ;喂狗,延時
MOV SDA,C
LCALL WDOG ;喂狗,延時
SETB SCL
LCALL WDOG ;喂狗,延時
CLR SCL
DJNZ R2,J4
setb SDA
LCALL WDOG ;喂狗,延時
SETB SCL
LCALL WDOG ;喂狗,延時
JB SDA,J1
CLR SCL
LCALL WDOG ;喂狗,延時
CLR PSW.5
Ljmp edw
J1: SETB PSW.5
edw: RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -