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

📄 serial.lst

📁 矿工定位系统单端
💻 LST
字号:
C51 COMPILER V7.05   SERIAL                                                                07/08/2005 11:42:14 PAGE 1   


C51 COMPILER V7.05, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN SERIAL.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SERIAL.C BROWSE MODDP2 DEBUG OBJECTEXTEND

stmt level    source

   1          #include <stdio.h>
   2          #include <W77c32.h>
   3          #include <string.h>
   4          #include<intrins.h>
   5          #include "serial.h"
   6          //sbit R485=P1^4;
   7          /*
   8          #define CTS    P1_0
   9          #define RTS    P1_1
  10          #define DSR    P1_4
  11          #define DTR    P1_5
  12          
  13          #define LED0   P1_6
  14          #define LED1   P1_7
  15          //#define DTR1    P1_6
  16          //#define RTS1    P1_7
  17          //#define CTS1    P3_4
  18          //#define DSR1    P3_5
  19          #define RING   P3_2
  20          */
  21          typedef unsigned short u16  ;
  22          typedef unsigned char  u8 ;
  23          #define CLOCK  22118400L
  24          //***********************串口初始化波特率定义*****原有********************
  25          #define OSC_FREQ                22118400L
  26          #define BAUD_115200             256 - (OSC_FREQ/192L)/115200L
  27          #define BAUD_57600              256 - (OSC_FREQ/192L)/57600L
  28          #define BAUD_38400              256 - (OSC_FREQ/192L)/38400L
  29          #define BAUD_28800              256 - (OSC_FREQ/192L)/28800L
  30          #define BAUD_19200              256 - (OSC_FREQ/192L)/19200L
  31          #define BAUD_14400              256 - (OSC_FREQ/192L)/14400L
  32          #define BAUD_9600               256 - (OSC_FREQ/192L)/9600L
  33          #define BAUD_4800               256 - (OSC_FREQ/192L)/4800L
  34          #define BAUD_2400               256 - (OSC_FREQ/192L)/2400L
  35          #define BAUD_1200               256 - (OSC_FREQ/192L)/1200L
  36          
  37          //====================Timer=============================================
  38          //====================UART0=============================================
  39          unsigned char data RX1buf[5],RXNUM=0,RecvBuff[40],RxPoint=0,RxLen=0;
  40          bit RxFlag,Sflag=0;
  41          
  42          #pragma OT(4,speed)
  43          
  44          void ISR0(void) interrupt 0
  45          {
  46   1              
  47   1      }
  48          
  49          void ISR2(void) interrupt 2
  50          {
  51   1              
  52   1      }
  53          
  54          void ISR3(void) interrupt 3
  55          {
C51 COMPILER V7.05   SERIAL                                                                07/08/2005 11:42:14 PAGE 2   

  56   1              
  57   1      }
  58          
  59          void ISR5(void) interrupt 5
  60          {
  61   1              
  62   1      }
  63          
  64          void ISR6(void) interrupt 6
  65          {
  66   1              
  67   1      }
  68          
  69          void ISR8(void) interrupt 8
  70          {
  71   1              
  72   1      }
  73          
  74          void ISR9(void) interrupt 9
  75          {
  76   1              
  77   1      }
  78          void ISR10(void) interrupt 10
  79          {
  80   1              
  81   1      }
  82          
  83          void ISR11(void) interrupt 11
  84          {
  85   1              
  86   1      }
  87          
  88          void ISR12(void) interrupt 12
  89          {
  90   1              
  91   1      }
  92          
  93          
  94          //=========================================================================
  95          //uart1 interrupt
  96          //
  97          //
  98          /*=========================================================================
  99          void ub1ISR(void) interrupt 7
 100          {
 101                  if(RI_1)
 102                  {
 103                          RI_1=0;
 104          
 105                      RX1buf[RXNUM]=SBUF1;
 106                          RXNUM++;
 107                          if(RXNUM==5)RXNUM=0;
 108          
 109                  }
 110                  if(TI_1)
 111                  {
 112                          TI_1=0;
 113                  
 114                  }     
 115          }
 116          */
 117          
C51 COMPILER V7.05   SERIAL                                                                07/08/2005 11:42:14 PAGE 3   

 118          //=========================================================================
 119          //
 120          //
 121          //
 122          //=========================================================================
 123          // ===========================================================================
 124          // TH1 = BPS = 256 -    ( CLOCK/(384*BAUD) )
 125          // Timer1, BAUD = 2400, TH1 = 0xE5(229), CLK = 25M HZ;
 126          // Timer1, BAUD = 9600, TH1 = 0xF9(249), CLK = 25M HZ;
 127          // Timer1, BAUD = 9600, TH1 = 0xFD(253), CLK = 11.059M HZ;
 128          void UartInit(void)
 129          {
 130   1              //u8 c; 
 131   1              IE   = 0 ;    // Disable all interrupts  
 132   1              //==============
 133   1              // Set Baurd Rate  
 134   1              // TH1 = BSP = 256 -  CLK / (384*Baurd)
 135   1              SCON=0x50;              //Set UART to mode 1
 136   1              SCON1=0x50;    //Set UART1 to mode 1
 137   1              //c=TMOD&0x0f;
 138   1              //c|=0x20;
 139   1              TMOD=0X21;//c;             //Set timer 1 to mode 2(8-bit autoload)
 140   1              PCON|=0x80;    //double baurd rate
 141   1              // BAUD_9600 ;
 142   1              TH1=BAUD_19200;//0xfb;          //TH1 = 256 -  CLK / (384*Baurd) CLK=18.432M//COM1
 143   1          TL1=TH1;
 144   1      
 145   1              RCAP2L=0x70;//0xc0;//0xe0;;//0X70;//0xc0;//0xe0;//0XB8;//0xfdc0---1200//B8 9600//0xfb; //ffb8--9600 //fee
             -0--2400//ff70--4800   //RCAP2HL=65536-f0sc/(32*bps)  70 ---4800
 146   1              RCAP2H=0xff;//0xfd;//0xfe;;      //0xfd;//0xfe;//0xff;  
 147   1      
 148   1      
 149   1              TR1=1;                  //Start timer 1
 150   1              TR2=1;          //Start timer 2
 151   1              
 152   1              
 153   1              TI = 0;
 154   1              RI = 0;
 155   1              TI_1=0;
 156   1              RI_1=0;
 157   1              
 158   1              // enable interrupt register
 159   1              ES1=1;
 160   1              ES=1;
 161   1              //IE = 0xd0;    //(IE.7)EA=1  (IE.6)ES1=0  (IE.4)ES=1
 162   1      } // end UartInit
 163          //========================================================================
 164          //
 165          //
 166          //
 167          
 168          //====================================================================================
 169          //
 170          //
 171          //====================================================================================
 172          
 173          void InitREG()
 174          {
 175   1              TA=0xaa;
 176   1              TA=0x55;
 177   1              WDCON=0x80;   //disable watchdog
 178   1              _nop_();
C51 COMPILER V7.05   SERIAL                                                                07/08/2005 11:42:14 PAGE 4   

 179   1              _nop_();
 180   1              _nop_();
 181   1              TA=0xaa;
 182   1              TA=0x55;
 183   1              CKCON=0XC1;//0xF9;   //0xf9; timer1 clk=4; timer0 clk=4
 184   1              _nop_();
 185   1              _nop_();
 186   1              _nop_();
 187   1              
 188   1              PMR=0x41;     //4 clk 
 189   1              
 190   1              EIE=0x00;
 191   1              IE=0;
 192   1              SADEN=0;
 193   1              SADEN1=0;
 194   1          T2CON=0x30;          //the timer2 is used for baud rate of serial port 0
 195   1      }
 196          
 197          
 198          
 199          
 200          //========================================================================
 201          
 202          
 203          /*--------------------------------------------------------------------
 204          Start serial communications
 205          --------------------------------------------------------------------*/
 206          void Comm_On(void)
 207          {
 208   1              
 209   1              
 210   1       ES1=1;     //Enable interrupt
 211   1              //       LED1=0;
 212   1      }
 213          
 214          /*--------------------------------------------------------------------
 215          Shutdown serial communications
 216          --------------------------------------------------------------------*/
 217          void Comm_Off(void)
 218          {
 219   1              
 220   1      
 221   1         ES1=0;    //Disable interrupt    
 222   1      }
 223          
 224          
 225          
 226          /*--------------------------------------------------------------------
 227          This routine sets the serial baud rate; will accept funny baud rates.
 228          Setting the speed requires .       
 229          
 230          Input:   <bd> : New baud rate 
 231          --------------------------------------------------------------------*/
 232          /*void  SetSpeed(long bd)
 233          {
 234                  unsigned char c;
 235                  
 236                  c=256-CLOCK/(64L*bd);
 237                  TH1 = c;
 238          }*/
 239          
 240          /*-------------------------------------------------------------------------
C51 COMPILER V7.05   SERIAL                                                                07/08/2005 11:42:14 PAGE 5   

 241          Output a single character to the serial port
 242          
 243          -------------------------------------------------------------------------*
 244          void PutChar(unsigned char idata c)
 245          {
 246          
 247                  SBUF=c; 
 248                  while (!TI );
 249                  TI=0;
 250          }
 251          
 252          /*-------------------------------------------------------------------------
 253          Output a single character to the serial port
 254          -------------------------------------------------------------------------*/
 255          void PutChar1(char c)
 256          {
 257   1         // R485=1;
 258   1              SBUF1=c;
 259   1          while (!TI_1);
 260   1          TI_1=0;
 261   1      }
 262          //***************************************************************
 263          
 264          
 265          
 266          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    108    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     48    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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