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

📄 text1.lst

📁 单片机快速入门原程序
💻 LST
字号:
C51 COMPILER V7.50   TEXT1                                                                 06/02/2006 17:20:55 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include<stdio.h>
   3          #define RX_PAN_UP 0x40 //串口命令字 上
   4          #define RX_PAN_DOWN 0x41 //串口命令字 下
   5          #define RX_PAN_LEFT 0x42 //串口命令字 左
   6          #define RX_PAN_RIGHT 0x43 //串口命令字 右
   7          #define uchar unsigned char
   8          #define uint unsigned int
   9          xdata uchar RxByte[4];  //定义数据缓冲区
  10          xdata uchar ReadIndex;  //缓冲区读指针
  11          xdata uchar WriteIndex; //缓冲区写指针
  12          Uart_Init();
  13          sbit P10=0x90;                          //P1.0位
  14          sbit P11=0x91;                          //P1.1位
  15          sbit P12=0x92;                          //P1.2位
  16          sbit P13=0x93;                          //P1.3位
  17          void Translate_RxByte(uchar RxByte);
  18                  //将命令字转化为控制信号
  19          bit Change_Flag;
  20          void Update_LED();
  21          main()
  22          {       uchar CurrentByte;
  23   1              Uart_Init();
  24   1              P0=0XFF;                //初始化输出为1
  25   1              P1=0X00;                 //初始化输出为0
  26   1              P2=0XFF;
  27   1              P3=0XFF;
  28   1              ReadIndex=0;    //读指针置0
  29   1              WriteIndex=0;   //写指针置0
  30   1              ES=1;           /* 串行口中断允许 */
  31   1              EA=1;           /* 全局中断允许 */
  32   1      for(;;)
  33   1              {
  34   2                      if(WriteIndex!=ReadIndex)
  35   2                      CurrentByte=RxByte[ReadIndex];
  36   2              
  37   2                      if(ReadIndex==2)
  38   2                      {
  39   3                      Translate_RxByte(CurrentByte);
  40   3                              //将命令字转化为控制信号
  41   3                      }
  42   2                      ReadIndex++;
  43   2                      if(ReadIndex>3) ReadIndex=0;
  44   2      
  45   2              }
  46   1      }
  47          void Translate_RxByte(uchar RxByte )
  48          
  49          { switch(RxByte)
  50   1              {       case RX_PAN_UP: P12=1;  //云台上转
  51   2                              break;
  52   2                      case RX_PAN_DOWN: P13=1;//云台下转
  53   2                              break;
  54   2      
  55   2                      case RX_PAN_LEFT: P10=1;//云台左转
C51 COMPILER V7.50   TEXT1                                                                 06/02/2006 17:20:55 PAGE 2   

  56   2                              break;
  57   2      
  58   2                      case RX_PAN_RIGHT: P11=1;//云台右转
  59   2                              break;
  60   2              default : P1=0x00;              //云台停止转动
  61   2                              break;
  62   2              }
  63   1      }
  64          Uart_Init()
  65                  {SCON = 0x52;    /* 设置串行口控制寄存器SCON*/
  66   1               TMOD = 0x21;    /* 12M时钟时波特率为2400  */
  67   1               TCON = 0x69;    /* TCON */
  68   1               TH1 =  0xf3;    /* TH1 */
  69   1              }
  70          void Serial_int() interrupt 4 using 0
  71          {                               //串行口中断
  72   1              if(RI==1)
  73   1                      {       RxByte[WriteIndex]=SBUF;
  74   2                              if(WriteIndex>3) WriteIndex=0;
  75   2                              WriteIndex++;
  76   2                              
  77   2                      }
  78   1      
  79   1              TI=0;   //清串行口中断标准位
  80   1              RI=0;
  81   1      }
  82          
  83          
  84          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    185    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      6    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -