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

📄 comtest.lst

📁 用C8051F020实现的串口通信程序
💻 LST
字号:
C51 COMPILER V7.50   COMTEST                                                               01/06/2008 13:25:01 PAGE 1   


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

line level    source

   1          //*************************************************************
   2          //*           The RS232 program(C)version 1.0                 *
   3          //*              By Li Huailiang 2007.10.12                   *
   4          //*************************************************************
   5          #pragma  REGPARMS
   6          #include<c8051f020.h>
   7          #include<intrins.h>
   8          #include<absacc.h>
   9          #include<math.h>
  10          #include<stdio.h>
  11          #include<stdlib.h>
  12          
  13          #define uchar unsigned char
  14          #define uint unsigned int
  15          //--------------------------------------------------------------
  16          uchar data asab[]={"this is Li \n"};
  17          //uchar xdata RESULT[300];
  18          //--------------------------------------------------------------
  19          #define BAUDRATE     9600              // Baud rate of UART in bps
  20          #define SYSCLK       11059200          // SYSCLK frequency in Hz
  21          //--------------------------------------------------------------
  22          void Oscillator_Init()
  23          {
  24   1          int i = 0;
  25   1          OSCXCN    = 0x67;
  26   1          for (i = 0; i < 3000; i++);  // Wait 1ms for initialization
  27   1          while ((OSCXCN & 0x80) == 0);
  28   1          OSCICN    = 0x0C;
  29   1      }
  30          
  31          //--------------------------------------------------------------
  32          
  33          void PORT_Init (void)
  34          {
  35   1              XBR0    = 0x07;  //Enable UART0      P0.0=TXD0      P0.1=RXD0
  36   1                           //Enable SPI        P0.2=SCK       P0.3=MISO                                       
  37   1              XBR1    = 0x00;                                        
  38   1              XBR2    = 0x44;  
  39   1                                              
  40   1              P0MDOUT |= 0xFD;                        
  41   1          P1MDOUT |= 0x40; 
  42   1          P1MDIN=0xFF;
  43   1          EMI0CF=0x3B;             
  44   1      
  45   1      
  46   1      }
  47          //--------------------------------------------------------------
  48          void WDT()
  49          {
  50   1                 EA=0;
  51   1                 WDTCN = 0xde;        // disable watchdog timer
  52   1                 WDTCN = 0xad;
  53   1                 EA=1;
  54   1      }
  55          //-----------------------------------------------------------------------------
C51 COMPILER V7.50   COMTEST                                                               01/06/2008 13:25:01 PAGE 2   

  56          // Configure the UART0 using Timer1, for <baudrate> and 8-N-1.
  57          
  58          void UART0_Init (void)
  59          {
  60   1          SCON0 = 0x50;             //选择串口方式1,波特率9600bps
  61   1          TMOD = 0x20; 
  62   1          TH1 = 256-(SYSCLK/BAUDRATE/384); 
  63   1          CKCON |= 0x00;                      // Timer1 uses SYSCLK as time base
  64   1          PCON  |= 0x00;                      // SMOD00 = 1
  65   1              //TH1 = 0xFD;
  66   1              //TL1 = 0xFD;
  67   1          EA=1;
  68   1          ES0=1;                //UART0中断开启
  69   1          TR1=1; 
  70   1      }
  71          //-------------------------------------------------------------------------
  72          
  73          void main()
  74                   {
  75   1                 uchar data i;
  76   1                 WDT();
  77   1                 Oscillator_Init();
  78   1             PORT_Init();
  79   1             UART0_Init();
  80   1             for(i=0;i<15;i++)
  81   1                 {
  82   2                  ES0=0;
  83   2                      SBUF0=asab[i];
  84   2              while(!TI0);        
  85   2              TI0=0;
  86   2                 }
  87   1           while(1);
  88   1      }
  89          


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