导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→24C08的问题[wuxi3000]

 *第18857篇: 24C08的问题

  
楼 主:wuxi3000 2008年12月16日16:40
 24C08的问题
24C08的问题   
我写的个24C08的测试程序,:在24C08的01H位置写入#08H,然后读出来送P0,P0接的是数码管

可是很怪: 我在开发板上用仿真器单步运行输出数据在数码管上显示OK,而全速运行,就好像死掉了,

我有测试过:08_ACK子程序,把"JC  $ "此句干掉,全速运行就可以.

为什么加上这句,单步可以,全速不行呢????
SCL EQU P2.2
   SDA EQU P2.3
   ORG 0000H
      AJMP MAIN
      ORG 0030H
MAIN: ACALL C08_START   /*发送开始信号*/
      MOV A,#0A0H    /*发送物理器件地址信号*/
   ACALL C08_WHITE
   ACALL C08_ACK       /*应答信号*/
   MOV A,#01H    /*发送要写的RAM地址*/
   ACALL C08_WHITE
   ACALL C08_ACK       /*应答信号*/
   MOV A,#08H    /*发送#08H数据*/     
   ACALL C08_WHITE   
   ACALL C08_ACK       /*应答信号*/
   ACALL C08_STOP   /*停止信号*/

   
   
   ACALL C08_START   /*发送开始信号*/
   MOV A,#0A0H    /*发送物理器件地址信号*/
   ACALL C08_WHITE
   ACALL C08_ACK       /*应答信号*/
   MOV A,#01H    /*伪写操作*/
   ACALL C08_WHITE   
   ACALL C08_ACK       /*应答信号*/
   ACALL C08_START
   MOV A,#0A1H         /*发送读物理器件地址信号*/
   ACALL C08_WHITE
   ACALL C08_ACK
   ACALL C08_READ      /*读数据*/
   MOV  P0,A
   SETB P3.7
   CLR P3.7
   LJMP MAIN

C08_START:SETB SDA
          SETB SCL
    CLR  SDA
    CLR  SCL
    RET
C08_WHITE:
          MOV R0,#08
LOOP:     RLC A
          MOV SDA,C
    SETB SCL
    CLR SCL
    DJNZ R0,LOOP
    RET
C08_ACK:  SETB SDA
          SETB SCL
    MOV C,SDA
    JC  $ 
          CLR SCL
    RET
C08_READ:
          MOV R0,#08
LOOP1:    SETB SCL
          MOV C,SDA
    RLC A
    CLR SCL 
    DJNZ R0,LOOP1
    RET

C08_STOP: 
          CLR SDA
    SETB SCL
    SETB SDA
    CLR SCL
    RET
          END 



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

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


[上一篇主题]:促销DSP2812/2407、ARM9/ARM7、51等系列开发板

[下一篇主题]:ARM(S3C2410)的无Nor启动VxWorks开发平台