导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→初学者:救救我吧[babyjames]

 *第4087篇: 初学者:救救我吧

  
楼 主:babyjames 2002年7月16日16:09
 初学者:救救我吧


  
2楼:babyjames 2002年7月17日09:46
 天哪!没人救我呀.
  
3楼:babyjames 2002年7月17日09:47
 天哪!没人救我呀

  
4楼:傲气雄鹰 2002年7月17日11:15
 该“IC_24C16”程序可以操作2401——2416的所有器件。

;---------IC_24C16----------------------------------------------------
IC_24C16_SDA    BIT    P2.5
IC_24C16_SCLK    BIT    P2.4

;----------
IC_24C16_WRITE:            ;DPTR=ADDR,ACC-->EEPROM
    ;写一个字节
    PUSH ACC
    SETB IC_24C16_SDA
    CLR IC_24C16_SCLK
    CALL IC_24C16_START
    MOV A,DPH
    ANL A,#00000111B
    CLR CY
    RLC A
    ORL A,#0A0H        ;DEVICE ADDR_H,WRITE MODE
    CALL IC_24C16_SHIFT8
    CALL IC_24C16_ACK
    MOV A,DPL        ;ADDR_L
    CALL IC_24C16_SHIFT8    ;WT ADDR TO 24C16 BEEFOR READ;
    CALL IC_24C16_ACK
    POP ACC            ;DATA
    CALL IC_24C16_SHIFT8
    CALL IC_24C16_ACK
    CALL IC_24C16_STOP
    CALL IC_24C16_DELAY
    RET
;----------
IC_24C16_READ:            ;DPTR=ADDR,EEPROM-->ACC
    SETB IC_24C16_SDA
    CLR IC_24C16_SCLK
    CALL IC_24C16_START

    MOV A,DPH
    ANL A,#00000111B
    CLR CY
    RLC A
    ORL A,#0A0H        ;DEVICE ADDR=0,WRITE MODE
    CALL IC_24C16_SHIFT8

    CALL IC_24C16_ACK
    MOV A,DPL        ;ADDR_L OF DATA
    CALL IC_24C16_SHIFT8    ;WT ADDR_L TO 24C16 BEEFOR READ;
    CALL IC_24C16_ACK

    CALL IC_24C16_START

    MOV A,DPH
    ANL A,#00000111B    ;ADDR_H
    SETB CY
    RLC A
    ORL A,#0A0H        ;DEVICE ADDR=0,READ MODE
    CALL IC_24C16_SHIFT8

    CALL IC_24C16_ACK
    SETB IC_24C16_SDA
    MOV R7,#8        ;READ DATA
    CLR A
    SETB IC_24C16_SDA
IC_24C16_READ_0:
    RL A
    SETB IC_24C16_SCLK
    MOV C,IC_24C16_SDA
    MOV ACC.0,C
    CLR IC_24C16_SCLK
    DJNZ R7,IC_24C16_READ_0

    LCALL IC_24C16_STOP
    RET
;--------- 24C01 READ & WRITE SUB --------------------
IC_24C16_START:
    CLR IC_24C16_SDA
    SETB IC_24C16_SDA
    SETB IC_24C16_SCLK
    CLR IC_24C16_SDA    ;START
    CLR IC_24C16_SCLK
    RET
;----------
IC_24C16_STOP:
    CLR IC_24C16_SDA
    SETB IC_24C16_SCLK
    SETB IC_24C16_SDA
    RET
;----------
IC_24C16_ACK:
    SETB IC_24C16_SCLK
    CLR IC_24C16_SCLK
    RET
;----------
IC_24C16_SHIFT8:
    PUSH 07H
    MOV R7,#8
IC_24C16_SH01:
    RLC A
    MOV IC_24C16_SDA,C
    SETB IC_24C16_SCLK
    CLR IC_24C16_SCLK
    DJNZ R7,IC_24C16_SH01
    POP 07H
    RET
;----------
IC_24C16_DELAY:
    PUSH 07H
    MOV R7,#00H
IC_24C16_DELAY_01:
    DJNZ R7,IC_24C16_DELAY_01
    POP 07H
    RET
;---------IC_24C16_END----------------------------------------------------


>>>>>>对该主题发表你的看法

本主题贴数4,分页: [第1页]


[上一篇主题]:清推荐一款intel 8xc196kx编程环境

[下一篇主题]:硬件:想问一下有哪些比较常用的5V变3.3V的芯片呀?