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

📄 1602.lst

📁 DS18B20温度传感器和1602详细源代码和这PROTUES彷真
💻 LST
字号:
C51 COMPILER V8.05a   1602                                                                 03/27/2009 14:27:42 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE 1602
OBJECT MODULE PLACED IN 1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1602.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #include<1820.h>
   3          #include<intrins.h>
   4          
   5          #define uchar unsigned  char
   6          #define uint  unsigned  int
   7          #define sint   signed  int
   8          
   9          sbit Rs  = P2^5;
  10          sbit Rw  = P2^6;
  11          sbit En  = P2^7;
  12          sfr  DBPort  = 0xb0;  //P3数据端口
  13          
  14          
  15          void delay(uchar z)
  16          {
  17   1              uchar x,y;
  18   1              for(x=z;x>0;x--)
  19   1                      for(y=110;y>0;y--);
  20   1      }
  21          
  22          
  23          //向LCD写入命令或数据************************************************************
  24          
  25          
  26          void  write(bit style, uchar input)
  27          {
  28   1      
  29   1       Rs=style;
  30   1       DBPort=input;
  31   1       delay(4); 
  32   1       En=1;  //注意顺序
  33   1       delay(4);
  34   1       En=0;   
  35   1      }
  36          
  37          
  38          //初始化LCD************************************************************
  39          void start1602()
  40          {
  41   1       Rw=0;
  42   1       En=0;
  43   1       //DBPort=0xff;
  44   1       //delay(4);
  45   1      write(0,0x01);                            //8位数据端口,2行显示,5*7点阵
  46   1      write(0,0x02);
  47   1      write(0,0x06);
  48   1      write(0,0x0c);
  49   1      write(0,0x3C);   //?
  50   1      
  51   1      }
  52          
  53          //************************************************************************
  54          void goto_xy(uchar x, uchar  y)
  55          {
C51 COMPILER V8.05a   1602                                                                 03/27/2009 14:27:42 PAGE 2   

  56   1       if(y==0)
  57   1        write(0,0x80|x);
  58   1       if(y==1)
  59   1        write(0,0x80|(x-0x40)); //?
  60   1      }
  61          
  62          
  63          void printf(uchar *str)
  64          {
  65   1       while(*str!='\0')
  66   1       {
  67   2        write(1,*str);
  68   2        str++;
  69   2       }
  70   1      }
  71          
  72          void  printd (sint  x)
  73          {    sint y[10];
  74   1           uchar  i=0,j;
  75   1      
  76   1          if(x<0)
  77   1          {
  78   2            write(1,0x2d);
  79   2            
  80   2            x=-x;
  81   2          } 
  82   1      
  83   1      
  84   1           y[0]=x%10;
  85   1           while(x/10!=0)
  86   1           {   i++;
  87   2               x=x/10;
  88   2               y[i]=x%10 ;
  89   2               
  90   2           }
  91   1           j=i+1;
  92   1           for(j;j>0;i--,j--)
  93   1           {
  94   2              write(1,y[i]+48) ;
  95   2           }
  96   1      }
  97           
  98          void  main()
  99          {
 100   1          sint tmp,u=0;
 101   1          uchar i,j;
 102   1          start1602();
 103   1          tmp=gettemp(); 
 104   1          goto_xy(0,0);
 105   1          printf("Temperature :"); 
 106   1          
 107   1          
 108   1          goto_xy(0,1);
 109   1          printf("buffering.");
 110   1      
 111   1       for(i=6;i>0;i--)
 112   1       {
 113   2      
 114   2          for(j=20;j>0;j--)
 115   2         {
 116   3          delay(127);
 117   3         }
C51 COMPILER V8.05a   1602                                                                 03/27/2009 14:27:42 PAGE 3   

 118   2         printf(".");
 119   2       }
 120   1         
 121   1         
 122   1         while(1) 
 123   1        {
 124   2           for(i=200;i>0;i--)
 125   2         {
 126   3          delay(127);
 127   3         }
 128   2          tmp=gettemp();
 129   2          goto_xy(0,1);
 130   2          printf("                  ");
 131   2          goto_xy(10,1);
 132   2          printd(u++); 
 133   2          
 134   2          goto_xy(0,1);
 135   2          printf("  ");        
 136   2          printd(tmp);
 137   2          printf(" C");
 138   2      
 139   2        }
 140   1      }
 141          
 142          
 143          
 144          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    604    ----
   CONSTANT SIZE    =     52    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      27
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       3
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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