您当前的位置:五五电子网电子知识单片机-工控设备51单片机AT93C46汇编读写示例程序(测试OK) 正文
AT93C46汇编读写示例程序(测试OK)

AT93C46汇编读写示例程序(测试OK)

点击数:7348 次   录入时间:03-04 11:38:25   整理:http://www.55dianzi.com   51单片机
    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单片机