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

📄 isp.lst

📁 SM5964在系统编程的源代码,通过COMM串行口进行程序下载,方便嵌入式系统开发
💻 LST
字号:
C51 COMPILER V7.04   ISP                                                                   04/05/2006 15:17:54 PAGE 1   


C51 COMPILER V7.04, COMPILATION OF MODULE ISP
OBJECT MODULE PLACED IN isp.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE isp.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "main.h"
   2          #include "isp.h"
   3          #include <intrins.h>
   4          
   5          #define NOP _nop_()
   6          
   7          void ChipErase();
   8          void PageErase(unsigned char pageNo);
   9          void SetChipProtect();
  10          void ChipWrite(unsigned int addr,unsigned char chValue);
  11          unsigned char ChipRead(unsigned int addr);
  12          
  13          /////////////////////////////////////////////////////////
  14          void ChipErase()
  15          {
  16   1              
  17   1              WatchDog();
  18   1      
  19   1              #ifdef MY_DEBUG
  20   1              SCONF   =VALUE_SCONF;//允许IPSE OME 
  21   1              ISPFD   =0x55;
  22   1              ISPFD   =0xaa;
  23   1              ISPFD   =0x55;  
  24   1              #endif
  25   1      
  26   1      
  27   1              ISPC    =0x83;
  28   1      
  29   1              WatchDog();     
  30   1              
  31   1      }
  32          
  33          //页擦除512字节
  34          void PageErase(unsigned char pageNo)
  35          {
  36   1              
  37   1              unsigned char temp;
  38   1              unsigned int  addr;
  39   1      
  40   1              //$XY00 to $X(Y+1)FF (Y:even number), or
  41   1              //$X(Y-1) 00 to $XYFF (Y:odd number)
  42   1      
  43   1              WatchDog();
  44   1      
  45   1              #ifdef MY_DEBUG
  46   1              SCONF   =VALUE_SCONF;//允许IPSE OME 
  47   1              ISPFD   =0x55;
  48   1              ISPFD   =0xaa;
  49   1              ISPFD   =0x55;
  50   1              #endif
  51   1      
  52   1              
  53   1              addr=pageNo;
  54   1              addr*=512;
  55   1              
C51 COMPILER V7.04   ISP                                                                   04/05/2006 15:17:54 PAGE 2   

  56   1      
  57   1              temp=((addr>>8)&0xff);
  58   1              ISPFAH  =temp;
  59   1              temp=(addr & 0xff);
  60   1              ISPFAL  =addr & 0xff;
  61   1              
  62   1      
  63   1              ISPC    =0x82;
  64   1      
  65   1              WatchDog();
  66   1      
  67   1      
  68   1      }
  69          
  70          void SetChipProtect()
  71          {
  72   1      
  73   1              #ifdef MY_DEBUG
  74   1              SCONF   =VALUE_SCONF;//允许IPSE OME 
  75   1              ISPFD   =0x55;
  76   1              ISPFD   =0xaa;
  77   1              ISPFD   =0x55;
  78   1              #endif
  79   1              
  80   1              ISPC    =0x81;
  81   1      
  82   1      }
  83          
  84          
  85          
  86          
  87          /*
  88          **************************************************************
  89          MOV SCONF,#04H ; enable SM5964 ISP function
  90          MOV ISPFAH,#10H ; set flash address-high, 10H
  91          MOV ISPFAL,#05H ; set flash address-low, 05H
  92          MOV ISPFD,#22H ; set flash data to be programmed, data = 22H
  93          MOV ISPC,#80H ; start to program #22H to the flash address $1005H
  94          ; after byte program finished, START bit of ISPC will be reset to 0 automatically
  95          ; program counter then point to the next instruction
  96          **************************************************************
  97          */
  98          void ChipWrite(unsigned int addr,unsigned char chValue)
  99          {
 100   1              
 101   1              unsigned char temp;
 102   1              
 103   1              #ifdef MY_DEBUG
 104   1              SCONF   =VALUE_SCONF;//允许IPSE OME 
 105   1              ISPFD   =0x55;
 106   1              ISPFD   =0xaa;
 107   1              ISPFD   =0x55;
 108   1              #endif
 109   1              
 110   1      
 111   1              
 112   1                      
 113   1              temp=((addr>>8)&0xff);
 114   1              ISPFAH  =temp;
 115   1      
 116   1              temp=(addr & 0xff);
 117   1              ISPFAL  =temp;
C51 COMPILER V7.04   ISP                                                                   04/05/2006 15:17:54 PAGE 3   

 118   1      
 119   1      
 120   1              temp=chValue;
 121   1              ISPFD   =temp;
 122   1      
 123   1              ISPC    =0x80;          
 124   1      
 125   1      
 126   1      }
 127          
 128          unsigned char ChipRead(unsigned int addr)
 129          {
 130   1              unsigned char temp;
 131   1      
 132   1              unsigned char code *pt;
 133   1      
 134   1      
 135   1              pt=addr;
 136   1      
 137   1              temp=*pt;
 138   1      
 139   1      
 140   1              return temp;
 141   1      }
 142          
 143          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     96    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -