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

📄 main.lst

📁 C51红外收发
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  10/24/2006 12:39:27 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*******************************************************************************
   2          程序名称:使用printf()函数从串行口发送数据
   3          硬件接法:RXD和TXD通过RS-232电平转换电路接到电脑的串行口上
   4          运行效果:每隔1秒向串行口发送字符串Hello world!
   5          说明:串行口初始化代码在启动文件"STARTUP.A51"里
   6          *******************************************************************************/
   7          
   8          
   9          #include <reg51.h>
  10          #include <stdio.h>
  11          
  12          
  13          //定义I/O
  14          sbit CarryPin = P1^0;
  15          
  16          
  17          //T0中断函数,产生38kHz载波信号
  18          void T0_ISR() interrupt 1
  19          {
  20   1              CarryPin = !CarryPin;
  21   1      }
  22          
  23          
  24          //T0初始化
  25          void T0_Init()
  26          {
  27   1              TMOD &= 0xF0;   //T0设置在方式2,即8位自动重装定时器(不改变T1的模式)
  28   1              TMOD |= 0x02;
  29   1              TH0 = TL0 = 0xF4;
  30   1              ET0 = 1;
  31   1              EA = 1;
  32   1              TR0 = 1;
  33   1      }
  34          
  35          
  36          #define MCLK            11059200L
  37          #define BAUD_RATE       1200L
  38          
  39          
  40          void UartInit()
  41          {
  42   1      //串行口设置:8位UART,允许接收,TI置位
  43   1              SCON = 0x52;
  44   1      //波特率加倍
  45   1              PCON |= 0x80;
  46   1      //设置定时器T1为8位自动重装模式
  47   1              TMOD &= 0x0F;
  48   1              TMOD |= 0x20;
  49   1      //设置定时器T1的初值
  50   1              TH1 = 256 - ( MCLK / 12 ) / (16 * BAUD_RATE );
  51   1              TL1 = TH1;
  52   1      //启动定时器T1
  53   1              TR1 = 1;
  54   1      }
  55          
C51 COMPILER V7.06   MAIN                                                                  10/24/2006 12:39:27 PAGE 2   

  56          
  57          //主函数
  58          void main()
  59          {
  60   1              UartInit();
  61   1              T0_Init();
  62   1              printf("Hello world!\r\n");             //输出字符串
  63   1              IE = 0;
  64   1              for (;;);       //停机(按RST键再次发送)
  65   1      }
  66          


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