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

📄 main.lst

📁 这是基于C51单片机的无线红外接受和发送程序
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  10/24/2006 12:59:48 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          程序名称:红外接收(从红外接收模块输入数据,并在LCD上显示)
   3          硬件接法:红外接收模块的输出通过跳线JP7接到RXD管脚
   4          运行效果:收到数据后立即显示出来,按RST键清除显示
   5          *******************************************************************************/
   6          
   7          
   8          #include "LCD.h"
   9          #include "stdio.h"
  10          
  11          
  12          #define MCLK            11059200L
  13          #define BAUD_RATE       1200L
  14          
  15          
  16          void UartInit()
  17          {
  18   1      //串行口设置:8位UART,允许接收,TI置位
  19   1              SCON = 0x52;
  20   1      //波特率加倍
  21   1              PCON |= 0x80;
  22   1      //设置定时器T1为8位自动重装模式
  23   1              TMOD &= 0x0F;
  24   1              TMOD |= 0x20;
  25   1      //设置定时器T1的初值
  26   1              TH1 = 256 - ( MCLK / 12 ) / (16 * BAUD_RATE );
  27   1              TL1 = TH1;
  28   1      //启动定时器T1
  29   1              TR1 = 1;
  30   1      }
  31          
  32          
  33          /*******************************************************************************
  34          函数:Delay()
  35          功能:延时0.01s~2.56s
  36          参数:t>0时,延时(t*0.01)s
  37                t=0时,延时2.56s
  38          说明:定时10ms的定时器初值=65536-0.01/(1/(f/12)),其中f为晶振频率
  39          *******************************************************************************/
  40          void Delay(unsigned char t)
  41          {
  42   1              do
  43   1              {
  44   2                      TH0 = 0xDC;                     //设置定时器初值(定时10ms)
  45   2                      TL0 = 0x00;
  46   2                      TR0 = 1;                        //启动定时器
  47   2                      while ( !TF0 );         //等待定时器溢出
  48   2                      TR0 = 0;                        //停止定时器
  49   2                      TF0 = 0;                        //清除溢出标志
  50   2              } while ( --t != 0 );   //循环t次
  51   1      }
  52          
  53          
  54          //系统初始化
  55          void SysInit()
C51 COMPILER V7.06   MAIN                                                                  10/24/2006 12:59:48 PAGE 2   

  56          {
  57   1              UartInit();
  58   1              TMOD &= 0xF0;   //T0设置在方式1,16位定时器,且不影响T1的设置
  59   1              TMOD |= 0x01;
  60   1              Delay(30);
  61   1              LcdInit();
  62   1      }
  63          
  64          
  65          void main()
  66          {
  67   1              unsigned char c;
  68   1              SysInit();
  69   1              for (;;)        //接收数据并显示,按RST键可清除显示
  70   1              {
  71   2                      c = _getkey();  //_getkey()为库函数,能够以查询方式接收1个字符
  72   2                      if ( c < 128 ) LcdPutchar(c);
  73   2              }
  74   1      }
  75          


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