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

📄 updata.lst

📁 C51写的华邦8位单片机ISP程序,请配合本人用VB写的PC端ISP程序W78E516UpdataOfVB使用
💻 LST
字号:
C51 COMPILER V7.07   UPDATA                                                                06/08/2005 12:46:35 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE UPDATA
OBJECT MODULE PLACED IN D:\HEX\UPDATA.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE UPDATA.C BROWSE DEBUG OBJECTEXTEND OBJECT(D:\HEX\UPDATA.obj)

stmt level    source

   1          #include <REGW78E516.H>
   2          #include <absacc.h>
   3          #include <intrins.h>
   4          #include <tabl.h> 
   5          
   6          #define uchar unsigned char
   7          #define uint  unsigned int
   8          #define ulong unsigned long
   9          sbit   P1_0=P1^0;
  10          sbit   P1_1=P1^1;
  11          sbit   P1_2=P1^2;
  12          sbit   P1_3=P1^3;
  13          sbit   P1_4=P1^4;
  14          sbit   P1_5=P1^5;
  15          sbit   P1_6=P1^6;
  16          sbit   P1_7=P1^7;
  17          
  18          sbit   P2_0=P2^0;
  19          sbit   P2_1=P2^1;
  20          sbit   P2_2=P2^2;
  21          sbit   P2_3=P2^3;
  22          sbit   P2_4=P2^4;
  23          sbit   P2_5=P2^5;
  24          sbit   P2_6=P2^6;
  25          sbit   P2_7=P2^7;
  26          
  27          sbit   P3_0=P3^0;
  28          sbit   P3_1=P3^1;
  29          sbit   P3_2=P3^2;
  30          sbit   P3_3=P3^3;
  31          sbit   P3_4=P3^4;
  32          sbit   P3_5=P3^5;
  33          sbit   P3_6=P3^6;
  34          sbit   P3_7=P3^7;
  35          
  36          sbit   P4_0=P4^0;
  37          sbit   P4_1=P4^1;
  38          sbit   P4_2=P4^2;
  39          sbit   P4_3=P4^3;
  40          #define         SCE0            P4_0      //  芯片片选位     
  41          #define         SCE1            P4_1      //  芯片片选位       
  42          #define         SCE2            P4_2      //  芯片片选位      
  43          #define     CVCC                P4_3      //电源控制
  44          
  45          #define         IO0             P1_0      /*  用户卡,稽查卡读写数据线   */
  46          #define         IO1             P1_1      /*  税控卡读写数据线          */
  47          //#define       SO              P1_2      /*  存储卡写数据线            */
  48          #define         SI              P1_3      /*  存储卡读数据线            */
  49          
  50          #define     DTR0        P1_4      /*  用户卡电源、时钟控制线:DTR0=1,电源,时钟开  */
  51          #define     DTR1        P1_5      /*  税控卡电源、时钟控制线:DTR1=1,电源,时钟开  */
  52          
  53          #define         CCLK    P1_6      /*  存储卡时钟线              */
  54          #define         WDI             P1_7      /*  看门狗喂狗时钟线          */
  55          
C51 COMPILER V7.07   UPDATA                                                                06/08/2005 12:46:35 PAGE 2   

  56          #define         CAINT1          P3_2      /*  税控卡拔卡中断线          */
  57          #define     CAINT3              P3_3    //打开机壳检测线
  58          #define         CAINT0          P3_4      /*  用户卡,稽查卡拔卡中断线   */
  59          #define         PDINT           P3_5      // 低电压检测线 
  60          
  61           
  62           
  63          uint data  crc16;
  64          uchar data THH0,TLL0,BagNo;                                             //定时时间变量
  65          uchar data  Slen,handle,uc0;
  66          bit BagHeadBit,SerialBit,AnyBagBit,fini;
  67          union{
  68                  uchar  ComBuf[256];
  69          }xdata Un;
  70           
  71          
  72          /*******************定时器中断0*****************/
  73          void TIMER0_INTRRUPT(void)  interrupt 1 using 1{                        //定时中断0
  74   1           
  75   1              TL0=TLL0;
  76   1          TH0=THH0;
  77   1          TR0=0x0;
  78   1      }
  79          
  80               
  81          void initialization(void){
  82   1          
  83   1          CHPENR=0x87;
  84   1          CHPENR=0x59;                                //允许CHPCON写入
  85   1          CHPCON=0x3;                                 //允许ISP状态
  86   1      
  87   1          CHPENR=0x0;                             //禁止CHPCON写入 
  88   1          TR0=0;                                              //禁止定时器0计数
  89   1          TMOD=0x21;                                  //设置定时中断0为方式1(16BIT),定时器1工作在方式2
  90   1          PCON=0x00;
  91   1              SCON=0x50;
  92   1          THH0=0xb0;
  93   1              TLL0=0xe0;
  94   1              TL1=0xfD;
  95   1              TH1=0xfD;                                       //设置波特率为9600
  96   1              TL0=0xe0;
  97   1              TH0=0xb1;                                       //刷新定时值
  98   1              TR0=0x0;                                        //定时器0停止计数
  99   1              TR1=0x01;                                       //定时器1停止
 100   1          ET0=1;
 101   1          EA=1;
 102   1      }
 103           
 104          //******************复位MCU************************************/ 
 105          void RESET_MCU(){
 106   1                   CHPENR=0X87;
 107   1                   CHPENR=0X59;                                       //允许CHPCON写操作
 108   1                   CHPCON=0x83;
 109   1                               TL0=0xe0;
 110   1                   TH0=0xff;
 111   1                   TR0=0x1;
 112   1                   PCON=0x1;
 113   1                              while(1);
 114   1      }
 115          void delayms(uchar t1,uchar t2)           /*  延时时间=4[t2(t1+1)+1]*机器周期 */
 116          {                                         /*  机器周期=1.08us 11.0592Mhz */
 117   1              data uchar t;                         /*  最大延时282Ms */
C51 COMPILER V7.07   UPDATA                                                                06/08/2005 12:46:35 PAGE 3   

 118   1               
 119   1              do{
 120   2                      t=t1;   //定时值
 121   2                      do{
 122   3                        t--;
 123   3                      }while(t!=0);
 124   2                      t2--;
 125   2              }while(t2!=0);
 126   1                         //喂狗                       
 127   1      }
 128           void FlashLEDA(uchar Number)
 129          {
 130   1              uchar j;
 131   1              IO1=1;
 132   1              for(j=0;j<Number;j++){          /*LED灯闪烁 NUMBER/2上电工作 */
 133   2                  IO1=~IO1;
 134   2                  delayms(180,180);           //延迟
 135   2                       
 136   2              }
 137   1               
 138   1              return;
 139   1      }
 140          void FlashLEDAB(uchar Number)
 141          {
 142   1              uchar j;
 143   1              IO1=1;
 144   1              IO0=0;
 145   1              for(j=0;j<Number;j++){          /*LED灯闪烁 NUMBER/2上电工作 */
 146   2                  IO1=~IO1;
 147   2                              IO0=~IO0;
 148   2                  delayms(250,250);           //延迟
 149   2                       
 150   2              }
 151   1               
 152   1              IO1=1;
 153   1              IO0=1;
 154   1              return;
 155   1      }
 156          
 157                          
 158           
 159          void main (void){ 
 160   1          CVCC=0;
 161   1                                      //设置波特率为9600
 162   1               
 163   1          EA=0;
 164   1              while(1){
 165   2           
 166   2               FlashLEDAB(20);
 167   2           if(PDINT==0){      
 168   3                      FlashLEDA(2);
 169   3                      EA=0;
 170   3                      P0=0;P1=0;P2=0;P3=0;P4=0;
 171   3                      CAINT3=1;
 172   3                      CVCC=1;//关闭电源
 173   3                      //while(1);
 174   3                      PCON=0x2;               //低功耗模式,进入掉电模式
 175   3                      PCON=0;
 176   3                      
 177   3                      _nop_();_nop_();_nop_();
 178   3                      CVCC=0;
 179   3                      }
C51 COMPILER V7.07   UPDATA                                                                06/08/2005 12:46:35 PAGE 4   

 180   2              }                       //调用初始化函数
 181   1          // disstring(7,7,0,8);
 182   1        ;             
 183   1            
 184   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    189    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    256    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      4    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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