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

📄 block0.lst

📁 一个用SST89X516/564RD单片机实现用户程序空间扩大到72K的例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   BLOCK0                                                                11/17/2005 23:11:35 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE BLOCK0
OBJECT MODULE PLACED IN Block0.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Block0.C BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS

line level    source

   1          
   2          /*
   3          ********超高性价比的51单片机--20元以下的可达72K程序空间及可在任何地址存储数据的增强性51单片机************
   4          ************采用超级FLASH存储器的超级51单片机---SST89E/V52-54-58-516RD,具有超级程序和数据空间的功能******
   5          
   6                                                                  香港弘微科技有限公司       田伯运
   7                                                                  andy.tian@spacltd.com.cn    0755-26010579
   8          
   9                  1.片内的用户程序容量超过标准51单片机的极限--64K,单片最大可达72K的用户程序空间
  10          
  11                  本例子,就简单说明了这些功能的实现:
  12                  1.在SST89E516RD/564RD的BLOCK0(64K)内存放BLOCK0.C的程序文件,允许最大到64K;在BLOCK1(8K)内存放BLOCK1.C的
  13                    程序文件,最大到8K,通过KEIL C51的BANK分区指令,可有效将两个BLOCK的程序合在一起,互相调用,从而形成64+8=72K
  14                    的程序容量空间.
  15                  2.本示例采用最精简的函数和结构,主在说明在SST89E516/564RD的单片机内可实现超过64K的程序空间的功能.        
  16          
  17                  */
  18          
  19          #include <intrins.h>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  INTRINS.H
   3      =1  
   4      =1  Intrinsic functions for C51.
   5      =1  Copyright (c) 1988-2004 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  #ifndef __INTRINS_H__
  10      =1  #define __INTRINS_H__
  11      =1  
  12      =1  extern void          _nop_     (void);
  13      =1  extern bit           _testbit_ (bit);
  14      =1  extern unsigned char _cror_    (unsigned char, unsigned char);
  15      =1  extern unsigned int  _iror_    (unsigned int,  unsigned char);
  16      =1  extern unsigned long _lror_    (unsigned long, unsigned char);
  17      =1  extern unsigned char _crol_    (unsigned char, unsigned char);
  18      =1  extern unsigned int  _irol_    (unsigned int,  unsigned char);
  19      =1  extern unsigned long _lrol_    (unsigned long, unsigned char);
  20      =1  extern unsigned char _chkfloat_(float);
  21      =1  extern void          _push_    (unsigned char _sfr);
  22      =1  extern void          _pop_     (unsigned char _sfr);
  23      =1  
  24      =1  #endif
  25      =1  
  20          #include <SST89X5XXRD2.H>
   1      =1  /*  BYTE Registers  */
   2      =1  sfr P0    = 0x80;
   3      =1  sfr P1    = 0x90;
   4      =1  sfr P2    = 0xA0;
   5      =1  sfr P3    = 0xB0;
   6      =1  sfr PSW   = 0xD0;
   7      =1  sfr ACC   = 0xE0;
   8      =1  sfr B     = 0xF0;
   9      =1  sfr SP    = 0x81;
  10      =1  sfr DPL   = 0x82;
C51 COMPILER V7.50   BLOCK0                                                                11/17/2005 23:11:35 PAGE 2   

  11      =1  sfr DPH   = 0x83;
  12      =1  sfr PCON  = 0x87;
  13      =1  sfr TCON  = 0x88;
  14      =1  sfr TMOD  = 0x89;
  15      =1  sfr TL0   = 0x8A;
  16      =1  sfr TL1   = 0x8B;
  17      =1  sfr TH0   = 0x8C;
  18      =1  sfr TH1   = 0x8D;
  19      =1  sfr IE    = 0xA8;
  20      =1  sfr IP    = 0xB8;
  21      =1  sfr SCON  = 0x98;
  22      =1  sfr SBUF  = 0x99;
  23      =1  
  24      =1  /*  8052 Extensions */
  25      =1  sfr T2CON  = 0xC8;
  26      =1  sfr T2MOD  = 0xC9;
  27      =1  sfr RCAP2L = 0xCA;
  28      =1  sfr RCAP2H = 0xCB;
  29      =1  sfr TL2    = 0xCC;
  30      =1  sfr TH2    = 0xCD;
  31      =1  
  32      =1  /*  89x5xxRD2 Extensions */
  33      =1  sfr IPA   = 0xF8;
  34      =1  sfr IEA   = 0xE8;
  35      =1  sfr SADDR = 0xA9;
  36      =1  sfr SADEN = 0xB9;
  37      =1  sfr SPSR  = 0xAA;
  38      =1  sfr AUXR1 = 0xA2;
  39      =1  sfr AUXR  = 0x8E;
  40      =1  sfr WDTD  = 0x85;
  41      =1  sfr WDTC  = 0xC0;
  42      =1  sfr SPDR  = 0x86;
  43      =1  sfr SFCF  = 0xB1;
  44      =1  sfr SFCM  = 0xB2;
  45      =1  sfr SFAL  = 0xB3;
  46      =1  sfr SFAH  = 0xB4;
  47      =1  sfr SFDT  = 0xB5;
  48      =1  sfr SFST  = 0xB6;
  49      =1  sfr IPH   = 0xB7;
  50      =1  sfr SPCR  = 0xD5;
  51      =1  sfr IPAH  = 0xF7;
  52      =1  sfr P4    = 0xA5;
  53      =1  sfr XICON = 0xAE;
  54      =1  
  55      =1  /*  PCA   */
  56      =1  sfr CCON  = 0xD8;
  57      =1  sfr CMOD  = 0xD9;
  58      =1  sfr CL    = 0XE9;
  59      =1  sfr CH    = 0xF9;
  60      =1  
  61      =1  sfr CCAPM0= 0XDA;
  62      =1  sfr CCAPM1= 0XDB;
  63      =1  sfr CCAPM2= 0XDC;
  64      =1  sfr CCAPM3= 0XDD;
  65      =1  sfr CCAPM4= 0XDE;
  66      =1  
  67      =1  sfr CCAP0L= 0XEA;
  68      =1  sfr CCAP1L= 0XEB;
  69      =1  sfr CCAP2L= 0XEC;
  70      =1  sfr CCAP3L= 0XED;
  71      =1  sfr CCAP4L= 0XEE;
  72      =1  
C51 COMPILER V7.50   BLOCK0                                                                11/17/2005 23:11:35 PAGE 3   

  73      =1  sfr CCAP0H= 0XFA;
  74      =1  sfr CCAP1H= 0XFB;
  75      =1  sfr CCAP2H= 0XFC;
  76      =1  sfr CCAP3H= 0XFD;
  77      =1  sfr CCAP4H= 0XFE;
  78      =1  
  79      =1  
  80      =1  
  81      =1  /*  BIT Registers  */
  82      =1  /*  PSW  */
  83      =1  sbit CY    = PSW^7;
  84      =1  sbit AC    = PSW^6;
  85      =1  sbit F0    = PSW^5;
  86      =1  sbit RS1   = PSW^4;
  87      =1  sbit RS0   = PSW^3;
  88      =1  sbit OV    = PSW^2;
  89      =1  sbit P     = PSW^0; 
  90      =1  
  91      =1  /*  TCON  */
  92      =1  sbit TF1   = TCON^7;
  93      =1  sbit TR1   = TCON^6;
  94      =1  sbit TF0   = TCON^5;
  95      =1  sbit TR0   = TCON^4;
  96      =1  sbit IE1   = TCON^3;
  97      =1  sbit IT1   = TCON^2;
  98      =1  sbit IE0   = TCON^1;
  99      =1  sbit IT0   = TCON^0;
 100      =1  
 101      =1  /*  IE  */
 102      =1  sbit EA    = IE^7;
 103      =1  sbit EC    = IE^6;
 104      =1  sbit ET2   = IE^5; 
 105      =1  sbit ES    = IE^4;
 106      =1  sbit ET1   = IE^3;
 107      =1  sbit EX1   = IE^2;
 108      =1  sbit ET0   = IE^1;
 109      =1  sbit EX0   = IE^0;
 110      =1  
 111      =1  /*  IP  */
 112      =1  sbit PPC   = IP^6;
 113      =1  sbit PT2   = IP^5;
 114      =1  sbit PS    = IP^4;
 115      =1  sbit PT1   = IP^3;
 116      =1  sbit PX1   = IP^2;
 117      =1  sbit PT0   = IP^1;
 118      =1  sbit PX0   = IP^0;
 119      =1  
 120      =1  /*  P3  */
 121      =1  sbit RD    = P3^7;
 122      =1  sbit WR    = P3^6;
 123      =1  sbit T1    = P3^5;
 124      =1  sbit T0    = P3^4;
 125      =1  sbit INT1  = P3^3;
 126      =1  sbit INT0  = P3^2;
 127      =1  sbit TXD   = P3^1;
 128      =1  sbit RXD   = P3^0;
 129      =1  
 130      =1  /*  SCON  */
 131      =1  sbit SM0   = SCON^7;
 132      =1  sbit FE    = SCON^7;
 133      =1  sbit SM1   = SCON^6;
 134      =1  sbit SM2   = SCON^5;
C51 COMPILER V7.50   BLOCK0                                                                11/17/2005 23:11:35 PAGE 4   

 135      =1  sbit REN   = SCON^4;
 136      =1  sbit TB8   = SCON^3;
 137      =1  sbit RB8   = SCON^2;
 138      =1  sbit TI    = SCON^1;
 139      =1  sbit RI    = SCON^0;
 140      =1  
 141      =1  /*  P1  */
 142      =1  sbit CEX4  = P1^7;
 143      =1  sbit CEX3  = P1^6;
 144      =1  sbit CEX2  = P1^5;

⌨️ 快捷键说明

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