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

📄 main.lst

📁 单片机红外通信程序
💻 LST
字号:
C51 COMPILER V6.23a  MAIN                                                                  04/21/2007 22:23:30 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: e:\mcs51\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

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

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


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 + -