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

📄 第一方案for.lst

📁 一个超声测距程序
💻 LST
字号:
C51 COMPILER V8.02   第_环桨窮OR                                                           09/01/2007 04:22:21 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 第_环桨窮OR
OBJECT MODULE PLACED IN 第一方案for.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 第一方案for.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          #include<intrins.h>
   3          #define uint unsigned int
   4          #define uchar unsigned char
   5          
   6          sbit dula=P2^7;
   7          sbit wela=P2^6;    //数码管段,位定义
   8          sbit send=P1^0;    //发送端定义
   9          
  10          
  11          uchar code table[]={
  12          0x3f,0x06,0x5b,0x4f,
  13          0x66,0x6d,0x7d,0x07,
  14          0x7f,0x6f,0x77,0x7c,
  15          0x39,0x5e,0x79,0x71};     //段码数组
  16          
  17          
  18          uchar a1,a2,a3; //显示数组;
  19          uint count,b;
  20          
  21          
  22          
  23          void delay(uint a) //延时;
  24          {
  25   1       uint m;
  26   1       for(m=0;m<a;m++); 
  27   1      }
  28          
  29          void tx() //从P1.0发出40KHz的脉冲
  30          {
  31   1      uchar n,p;
  32   1      for(n=0;n<40;n++)
  33   1       {
  34   2      send=1;
  35   2      for(p=0;p<3;p++);
  36   2      send=0;
  37   2      for(p=0;p<2;p++);
  38   2      send=0;
  39   2       }
  40   1      }
  41          
  42           void display(uchar bai,uchar shi,uchar ge)       //显示子函数
  43          {
  44   1       for(;;)
  45   1       {
  46   2        dula=1;
  47   2        P0=table[bai];
  48   2        dula=0;
  49   2        wela=1;
  50   2        P0=0x0d;
  51   2        wela=0;
  52   2        delay(10);
  53   2      
  54   2        dula=1;
  55   2        P0=table[shi];
C51 COMPILER V8.02   第_环桨窮OR                                                           09/01/2007 04:22:21 PAGE 2   

  56   2        dula=0;
  57   2        wela=1;
  58   2        P0=0x0b;
  59   2        wela=0;
  60   2        delay(10);
  61   2      
  62   2        dula=1;
  63   2        P0=table[ge];
  64   2        dula=0;
  65   2        wela=1;
  66   2        P0=0x07;
  67   2        wela=0;
  68   2        delay(10);
  69   2       }
  70   1      }       
  71          
  72          
  73          void rx() interrupt 0  //外部中断0,接收信号并处理
  74          {
  75   1       TR0=0;
  76   1       count=TH0*256+TL0;
  77   1       if(count<55);
  78   1       if(count>=55)
  79   1       {
  80   2         b=(17*count)/1000;
  81   2         a1=b/100;
  82   2         a2=b%100/10;
  83   2         a3=b%100%10;
  84   2         display(a1,a2,a3);
  85   2       }
  86   1      }
  87          
  88          void over()interrupt 1 //T0溢出为无效测量,中断显示FFF;
  89          {
  90   1       a1=table[15];
  91   1       a2=table[15];
  92   1       a3=table[15];
  93   1       display(a1,a2,a3);
  94   1      }
  95          
  96          void main()              
  97          {
  98   1       send=0;                          
  99   1       delay(8600);             //发射延时 8.6ms?
 100   1       TH0=0;
 101   1       TL0=0;
 102   1       TMOD=0x01;              //对定时器0设初值,模式1的16位计数
 103   1       TR0=1;         //开启定时器0
 104   1       EA=1;
 105   1       ET0=1;
 106   1       PT0=1;            //开启定时器0中断并设为高优先级
 107   1       tx();              //调用发射子函数
 108   1       IT0=1;                   // 外部中断0用低电平触发方式
 109   1       IE=0x83;                  //设置中断控制,其中开启外部中断0
 110   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    372    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V8.02   第_环桨窮OR                                                           09/01/2007 04:22:21 PAGE 3   

   DATA SIZE        =      7    ----
   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 + -