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

📄 comm.lst

📁 SPWM三相波形发生器
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.08   COMM                                                                  12/25/2004 18:50:53 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE COMM
OBJECT MODULE PLACED IN comm.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE comm.c OPTIMIZE(SIZE) REGFILE(.\gprsnew.ORC) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #include <string.h>
   3          #include <absacc.h>
   4          #include <menuaddress.h>
   5          
   6          #define uchar unsigned char
   7          #define uint  unsigned int
   8          
   9          #define XTAL       11059200     /* CPU Oscillator Frequency *///
  10          #define EXP_XTAL        11059200//   14745600
  11          
  12          sbit LED = P3^7;
  13          sbit PD =  P3^6;
  14          sbit ERST = P3^4;
  15          sbit PWDN =  P2^4;
  16          
  17          //define int number
  18          #define         DEF_INT_EX0                             0
  19          #define         DEF_INT_TIME0                   1
  20          #define         DEF_INT_EX1                             2
  21          #define         DEF_INT_TIME1                   3
  22          #define         DEF_INT_ASYNC                   4
  23          
  24          #define         DEF_COMMBUFF_LEN                32
  25          #define         EXP_COMMBUFF_LEN                32
  26          #define         DEF_PARITY_NON                  0x00
  27          #define         DEF_PARITY_EVEN                 0x01
  28          #define         DEF_PARITY_ODD                  0x02
  29          #define         DEF_PARITY_2STOP                0x03
  30          
  31          extern void ModemSend(uchar *String);
  32          extern  void  ModemRead(uchar *String,uchar Len);
  33          
  34          void    _AsyncOpen(uint Baud, uchar Parity);
  35          //void  _AsyncClose(void);
  36          bit             _AsyncPutTest(void);
  37          void    _AsyncPut(uchar ucValue);
  38          bit             _AsyncGetTest(void);
  39          uchar   _AsyncGet(void);
  40          
  41          
  42          uchar   idata   PUB_CommBuffR[DEF_COMMBUFF_LEN];
  43          uchar   idata   PUB_CommBuffT[DEF_COMMBUFF_LEN];
  44          uchar   idata   PUB_CountRH, PUB_CountRT;
  45          uchar   idata   PUB_CountTH, PUB_CountTT;
  46          uchar   idata   PUB_ByteTT;
  47          uchar   idata   PUB_CommParity;
  48          extern  bit     PUB_Async_TI ;
  49          extern  bit     PUB_Async_RI ;
  50          uchar   idata   PUB_Async_RecData;
  51          
  52          uchar   idata   Volume;
  53          uchar   data    Vol_Rec;
  54          
  55          
C51 COMPILER V7.08   COMM                                                                  12/25/2004 18:50:53 PAGE 2   

  56          //-------main.c-----------
  57          extern  uchar   idata   input[32]; 
  58          extern unsigned char idata tempbuf[32];
  59          extern  void Delay(uint x);
  60          
  61          //------EEPROM.c----------
  62          extern void ReadUserBlock(uchar idata *input,uint Address,uchar Number);
  63          
  64          void  _SysInit(void)
  65          {
  66   1          EA = 0;
  67   1          IT1 = 0x01;
  68   1      //      RCAP2H = 0xDC;  //11.0592M
  69   1      //      RCAP2L = 0x00;
  70   1              RCAP2H = 0xe8;  //7.3728
  71   1              RCAP2L = 0x00;
  72   1              TH2 = 0xDC;
  73   1              TL2 = 0x00;
  74   1              TR2 = 1;
  75   1              ET2 = 1;
  76   1              Volume = 0x35;
  77   1          EA = 1;
  78   1      }
  79          
  80          void  _EXP_InfoRec(void)
  81          {
  82   1              uchar i,j;
  83   1      
  84   1                              ModemRead(input,sizeof(input));
  85   1                              if(strcmp(input,"RING")==0)
  86   1                              {
  87   2                                      ModemRead(input,sizeof(input));
  88   2                                      ModemRead(input,sizeof(input));
  89   2                                      for (i=1;i<sizeof(input)-1;i++)
  90   2                                      {
  91   3                                              if(input[i]=='"')input[i]=0;
  92   3                                      }
  93   2                                      j = 0;
  94   2                                      for (i=0;i<2;i++)
  95   2                                      {
  96   3                                              ReadUserBlock( tempbuf, Fixed_IP+(i*32),sizeof(tempbuf));
  97   3                                              if(strlen(input)<4)break;
  98   3                                              if(strlen(tempbuf)<4)continue;
  99   3                                              for (j=0;j<sizeof(tempbuf)-1;j++)
 100   3                                              {
 101   4                                                      if(tempbuf[strlen(tempbuf)-1-j]!=input[strlen(input)-1-j])
 102   4                                                              break;
 103   4                                                      if((j==strlen(tempbuf)-1)||(j==strlen(input)-2))
 104   4                                                      {
 105   5                                                              j=sizeof(tempbuf);
 106   5                                                              break;
 107   5                                                      }
 108   4                                              }
 109   3                                              if(j==sizeof(tempbuf))break;
 110   3                                      }
 111   2                                      ModemRead(input,sizeof(input));
 112   2                                      if(strcmp(input,"RING")==0)
 113   2                                      {
 114   3                                              Delay(100);
 115   3                                              if(j==sizeof(tempbuf))
 116   3                                              {
 117   4                                                      ModemSend("ATA\r");
C51 COMPILER V7.08   COMM                                                                  12/25/2004 18:50:53 PAGE 3   

 118   4                                                      PWDN = 0;Vol_Rec = 0;
 119   4                                                      IE1 = 0;
 120   4                                                      EX1 = 1;
 121   4                                              }
 122   3                                              else
 123   3                                              {
 124   4                                                      ModemSend("ATH\r");
 125   4                                                      PWDN = 1;
 126   4                                                      EX1 = 0;
 127   4                                                      Delay(100);
 128   4                                                      ModemSend("AT+CFUN=0\r");
 129   4                                              }
 130   3                                      }
 131   2                                      else
 132   2                                              ModemSend("AT+CFUN=0\r");
 133   2                              }
 134   1                              else if(strcmp(input,"NO")==0)
 135   1                              {
 136   2                                      ModemRead(input,sizeof(input));
 137   2                                      if((strcmp(input,"ANSWER")==0)||(strcmp(input,"CARRIER")==0))
 138   2                                      {
 139   3                                              Delay(100);
 140   3                                              ModemSend("ATH\r");
 141   3                                              PWDN = 1;
 142   3                                              EX1 = 0;
 143   3                                              Delay(100);
 144   3                                              ModemSend("AT+CFUN=0\r");
 145   3                                      }
 146   2                              }
 147   1      }
 148          
 149          void  Switch_OFF(void)
 150          {
 151   1              EA = 0;
 152   1      //      ModemSend("AT^SMSO\r");
 153   1              PD = 0;
 154   1              ERST = 0;
 155   1              PWDN = 1;
 156   1              PCON = 0x02;
 157   1      }
 158          
 159          
 160          void  Vol_control(void)
 161          {
 162   1              uchar cc;
 163   1      
 164   1              cc = P2&0x0f;
 165   1              strcpy(tempbuf,"AT^SNFI=0,32768\r");
 166   1              if(cc==0x08)
 167   1              {
 168   2                      {
 169   3                              if((Volume<0x37)&&(Volume>=0x30))
 170   3                              {
 171   4                                      Volume = Volume + 1;
 172   4                                      tempbuf[8] = Volume;
 173   4                                      ModemSend(tempbuf);
 174   4                              }
 175   3                      }
 176   2              }
 177   1              else if(cc==0x04)
 178   1              {
 179   2                      {
C51 COMPILER V7.08   COMM                                                                  12/25/2004 18:50:53 PAGE 4   

⌨️ 快捷键说明

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