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

📄 slave.lst

📁 传感器仿真资料
💻 LST
字号:
C51 COMPILER V8.05a   SLAVE                                                                09/20/2009 10:01:54 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE SLAVE
OBJECT MODULE PLACED IN slave.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE slave.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          
   3          sbit key0=P1^0;
   4          sbit key1=P1^1;
   5          sbit key2=P1^2;
   6          sbit key3=P1^3;
   7          
   8          unsigned char keyscan()   //键盘扫描函数
   9          {
  10   1        unsigned char keyscan_num,temp;
  11   1      
  12   1        P1=0xff;
  13   1        temp=P1;
  14   1        if(~(temp&0xff))
  15   1        {
  16   2          if(key0==0)
  17   2              {
  18   3                keyscan_num=0;
  19   3              }
  20   2              else if(key1==0)
  21   2              {
  22   3                keyscan_num=1;
  23   3              }
  24   2              else if(key2==0)
  25   2              {
  26   3                keyscan_num=2;
  27   3              }
  28   2              else if(key3==0)
  29   2              {
  30   3                keyscan_num=3;
  31   3              }
  32   2              else
  33   2              {
  34   3                keyscan_num=1;
  35   3              }
  36   2      
  37   2              return keyscan_num;
  38   2        }
  39   1      }
  40          
  41          void spi_init1200()//波特率1200
  42          {
  43   1        SCON=0x50;//8位异步收发,波特率可变,运行接收数据
  44   1        PCON=0x80;//波特率加倍
  45   1        TI=0;//软件清零,表示未发送完成
  46   1        EA=1;//开总中断
  47   1        ET1=1;//开T1
  48   1        TMOD=0x20;//8位自动装载模式
  49   1        TH1=0xe8;
  50   1        TL1=0xe8;
  51   1        TR1=1;//开启T1
  52   1      }
  53          
  54          void spi_init2400()//波特率2400
  55          {
C51 COMPILER V8.05a   SLAVE                                                                09/20/2009 10:01:54 PAGE 2   

  56   1        SCON=0x50;//8位异步收发,波特率可变,运行接收数据
  57   1        PCON=0x80;//波特率加倍
  58   1        TI=0;//软件清零,表示未发送完成
  59   1        EA=1;//开总中断
  60   1        ET1=1;//开T1
  61   1        TMOD=0x20;//8位自动装载模式
  62   1        TH1=0xf4;
  63   1        TL1=0xf4;
  64   1        TR1=1;//开启T1
  65   1      }
  66          
  67          void spi_init4800()//波特率4800
  68          {
  69   1        SCON=0x50;//8位异步收发,波特率可变,运行接收数据
  70   1        PCON=0x80;//波特率加倍
  71   1        TI=0;//软件清零,表示未发送完成
  72   1        EA=1;//开总中断
  73   1        ET1=1;//开T1
  74   1        TMOD=0x20;//8位自动装载模式
  75   1        TH1=0xfa;
  76   1        TL1=0xfa;
  77   1        TR1=1;//开启T1
  78   1      }
  79          
  80          void spi_init9600()//波特率9600
  81          {
  82   1        SCON=0x50;//8位异步收发,波特率可变,运行接收数据
  83   1        PCON=0x80;//波特率加倍
  84   1        TI=0;//软件清零,表示未发送完成
  85   1        EA=1;//开总中断
  86   1        ET1=1;//开T1
  87   1        TMOD=0x20;//8位自动装载模式
  88   1        TH1=0xfd;
  89   1        TL1=0xfd;
  90   1        TR1=1;//开启T1
  91   1      }
  92          
  93          void main()
  94          {
  95   1        unsigned char key_press;
  96   1      
  97   1        while(1)
  98   1        {
  99   2          key_press=keyscan();
 100   2              switch(key_press)
 101   2              {
 102   3                case 0:
 103   3                  spi_init1200();
 104   3                      break;
 105   3                case 1:
 106   3                  spi_init2400();
 107   3                      break;
 108   3                case 2:
 109   3                  spi_init4800();
 110   3                      break;
 111   3                case 3:
 112   3                  spi_init9600();
 113   3                      break;
 114   3                default:
 115   3                  break;
 116   3              }
 117   2              while(RI==0);
C51 COMPILER V8.05a   SLAVE                                                                09/20/2009 10:01:54 PAGE 3   

 118   2        }
 119   1      }
 120          
 121          void receive() interrupt 4
 122          {
 123   1         RI=0;
 124   1         P2=SBUF;
 125   1      }


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