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

📄 temmain.lst

📁 51单片机实验例程
💻 LST
字号:
C51 COMPILER V7.10   TEMMAIN                                                               07/29/2010 11:37:59 PAGE 1   


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

line level    source

   1           /*******************************************************************************
   2          *  标题:                  试验数码管上显示温度                                  *
   3          *                                                                                                                                                           *
   4          *********************************************************************************
   5          *  1.通过本例程了解 DLASS18b20的基本原理和使用 ,理解并掌握18B20驱动程序的编写   *
   6          *  2.了解掌握I2C总线接口的工作原理及一般编程方法。                                                              *
   7          *    插上18B20 观察数码管的实际温度显示
   8          *    用排线将JP10(P0口) 与 J12 连接     在数码管上可以看温度显示                                        *
   9          *                                                                                                                                                               *
  10          * 注意:18B20程序只能在12T模式下工作 6T模式自己修改相应时序                     *
  11          * 请学员认真消化本例程,懂DLASS18b20在C语言中的操作                                 *
  12          ********************************************************************************/
  13          #include <reg52.H>
  14          
  15          extern GetTemp();                                                                          //声明引用外部函数
  16          extern unsigned int  idata Temperature;               // 声明引用外部变量
  17          void delay(unsigned int i);
  18          
  19          //else IO
  20          sbit    LS138A=P2^2;       //管脚定义
  21          sbit    LS138B=P2^3;
  22          sbit    LS138C=P2^4; 
  23          
  24          
  25          //此表为 LED 的字模, 共阴数码管 0-9  - 
  26          unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; 
  27          unsigned long  LedOut[5],LedNumVal;
  28          
  29          
  30          void system_Ini()
  31          {
  32   1          TMOD|= 0x11;
  33   1          TH1=0xDC; //11.0592M
  34   1          TL1=0x00;   
  35   1              IE = 0x8A;      
  36   1          TR1  = 1;
  37   1      
  38   1      }
  39          
  40          main()
  41          { unsigned char i; 
  42   1        system_Ini();
  43   1          while(1)
  44   1         {    
  45   2                GetTemp();
  46   2      
  47   2                /********以下将读18b20的数据送到LED数码管显示*************/
  48   2             LedNumVal=Temperature;      //把实际温度送到LedNumVal变量中
  49   2                LedOut[0]=Disp_Tab[LedNumVal%10000/1000];
  50   2            LedOut[1]=Disp_Tab[LedNumVal%1000/100];
  51   2            LedOut[2]=Disp_Tab[LedNumVal%100/10];      //十位
  52   2            LedOut[3]=Disp_Tab[LedNumVal%10];    //个位
  53   2                
  54   2          for(i=0; i<4; i++) 
  55   2                {             
C51 COMPILER V7.10   TEMMAIN                                                               07/29/2010 11:37:59 PAGE 2   

  56   3                       P0 = LedOut[i] ;
  57   3                                                              
  58   3                      switch(i)                                         
  59   3               {                //138译码
  60   4                              case 0:LS138A=0; LS138B=0; LS138C=0; break;         
  61   4                  case 1:LS138A=1; LS138B=0; LS138C=0; break;                 
  62   4                  case 2:LS138A=0; LS138B=1; LS138C=0; break; 
  63   4                  case 3:LS138A=1; LS138B=1; LS138C=0; break; 
  64   4               }
  65   3                       
  66   3                      delay(150);
  67   3                }
  68   2      
  69   2                P0 = 0;  
  70   2        
  71   2          }
  72   1      }
  73          
  74           //延时程序
  75          void delay(unsigned int i)
  76          {
  77   1          char j;
  78   1          for(i; i > 0; i--)
  79   1              for(j = 200; j > 0; j--);
  80   1      }
  81          
  82          
  83          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    344    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     24       1
   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 + -