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

📄 uart_040.lst

📁 c8051f040实验程序含CAN SMBUS IIC
💻 LST
字号:
C51 COMPILER V7.50   UART_040                                                              12/06/2006 11:05:33 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE UART_040
OBJECT MODULE PLACED IN uart_040.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe uart_040.c DB OE

line level    source

   1          #include "c8051F040.h"
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          
   5          void port_init();
   6          void os_init();
   7          void uart_init();
   8          void time_init();
   9          /*************************************************************************
  10          *
  11          *主函数
  12          **************************************************************************/
  13          void main()
  14          {
  15   1          uchar g;
  16   1              WDTCN = 0xDE;                                           // 关闭看门狗
  17   1              WDTCN = 0xAD;
  18   1              os_init();                                              //晶振初始化
  19   1              port_init();                                                                                    //端口初始化
  20   1              uart_init();
  21   1              time_init();
  22   1               SFRPAGE   = CONFIG_PAGE;
  23   1              IE        = 0x90;                                                                               //开中断
  24   1        
  25   1        
  26   1              while(1)
  27   1              {
  28   2                      SFRPAGE = UART0_PAGE;
  29   2                         
  30   2                         
  31   2                          g=SBUF0;
  32   2                      SFRPAGE = UART0_PAGE;
  33   2                       while(RI0==0); RI0=0;
  34   2              
  35   2                          {    
  36   3                      SFRPAGE = UART0_PAGE;
  37   3                              SBUF0=g;
  38   3      
  39   3                              while(TI0==0);
  40   3                              SFRPAGE = UART0_PAGE;
  41   3                              TI0=0;
  42   3              
  43   3                              }
  44   2              }
  45   1      
  46   1      
  47   1      }
  48          /*************************************************************************
  49          *
  50          *端口初始化函数
  51          **************************************************************************/
  52          void port_init()
  53          {
  54   1          SFRPAGE   = CONFIG_PAGE;
  55   1        
C51 COMPILER V7.50   UART_040                                                              12/06/2006 11:05:33 PAGE 2   

  56   1          XBR0      = 0x04;
  57   1          XBR2      = 0x40;
  58   1      
  59   1              P0MDOUT   = 0X10;
  60   1        
  61   1      }
  62          /*************************************************************************
  63          *
  64          *系统时钟初始化,选择外部晶体振荡器
  65          **************************************************************************/
  66          void os_init()
  67          {
  68   1          int i = 0;
  69   1          SFRPAGE   = CONFIG_PAGE;
  70   1          OSCXCN    = 0x67;                                                                   //外部22.1184M晶振
  71   1          for (i = 0; i < 3000; i++);                         //等待外部晶振稳定 
  72   1          while ((OSCXCN & 0x80) == 0);
  73   1          CLKSEL    = 0x01;                                                                   //系统时钟不分频
  74   1      
  75   1      }
  76          /*************************************************************************
  77          *
  78          *串口初始化,选择UART1
  79          **************************************************************************/
  80          void uart_init()
  81          {
  82   1          SFRPAGE   = UART0_PAGE;
  83   1          SCON0     = 0x50;                                                              //允许uart1
  84   1      
  85   1      }
  86          /*************************************************************************
  87          *
  88          *定时器初始化,作为UART0的波特率发生器
  89          *************************************************************************/
  90          void time_init()
  91          {
  92   1          SFRPAGE   = TIMER01_PAGE;
  93   1          TCON      = 0X40;
  94   1              TMOD      = 0x20;
  95   1          CKCON     = 0X10;
  96   1              TH1       = 0xb8;
  97   1              TR1=1;
  98   1      
  99   1      
 100   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    118    ----
   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 + -