您当前的位置:五五电子网电子知识单片机-工控设备51单片机AT93C46的汇编读写软件程序 正文
AT93C46的汇编读写软件程序

AT93C46的汇编读写软件程序

点击数:7410 次   录入时间:03-04 11:56:25   整理:http://www.55dianzi.com   51单片机
    DJNZ    R2,IR1    ;判断7位地址写完否,未完继续    
    RET
;----------------------------------------------------------
; 输出擦单元地址子程序

INADREW:
    CALL    INADR
    CLR    CS
    NOP
    SETB    CS
    JNB    DO,$    ; DO=0,表示编程正在进行;
            ; DO=1,表示该指定地址的寄存器单元已擦完,可以执行下一条指令。
    RET
;----------------------------------------------------------
; 读一个字节子程序
; 出口: 8位数据存在A中
;----------------------------------------------------------
READ:    CLR    SK    ;时钟置低
     MOV     R2,#8    ;置读入位数8
RD1:    SETB    SK    ;时钟上升沿读入一位数据
    NOP
     MOV     C,DO    ;存入Cy
    RLC    A    ;左移入A中    
    CLR    SK    ;时钟置低    
    DJNZ    R2,RD1    ;判8位数据读完否?未完继续
    RET
;----------------------------------------------------------
;确良写一个字节子程序
; 入口: 写入数据须事先存入A中.
; 若需写入多个字节数据,须在1ms后,93C46 DO 端出现高电平后才能重新启动写入.
;----------------------------------------------------------
WRIT:    
     MOV     R2,#8    ;置写入位数8
WR1:    CLR    SK    ;时钟置低
    RLC    A    ;A中数据移一位至Cy中
     MOV     DI,C    ;数据传送至DI端
    nop
    SETB    SK    ;时钟上升沿输出至93C46
    DJNZ    R2,WR1    ;判8位数据写完否?未完继续
    CLR    CS    ;8位数据写完,CS下降沿启动93C46擦写
    SETB    CS    ;CS次高位,以使DO端REDAY/BUSY状态位号有效
    RET
;----------------------------------------------------------
DLY1ms:                ;延时1ms子程序
     MOV     R31,#29        ;
L2:    PUSH    R31
L3:    DJNZ    R31,L3
    POP    R31
    DJNZ    R31,L2         
    RET
DLY10ms:            ;延时10ms子程序
     MOV     R31,#100    
L20:    PUSH    R31
L30:    DJNZ    R31,L30
    POP    R31
    DJNZ    R31,L20         
    RET
;==========================================================
END

上一页  [1] [2] [3] 


本文关键字:软件程序  51单片机单片机-工控设备 - 51单片机