[求助] 关于ds12cr887的问题

clarkpaul   2013-4-12 23:27 楼主
  1. /************************************************************************/
  2. /* 宏定义一些引脚                                                       */
  3. /************************************************************************/
  4. #define DATA_OUT_EN        P1DIR=0xff
  5. #define DATA_OUT        P1OUT
  6. #define DATA_IN_EN        P1DIR=0x00
  7. #define DATA_IN                P1IN
  8. #define CS_HIGH                P2OUT|=BIT0
  9. #define CS_LOW                P2OUT&=~BIT0
  10. #define AS_HIGH                P2OUT|=BIT1
  11. #define AS_LOW                P2OUT&=~BIT1
  12. #define RW_HIGH                P2OUT|=BIT2
  13. #define RW_LOW                P2OUT&=~BIT2
  14. #define DS_HIGH                P2OUT|=BIT3
  15. #define DS_LOW                P2OUT&=~BIT3
  16. ************************************************************************/
  17. /* 设置参数程序定义                                                     */
  18. /************************************************************************/
  19. void Data_Write(BYTE add,BYTE dat)
  20. {
  21.         AS_LOW;
  22.         DS_HIGH;
  23.         RW_HIGH;
  24.         CS_HIGH;
  25.         DATA_IN_EN;//初始化

  26.         DS_LOW;
  27.         __no_operation();
  28.         AS_HIGH;
  29.         CS_LOW;
  30.         DATA_OUT_EN;
  31.         DATA_OUT=add;
  32.         AS_LOW;
  33.         __no_operation();
  34.         delay_int(0x10);
  35.         DS_HIGH;
  36.         RW_LOW;//写入模式
  37.         __no_operation();
  38.         DATA_OUT=dat;
  39.         delay_int(0x10);
  40.         DS_LOW;
  41.         AS_HIGH;
  42. }
  43. /************************************************************************/
  44. /* 读取程序定义                                                         */
  45. /************************************************************************/
  46. void Data_Read(BYTE add)
  47. {
  48.     DATA_OUT_EN;
  49.         AS_LOW;
  50.         DS_HIGH;
  51.         RW_LOW;
  52.         CS_HIGH;

  53.         DS_LOW;
  54.         __no_operation();
  55.         AS_HIGH;
  56.         CS_LOW;
  57.         DATA_OUT=add;
  58.         AS_LOW;
  59.         delay_int(20);
  60.         DATA_IN_EN;
  61.         DS_HIGH;
  62.         RW_HIGH;
  63.         delay_int(100);
  64.         t_dat=DATA_IN;
  65.         DS_LOW;
  66.     __no_operation();
  67. }
时序貌似没错啊,每次读出来的数据都是给定的地址,而不是时间啊,求各位大大帮忙啊……

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复