当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 请问有csdn的离线浏览程序么?有的话,请告知详细的下载位置,谢谢!!! ......
    摘要: 2000进不去!!有没有办法修复!!!! 怎么在dos命令下访问c:\docunment and setting\administator\桌面\*.*的文件 dos下的“桌面”是汉字,怎么用英文表示?? ......


有关外部数据存贮器的程序编写...

原来的汇编程序:  
  MOV R0,#05H  
  MOV R1,#30H  
  MOV DPTR,#0700H  
                DD:   MOV A,@R1  
  MOVX @DPTR,A ;写数据的同时,WR会变,硬件上获取WR的变化.  
  INC R1  
  DJNZ R0,DD  
  MOVX A,@DPTR ;读数据的同时,RD会变,硬件上获取RD的变化.  
  END  
  这个是一个关于向AD9850输入控制字的程序,把AD9850芯片作为一扩展芯片而占用外部RAM  
   
  的一段地址.用MOVX   @DPTR,A   指令来向这片芯片输入数据,在硬件上同时获取WR上的信号.  
  而我编写的C程序可以向0700H地址读写,但我用KEIL编译时看不到WR和RD的变化.请问各位  
   
  高手,我的程序有什么问题?  
   
  我自己编写的C程序:  
   
    #include   <reg51.h>  
    #include   <stdio.h>  
    #include   <absacc.h>  
     
    typedef   unsigned   char   uchar;  
   
    #define   AD9850   XBYTE[0X0700]  
     
  void   main(void)  
  {  
   
          static   uchar   idata   a[5]   ={0x0f,0xff,0x11,0x08,0x0a};  
  uchar   i;  
  uchar   xdata   *   ad_dds;  
          ad_dds=&AD9850;  
  for(i=0;i<5;i++)  
  {  
    *ad_dds=a[i];   //相当于上面的:MOVX @DPTR,A  
  }  
  a[i-1]=*ad_dds;     //相当于上面的:MOVX A,@DPTR  
  }

NO.1   作者: liuw992000

把  
  #define   AD9850   XBYTE[0X0700]  
  ad_dds=&AD9850  
  改为  
  #define   AD9850   0X0700  
  ad_dds=AD9850  
  试试  
   
 

NO.2   作者: btcamel

ad_dds=&AD9850;  
  这几句翻译成汇编语言是:  
  C:0x008F         900700       MOV             DPTR,#0x0700  
          16:                   for(i=0;i<5;i++)    
  C:0x0092         E4               CLR             A  
  C:0x0093         FF               MOV             R7,A  
          17:                   {    
          18:                     *ad_dds=a[i];    
  C:0x0094         7408           MOV             A,#0x08     ///08是数组的首地址                        
  C:0x0096         2F               ADD             A,R7           ///加偏移量  
  C:0x0097         F8               MOV             R0,A           //  
  C:0x0098         E6               MOV             A,@R0         //   A=a[i];  
  C:0x0099         F0               MOVX           @DPTR,A     //挪出去。  
          19:                   }    
  C:0x009A         0F               INC             R7  
  C:0x009B         BF05F6       CJNE           R7,#0x05,C:0094  
   
   
  看起来和你用汇编写是一样的  
   
  “  
  但我用KEIL编译时看不到WR和RD的变化.  
  ”  
  是什么意思呢?  
  :)

NO.3   作者: Struggling

Money   is   not   everything.   There‘s   Mastercard   &   Visa.  
   
    钞票不是万能的,有时还需要信用卡.    
   
    One   should   love   animals.   They   are   so   tasty.    
   
    每个人都应该热爱动物,因为它们很好吃.    
   
    Save   water.   Shower   with   your   girlfriend.    
   
    要节约用水,尽量和女友一起洗澡.    
   
    Love   the   neighbor.   But   don‘t   get   caught.    
   
    要用心去爱你的邻居,不过不要让她的老公知道.    
   
    Behind   every   successful   man,   there   is   a   woman.   And   behind   every   unsuccessful   man,   there   are   two.    
   
    每个成功男人的背后,都有一个女人.   每个不成功男人的背后,   都有两个.


 ·打包遇到问题,求助    »显示摘要«
    摘要: 文件打包出现如果错误提示信息 \setup1\setup1.vdproj 应将“msadox.dll”排除,原因是其源文件“c:\program files\common files\system\ado\msadox.dll”受到“windows 系统文件保护”。 请问如何解决,因为该程序还引用msadox com组件! thanks ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE