⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wxram.lst

📁 C8051F系列单片机外围电路功能模块程序
💻 LST
字号:
C51 COMPILER V7.05   WXRAM                                                                 02/16/2006 21:16:28 PAGE 1   


C51 COMPILER V7.05, COMPILATION OF MODULE WXRAM
OBJECT MODULE PLACED IN WXRAM.OBJ
COMPILER INVOKED BY: C:\SiLabs\MCU\IDEfiles\C51\BIN\C51.exe WXRAM.c DB OE

stmt level    source

   1          //参考程序B:    WXRAM.c程序功能: 从外部扩展XRAM(62256)的首地址(0000H
   2          //)开始依次序写入256个数据(从0到0FFH),然后再从首地址(0000H)读出并进行
   3          //比较,看读出来的256个数据是否正确.若不正确,蜂鸣器响一声.
   4          #include <c8051f020.h>                    // SFR declarations
   5          #include <intrins.h>
   6          
   7          
   8          sbit BUZ = P3^5;
   9          
  10          unsigned char xdata *point;
  11          
  12          void PORT_Init (void);
  13          void sleep_ms(unsigned char count)
  14          {
  15   1        unsigned char ii,jj;
  16   1        for(ii=0;ii<count;ii++)
  17   1          {
  18   2            for(jj=0;jj<250;jj++)
  19   2                _nop_();                      
  20   2          }   
  21   1      }
  22          
  23          
  24          void main (void) {
  25   1              unsigned char k,WrData,RdData;
  26   1              /*无效看门狗*/
  27   1              WDTCN = 0xde;
  28   1              WDTCN = 0xad;
  29   1              
  30   1              PORT_Init();                    /*初始化端口*/
  31   1              P6=0x00;
  32   1              P5=0x00;
  33   1              WrData=0x0;                     /*待写数据变量*/
  34   1          point=0x0000;                       /*地址指针*/
  35   1              for(k=0;k<0x0ff;k++)            /*写十个数据*/
  36   1          {
  37   2                      *point=WrData;          /*写数据到RAM*/
  38   2                      point++;
  39   2                      WrData++;
  40   2              }
  41   1              WrData=0x0;
  42   1              point=0x0000;
  43   1              for(k=0;k<0x0fe;k++)            /*读出比较*/
  44   1          {
  45   2                      RdData=*point;          /*读数据*/
  46   2                      if(RdData!=WrData){     /*是否出错*/
  47   3                              BUZ = 0;                /*蜂鸣器响*/
  48   3                              sleep_ms(250);
  49   3                              BUZ = 1;                /*蜂鸣器灭*/
  50   3                      }
  51   2                      _nop_();
  52   2                  WrData++;
  53   2                      point++;
  54   2                      _nop_();
  55   2              }
C51 COMPILER V7.05   WXRAM                                                                 02/16/2006 21:16:28 PAGE 2   

  56   1              _nop_();
  57   1      }
  58          
  59          void  PORT_Init (void)
  60          {
  61   1         XBR2    = 0x40;      /*使能交叉开关和弱上拉*/
  62   1         P74OUT |= 0xff;      /*使能P4,P5,P6,P7推挽输出*/
  63   1         EMI0CF |= 0x2c;              /*EMIF工作在地址/数据复用方式,*/
  64   1                              /*只用外部存储器,ALE高/低脉宽占1个SYSCLK周期*/
  65   1         EMI0TC |= 0x6c;/*地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期*/
  66   1         P3MDOUT |= 0x20;     /*使能P3.5推挽输出*/
  67   1      
  68   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    118    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -