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

📄 per.lst

📁 嵌入式键盘
💻 LST
字号:
C51 COMPILER V7.50   PER                                                                   02/06/2009 10:34:28 PAGE 1   


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

line level    source

   1          #include <at89s52.h>
   2          #include <stdio.h>
   3          #include <intrins.h>
   4          #include<per.h>
   5          extern unsigned char MSA[3][4];
   6          /*
   7          void DelayTime(uchar T)
   8          {
   9            uchar i;
  10            for(i=T;i>0;i--);
  11          }*/
  12          void WDT(void)
  13          {
  14   1        WDT_CONTR=0x3C;
  15   1      }
  16          void Project_Int(void)
  17          {
  18   1        TMOD=0X21;
  19   1      //  SCON=0Xf0;//串口工作在方式三,SM2=1,REN=1,处于接收状态
  20   1        PCON=0X80;
  21   1        TL0=T0_L; 
  22   1        TH0=T0_H;
  23   1      //  TL1=T1_L;//
  24   1       // TH1=T1_H;
  25   1        IP=0x10;//Uart has the highest interrupt priority
  26   1        TR0=1;
  27   1      //  TR1=1;
  28   1        ET0=1;
  29   1      //  ES=1;
  30   1        WDT();
  31   1        EA=1;
  32   1      }
  33          void SendBit(bit b)
  34          {
  35   1        uchar i;
  36   1        Dat_SP2=b;
  37   1        for(i=9;i>0;i--);//20us
  38   1        Clk_SP2=0;
  39   1        for(i=18;i>0;i--);//40us
  40   1        Clk_SP2=1;
  41   1        for(i=9;i>0;i--);//20us
  42   1      }
  43          //================
  44          //if send success,return 0;if inhibit by host,return 0xfe;if interrupt by host,return 0xff;
  45          //================
  46          /*
  47          uchar SendByte(uchar dat)
  48          {
  49            uchar temp,i,sum;
  50            bit s;
  51            sum=0;
  52            temp=dat;
  53            if(Clk_SP2)
  54              {
  55                for(i=23;i>0;i--);//50us
C51 COMPILER V7.50   PER                                                                   02/06/2009 10:34:28 PAGE 2   

  56                if(Clk_SP2)
  57                  {
  58                    if(Dat_SP2)
  59                      {
  60                        for(i=9;i>0;i--);//20us
  61                        SendBit(0);//start bit
  62                        for(i=0;i<8;i++)
  63                          {
  64                            s=temp&0x01;
  65                            sum+=(uchar)s;
  66                            temp>>=1;
  67                            SendBit(s);//8 data bit
  68                          }
  69                        sum+=1;
  70                        s=sum&0x01;
  71                        SendBit(s);//parity bit
  72                        SendBit(1);//stop bit
  73                        for(i=14;i>0;i--);//30us
  74                        return 0;//send success
  75                      }
  76                    else
  77                        return 0xff;//send lose
  78                  }
  79                else
  80                    return 0xff;//send lose
  81              }
  82            else
  83                return 0xff;//send lose
  84          }*/
  85          
  86          uchar SendByte(uchar dat)
  87          {
  88   1        uchar temp,i,sum;
  89   1        bit s;
  90   1        sum=0;
  91   1        temp=dat;
  92   1        Clk_SP2 = 1;
  93   1        Dat_SP2 = 1;
  94   1        if(Clk_SP2)
  95   1          {
  96   2            for(i=23;i>0;i--);//50us
  97   2            if(Clk_SP2)
  98   2              {
  99   3                if(Dat_SP2)
 100   3                  {
 101   4                    for(i=9;i>0;i--);//20us
 102   4                    SendBit(0);//start bit
 103   4                    if(!Clk_SP2)
 104   4                       return 0xfe;
 105   4                    for(i=0;i<8;i++)
 106   4                      {
 107   5                        s=temp&0x01;
 108   5                        sum+=(uchar)s;
 109   5                        temp>>=1;
 110   5                        SendBit(s);//8 data bit
 111   5                        if(!Clk_SP2)
 112   5                           return 0xfe;
 113   5                      }
 114   4                    sum+=1;
 115   4                    s=sum&0x01;
 116   4                    SendBit(s);//parity bit
 117   4                    if(!Clk_SP2)
C51 COMPILER V7.50   PER                                                                   02/06/2009 10:34:28 PAGE 3   

 118   4                       return 0xfe;
 119   4                    SendBit(1);//stop bit
 120   4                    for(i=14;i>0;i--);//30us
 121   4                    return 0;//send success
 122   4                  }
 123   3                else
 124   3                    return 0xff;//send lose
 125   3              }
 126   2            else
 127   2                return 0xff;//send lose
 128   2          }
 129   1        else
 130   1            return 0xff;//send lose
 131   1      }
 132          /*
 133          uchar SendCode(uchar *px)
 134          {
 135            uchar sendnumtemp;
 136            uchar *p1;
 137            p1=px;
 138            while((*p1)!=0)
 139              {
 140                if(!SendByte(*p1))
 141                 {
 142                   p1++;
 143                   sendnumtemp++;
 144                 }
 145                else
 146                   return sendnumtemp;
 147              }
 148            return sendnumtemp;
 149          }
 150          
 151          void SendMakeCode(uchar num,uchar *p)
 152          {
 153            uchar i;
 154            bit  b;
 155            for(i=num;i>0;i--)
 156              {
 157                b=SendByte(*p);
 158                if(b)
 159                  p++;
 160                else
 161                  i++;
 162              } 
 163          }
 164          void SendbreakCode(uchar num,uchar *p)
 165          {
 166            uchar i;
 167            bit  b;
 168            do
 169               b=SendByte(0xf0);
 170            while(!b);
 171            for(i=num;i>0;i--)
 172              {
 173                b=SendByte(*p);
 174                if(b)
 175                  p++;
 176                else
 177                  i++;
 178              } 
 179          
C51 COMPILER V7.50   PER                                                                   02/06/2009 10:34:28 PAGE 4   

 180          }
 181          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    158    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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