注册 登录
编程论坛 单片机编程

单片机门锁汇编代码求助

zhaoqi 发布于 2010-03-26 10:18, 1160 次点击
这是一个射频门锁的部分程序,请问这段代码实现什么功能?说是24C16的读,感激不尽
STARTC:PUSH 07H                ;0区,R7
    MOV R0,#4        ; no in network
    MOV R1,#40H        ; so decide whether be initialized
    MOV R2,#0F0H
    LCALL RPR   

RPR:    MOV R3,#0AEH           ;24C16  0AEH页的读准备
    LCALL RDATAR
    RET

RDATAR:PUSH 06H
    PUSH 07H
    MOV R6,#4
    MOV R7,#8
    LJMP RDATA

RDATA: LCALL STFLG       ; read data from 8583
    MOV A,R3       ; entrance: r0, data number to read (0==256)
    LCALL WBYTE       ;           r1, ram head address to store data
    JC STP1        ;           r2, 8583 head address read from
    MOV A,R2       ;           r3, the i2c device address
    LCALL WBYTE
    JC STP1

stflg: mov b,#3           
STFLo: LCALL DSET
    LCALL CSET
    LCALL DCLR
    lcall CCLR
    djnz b,stflo
    RET

DSET:    MOV A,R6    ; R6: the sda postion
    ORL P0,A    ; SETB SDA
    RET
DCLR:    MOV A,R6    ; CLR SDA
    CPL A
    ANL P0,A
    RET
CSET:    MOV A,R7    ; R7: the clk position
    ORL P0,A    ; SETB CLK
    RET
CCLR:    MOV A,R7    ; CLR CLK
    CPL A
    ANL P0,A
    RET
2 回复
#2
新手上路中2010-03-27 17:26
单片机的程序最起码得给个电路图吧,这是硬件编程,不是软件编程啊.总得知道单片机和外部设备的联系方式啊.
1