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

📄 send.lst

📁 一个简单的串口程序。学校的作业了拉。!! !! !! !!1
💻 LST
字号:
C51 COMPILER V6.23a  SEND                                                                  04/15/2006 20:23:32 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE SEND
OBJECT MODULE PLACED IN send.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE send.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <at89x52.h>
   2          unsigned char a[]={0x3f,0x06,0x5b,0x4f,0x66 ,0x6d ,0x7d ,0x07 ,0x7f ,0x6f ,0x77 ,0x7c};
   3          unsigned char keyvalue;
   4                  void delay(unsigned char j) 
   5              {
   6   1                unsigned char m,k;
   7   1                for(m=0;m<j;m++)
   8   1                for(k=0;k<255;k++);
   9   1               }
  10            
  11          void Serialinit(void)
  12          {       
  13   1              TMOD = (TMOD & 0x0F) | 0x20;      //T1工作方式
  14   1              TH1 = -6;                        //波特率初始值 注意用倍频方式
  15   1              PCON |= 0x00;                    //SMOD = 1
  16   1              TR1 = 1;
  17   1              SCON = 0x40;    //REN = 1
  18   1              ES = 1;
  19   1              EA = 1; }
  20          void RS232_intr( void ) interrupt 4             //注意RI和TI任一位变为1都中断
  21          {
  22   1              
  23   1              if( TI == 1 ){  TI=0;SBUF=keyvalue; 
  24   2          while(TI==0);TI=0; }
  25   1      
  26   1      
  27   1      }
  28          /*void Key()
  29                  {
  30                   unsigned char x,y,key;
  31               
  32                    P2=0xf0;
  33                x=P2;
  34                x=x&0xf0;
  35                P2=0x0f;
  36                y=P2;
  37                y=y&0x0e;
  38                key=x|y;
  39                if(key==254) return;
  40               
  41                delay(1);
  42                    switch(key)
  43                     {
  44                      case 236: keyvalue=3; break;
  45                          case 234: keyvalue=2; break;
  46                          case 230: keyvalue=1; break;
  47          
  48                          case 220: keyvalue=6; break;
  49                          case 218: keyvalue=5; break;
  50                          case 214: keyvalue=4; break;
  51          
  52                          case 188: keyvalue=9; break;
  53                          case 186: keyvalue=8; break;
  54                          case 182: keyvalue=7; break;
  55          
C51 COMPILER V6.23a  SEND                                                                  04/15/2006 20:23:32 PAGE 2   

  56                          case 124: keyvalue=0; break;
  57                          case 122: keyvalue=11; break;
  58                          case 118: keyvalue=10; break;
  59                           }
  60                   P0=a[keyvalue];
  61                           TI=1;
  62                    
  63                  }*/
  64          
  65             unsigned char KeyDriver()
  66                  { unsigned char x,y,key;
  67   1                P2=0x0f;                              //低四位输入1,高四位输出0
  68   1                x=P2;
  69   1                
  70   1                //x=x&0x0f;                   //P2输入后,清高四位,作为X值
  71   1                P2=0xf0;                              //高四位输入1,低四位输出0
  72   1                
  73   1                y=P2;
  74   1            //y=y&0xf0;       //P2输入后移位到低四位,并清低四位,作为Y值
  75   1            key=x|y;
  76   1                key=key&0xfe;
  77   1                return key;
  78   1               }
  79          
  80                     unsigned char Key()
  81                  {
  82   1                unsigned char Keyok;
  83   1                Keyok=KeyDriver();
  84   1                if(Keyok==0xfe)
  85   1                  {//keyvalue=111;
  86   2                   return (keyvalue);
  87   2                      }
  88   1                 else
  89   1              {
  90   2               
  91   2                        
  92   2               switch(Keyok)
  93   2                   {
  94   3                    case 0x0ec: keyvalue=3; return(keyvalue);
  95   3                        case 0x0ea: keyvalue=2; return(keyvalue);
  96   3                        case 0x0e6: keyvalue=1; return(keyvalue);
  97   3                        case 220: keyvalue=6; return(keyvalue);
  98   3                        case 218: keyvalue=5; return(keyvalue);
  99   3                        case 0x0d6: keyvalue=4; return(keyvalue);
 100   3                        case 188: keyvalue=9; return(keyvalue);
 101   3                        case 186: keyvalue=8; return(keyvalue);
 102   3                        case 182: keyvalue=7; return(keyvalue);
 103   3                        case 124: keyvalue=11; return(keyvalue);
 104   3                        case 122: keyvalue=0; return(keyvalue);
 105   3                        case 118: keyvalue=10; return(keyvalue);
 106   3                       }
 107   2                        P0=a[keyvalue];
 108   2                       TI=1;
 109   2                 }      
 110   1               }
 111          
 112          void main( void )
 113          {
 114   1              Serialinit();
 115   1      
 116   1              while(1)
 117   1      { Key();
C51 COMPILER V6.23a  SEND                                                                  04/15/2006 20:23:32 PAGE 3   

 118   2      delay(25);}
 119   1      }


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