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

📄 ultrasonic2.lst

📁 LCD液晶驱动程序代码
💻 LST
字号:
C51 COMPILER V7.50   ULTRASONIC2                                                           08/20/2005 19:32:59 PAGE 1   


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

line level    source

   1          #include<P89V51.H>
   2          #include<LCD.C>
   3          sbit P1_6 =P1^6;
   4          sbit P1_7 =P1^7;
   5          sbit P3_3 =P3^3;
   6          unsigned char a,b;
   7          unsigned int c;
   8          void DisplayInt(Uchar X,Uchar Y,Uint f);
   9          void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
  10          
  11          void Delay(unsigned char c,unsigned char d,unsigned char e)
  12          {
  13   1       unsigned char i,j,k;
  14   1       for(i=0;i<=c;i++)
  15   1       {
  16   2         for(j=0;j<=d;j++)
  17   2          for(k=0;k<=e;k++);
  18   2       }
  19   1      }
  20          
  21          void RigourTimer(unsigned char m)
  22              {   
  23   1              unsigned char i;
  24   1                      
  25   1              for(i=0;i<m;i++)
  26   1              {       
  27   2                          TMOD=0x00;
  28   2                      TH0=0xff30/256;
  29   2                      TL0=0xff30%256;
  30   2                              TR0=1;
  31   2                              EX1=1;
  32   2                  do{}
  33   2                              while(!TF0);
  34   2                      TF0=0;
  35   2              }
  36   1              TR0=0;
  37   1                      EX1=0;
  38   1          }
  39          
  40          void counter(void) interrupt 0  using 3 //测出往返时间
  41                  {
  42   1      
  43   1                      EX0=0;
  44   1                      P1_7=!P1_7;
  45   1                      
  46   1                      EA=1;
  47   1                      TR1=0;     
  48   1                      a=TL1;
  49   1                      b=TH1;
  50   1          }
  51          
  52          
  53          ////////////////////////////////////////////////////////////
  54          
  55          void timer1(void) interrupt 3 using 2
C51 COMPILER V7.50   ULTRASONIC2                                                           08/20/2005 19:32:59 PAGE 2   

  56                  {
  57   1                      
  58   1                TR1=0;        
  59   1      
  60   1              }
  61          
  62          /////////////////////////////////////////////////////////////
  63          
  64          main()
  65          {          
  66   1      
  67   1      
  68   1      
  69   1                  PSB=1;
  70   1              RST=0;
  71   1                  Delay(10,1,1);
  72   1                  RST=1;
  73   1              Delay(1,10,1);
  74   1              Delay(10,1,1);
  75   1              LCMInit();
  76   1              Delay(10,1,1);
  77   1                  EA=1;
  78   1                      EX0=0;
  79   1                      
  80   1              while(1)
  81   1              {
  82   2      
  83   2                  
  84   2                      //IE0=0;
  85   2                      EX0=0;
  86   2                      EA=1;
  87   2                  P1_6=1;
  88   2                      RigourTimer(2);          //P1.6控制超声波的发射,发射250us
  89   2                      P1_6=0;
  90   2                      RigourTimer(20);         //避开盲区,以检测回波
  91   2      
  92   2                      TMOD=0x10;                       
  93   2                  TH1=0;
  94   2                      TL1=0;
  95   2                      TR1=1;                           //开定时器
  96   2                                                              
  97   2                                                           //开外部中断1,关闭定时器1,测量回波返回时间
  98   2                  EA=1;
  99   2                      IT0=1;
 100   2                      EX0=1;
 101   2                      
 102   2                  //Delay(20,1,50);    //延时
 103   2      
 104   2              c=((unsigned int)b<<8)+a;
 105   2              DisplayInt(0,0,c);       //LCD输出定时器1寄存器的值
 106   2                      Delay(20,10,50);
 107   2                      WriteCommandLCM(0x02,1); //光标重新定位
 108   2              Delay(1,10,50);
 109   2                      }
 110   1      
 111   1      
 112   1      }
 113          
 114          
 115          
 116          

C51 COMPILER V7.50   ULTRASONIC2                                                           08/20/2005 19:32:59 PAGE 3   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    625    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6      11
   IDATA SIZE       =   ----      64
   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 + -