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

📄 main.lst

📁 ps/2鼠标和键盘的协议
💻 LST
字号:
C51 COMPILER V7.00  MAIN                                                                   11/28/2007 08:39:31 PAGE 1   


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

stmt level    source

   1          #include <Reg51.h>
   2          #include <stdio.h>
   3          
   4          
   5          sbit Data = P0^0;
   6          unsigned char data start;
   7          unsigned char data databuff;
   8          unsigned char data result;
   9          
  10          void main(void)
  11          {
  12   1        /***************************
  13   1      
  14   1            串行通讯的波特率根据实际应用再修改
  15   1      
  16   1      *********************************/
  17   1        PCON = 0x80;        //SMOD = 1
  18   1        SCON = 0x50;        //串口通讯采用方式1  
  19   1        TMOD = 0x20;        //T1采用方式2
  20   1        TL1 = 0xfd;
  21   1        TH1 = 0xfd;         //T1装初值
  22   1        ES = 1;             //开串口中断
  23   1        ET1 = 1;            //开T1中断
  24   1        IT0 = 1;            //中断0负边沿触发
  25   1        EX0 = 1;            //开外部中断0
  26   1        EA = 1;             //开所有中断
  27   1        TR1 = 1;            //T1开始计时
  28   1        start = 0xff;
  29   1        databuff = 0;
  30   1       // for(;;);
  31   1      }
  32          
  33          void interrupter_0(void) interrupt 0 using 1
  34          {
  35   1        if( start == 0xff )       
  36   1        {
  37   2          if(Data == 0)          //开始接受起始位
  38   2              {
  39   3                start = 0;
  40   3                databuff = 0;
  41   3              }
  42   2        }
  43   1        else
  44   1        {
  45   2          if(start < 0x08)       //接受数据位
  46   2              {
  47   3                if( Data == 1)
  48   3                  databuff += (1 << start);
  49   3              }
  50   2              else if( start == 0x08)   //接受校验位
  51   2              {
  52   3               
  53   3              }
  54   2              else                     //接受停止位
  55   2              {
C51 COMPILER V7.00  MAIN                                                                   11/28/2007 08:39:31 PAGE 2   

  56   3                start = 0xff;
  57   3                if( Data == 1)
  58   3                {
  59   4                  result = databuff;
  60   4                      SBUF = result;      //向上位机发送数据
  61   4                }
  62   3                else
  63   3                  result = 0xff;
  64   3              }
  65   2              start ++;
  66   2        }
  67   1      }
  68          
  69          void serial(void) interrupt 4 using 2
  70          {
  71   1        if( TI == 1 )
  72   1          TI = 0;
  73   1        if( RI == 1 )
  74   1          RI = 0;
  75   1      }
  76          
  77                    
  78                    
  79                    
  80          
  81          
  82          


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