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

📄 copyer.lst

📁 SST39VFXXX系列闪存拷贝机
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   COPYER                                                                10/21/2008 00:32:54 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE COPYER
OBJECT MODULE PLACED IN copyer.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE copyer.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "STC5X.H"
   2          #include <intrins.h>
   3          #include <absacc.h>
   4          
   5          sbit SFLS =  P4^1;    //FLASH选择
   6          sbit CHIP =  P3^2;    //外接跳线芯片选择,置0为4MbitFLASH,置1为2MbitFLASH,可由程序自定义不同的FLASH
   7          sbit BUZ  =  P1^7;    //指示灯
   8          sbit STAR =  P1^3;    //启动按钮
   9          
  10          sbit A16  =  P1^0;    //FLASH高于bit15地址
  11          sbit A17  =  P1^2;
  12          sbit A18  =  P1^1;
  13          
  14          #define   S_HZK          SFLS = 0
  15          #define   S_SAV          SFLS = 1
  16          
  17          #define   PAGE0  A18=0; A17=0; A16=0;
  18          #define   PAGE1  A18=0; A17=0; A16=1;
  19          #define   PAGE2  A18=0; A17=1; A16=0;
  20          #define   PAGE3  A18=0; A17=1; A16=1;
  21          #define   PAGE4  A18=1; A17=0; A16=0;
  22          #define   PAGE5  A18=1; A17=0; A16=1;
  23          #define   PAGE6  A18=1; A17=1; A16=0;
  24          #define   PAGE7  A18=1; A17=1; A16=1;
  25          #define   PAGER  A18=1; A17=1; A16=0;
  26          #define   PAGEM  A18=1; A17=1; A16=1;
  27          
  28          #define  BAUT9600     0xf4           //9600@22.1184M/6T
  29          #define  FALSE        0
  30          #define  TRUE         1
  31          #define  false        0
  32          #define  true         1
  33          
  34          //这里如果有字符串写起来会更简洁
  35          unsigned char code  EraseChip[18] = {0x0d,0x0a,'E','r','a','s','e',' ','c','h','i','p','.','.','.','.','.'
             -,'.'};
  36          unsigned char code  StartProgrammer[21] = {0x0d,0x0a,'S', 't', 'a','r','t',' ','p','r','o','g','r','a','m'
             -,'.','.','.','.','.','.'};
  37          unsigned char code  VerifyChip[19] = {0x0d,0x0a,'V','e','r','i','f','y',' ','c','h','i','p','.','.','.','.
             -','.','.'};
  38          unsigned char code  ProSuc[22] = {0x0d,0x0a,'V','e','r','i','f','y',' ','s','u','c','c','e','s','s','f','u
             -','l','l','y','.'};
  39          unsigned char code  ProFail[16] = {0x0d,0x0a,'V','e','r','i','f','y',' ','f','a','i','l','e','d','.'};
  40          unsigned char code  Dot[1] = '.';
  41          unsigned char       ledlen,ledfls,ledon;
  42              
  43          /*================================================================
  44           * 函 数 名:  inichip
  45           * 参    数:  none
  46           * 功能描述:
  47           *            初始寄存器
  48           * 返 回 值:  none
  49           * 作    者:  uCore
  50           * 修改日期:  2008-10-21 00:21
  51          ===================================================================*/
C51 COMPILER V7.50   COPYER                                                                10/21/2008 00:32:54 PAGE 2   

  52          void inichip(void)
  53           {
  54   1         SCON  = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr (REN=1)
  55   1         TMOD  = 0x21;       //TMOD: timer 1, mode 2, 8-bit reload
  56   1      
  57   1         TH1   = BAUT9600;   //Baud:4800  fosc=11.0592MHz
  58   1         IE    = 0xA0;       //EA - ET2 ES ET1 EX1 ET0 EX0
  59   1         TCON  = 0x54;       //TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0       //外部中断1为跳变触发
  60   1      
  61   1         T2CON=0x04;
  62   1         TH2 = 0x4b;               // 定时器初值
  63   1         TL2 = 0xfd;
  64   1         TR2 = 1;
  65   1      
  66   1         AUXR=0x03;               //禁用内部扩展RAM
  67   1       }
  68           
  69          /*================================================================
  70           * 函 数 名:  timer2Int
  71           * 参    数:  none
  72           * 功能描述:
  73           *            定时器2中断处理
  74           * 返 回 值:  none
  75           * 作    者:  uCore
  76           * 修改日期:  2008-10-21 00:21
  77          ===================================================================*/
  78          void timer2Int(void) interrupt 5
  79           {
  80   1         TF2 = 0;     // 溢出标志必须由软件清零
  81   1         EXF2 = 0;    // 捕获标志必须由软件清零
  82   1         TH2 = 0x4b;  // 定时器初值50mS
  83   1         TL2 = 0xfd;
  84   1      
  85   1         if(ledlen)          //这里由于不缺资源,这几句效率可能不高,呵呵
  86   1           --ledlen;
  87   1           else
  88   1             {
  89   2               if(ledon)
  90   2                 {
  91   3                   BUZ = !BUZ;
  92   3                   ledlen = ledfls;
  93   3                 }
  94   2             }
  95   1       }
  96           
  97          /*================================================================
  98           * 函 数 名:  SendPackageToCom
  99           * 参    数:  dat: 要发送的数据指针; slen: 长度
 100           * 功能描述:
 101           *            查询方式发送数据串
 102           * 返 回 值:  none
 103           * 作    者:  uCore
 104           * 修改日期:  2008-10-21 00:22
 105          ===================================================================*/
 106          void SendPackageToCom(unsigned char *dat, unsigned char slen)
 107           {
 108   1         unsigned char i;
 109   1         TI=0;
 110   1         i=0;
 111   1         while(i<slen)
 112   1           {
 113   2             SBUF=dat[i];
C51 COMPILER V7.50   COPYER                                                                10/21/2008 00:32:54 PAGE 3   

 114   2             while(!TI);           //Sending.......
 115   2             TI=0;
 116   2             ++i;
 117   2           }
 118   1       }
 119           
 120          /*================================================================
 121           * 函 数 名:  TurnChipAdr
 122           * 参    数:  cadr: FLASH高于A15地址
 123           * 功能描述:
 124           *            选择高地址
 125           * 返 回 值:  none
 126           * 作    者:  uCore
 127           * 修改日期:  2008-10-21 00:22
 128          ===================================================================*/
 129          void TurnChipAdr(unsigned char cadr)
 130           {
 131   1         switch(cadr)
 132   1           {
 133   2             case 0:
 134   2                    PAGE0;
 135   2                    break;
 136   2             case 1:
 137   2                    PAGE1;
 138   2                    break;
 139   2             case 2:
 140   2                    PAGE2;
 141   2                    break;
 142   2             case 3:
 143   2                    PAGE3;
 144   2                    break;
 145   2             case 4:
 146   2                    PAGE4;
 147   2                    break;
 148   2             case 5:
 149   2                    PAGE5;
 150   2                    break;
 151   2             case 6:
 152   2                    PAGER;
 153   2                    break;
 154   2             case 7:
 155   2                    PAGEM;
 156   2                    break;
 157   2           }
 158   1       }
 159           
 160          /*================================================================
 161           * 函 数 名:  Delay_1_0Milli_Seconds
 162           * 参    数:  none
 163           * 功能描述:
 164           *            延时10mS
 165           * 返 回 值:  none
 166           * 作    者:  ucore
 167           * 修改日期:  2006.11.29
 168          ===================================================================*/
 169          void Delay_10_Milli_Seconds()
 170           {
 171   1         unsigned int i;
 172   1      //   WDT_CONTR = 0x34;
 173   1         i=4000;
 174   1         while(i)--i;                      //10ts
 175   1       }
C51 COMPILER V7.50   COPYER                                                                10/21/2008 00:32:54 PAGE 4   

 176          
 177          /*================================================================
 178           * 函 数 名:  Check_Toggle_Ready
 179           * 参    数:  dst: 地址
 180           * 功能描述:
 181           *            查询FLASH忙状态
 182           * 返 回 值:  none
 183           * 作    者:  uCore
 184           * 修改日期:  2008-10-21 00:22
 185          ===================================================================*/
 186          void Check_Toggle_Ready (unsigned int Dst)

⌨️ 快捷键说明

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