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

📄 main.lst

📁 本人开发的测量水的浊度的仪器
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  04/09/2005 13:15:56 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <stdio.h>
   2          #include "ds1302.h"
   3          #include "iic.h"
   4          #include "lcd.h"
   5          #include "system.h"
   6          #include "checktime.h"
   7          #include "checkmeasure.h"
   8          #include "measure.h"
   9          #include "ads1100.h"
  10          
  11          //idata uchar buf[120];
  12          code SystemParam SysParam = 
  13          {
  14                  0x30,//0 0 B 1 W/S M2 M1 M0
  15                  0x87,//WF 0 0 0 0 FX
  16                  0x07,//0 0 0 0 FY
  17                  0x27,//C/R
  18                  0x42,//TC/R
  19                  0xf0,//L/F
  20                  0x28,//APL
  21                  0x00,//APH
  22          };
  23          
  24          code DisplayParam DispParam = 
  25          {
  26                  0x00,//saddr1lo;
  27                  0x00,//saddr1hi;
  28                  0xf0,//sl1;
  29                  0x00,//saddr2lo;
  30                  0x40,//saddr2hi;
  31                  0xf0,//sl2;
  32                  0x00,//saddr3lo;
  33                  0x80,//saddr3hi;
  34                  0x00,//saddr4lo;
  35                  0x00//saddr4hi;
  36          };
  37          
  38          void initsystem()
  39          {
  40   1              TMOD = 0x21;
  41   1              TH1 = 0xe8;
  42   1              TH0 = 55535%256;
  43   1              TL0 = 55535/256;
  44   1              SCON = 0x50;
  45   1              TR0 = 1;
  46   1              TR1 = 1;
  47   1              ET0 = 1;
  48   1              EA = 1;
  49   1              TI = 1;
  50   1      }
  51          
  52          void idle()
  53          {
  54   1              clear(0x0000);
  55   1              clear(0x4000);
C51 COMPILER V7.06   MAIN                                                                  04/09/2005 13:15:56 PAGE 2   

  56   1              printstring32(0,6,6,"欢迎使用水专家");//
  57   1              printstring32(0,10,12,"系列浊度仪");//
  58   1              printstring16(0,28,24,"按1进入测量");//
  59   1              printstring16(0,28,26,"按2进入校验");//
  60   1              printstring16(0,28,28,"按3进入校时");//
  61   1      }
  62          
  63          void initclock()
  64          {
  65   1              writesecond(0x00);
  66   1              writeyear(0x05);
  67   1              writemonth(0x01);
  68   1              writedate(0x01);
  69   1              writehour(0x00);
  70   1              writeminute(0x00);
  71   1              writesecond(0x00);
  72   1      }
  73          
  74          unsigned char bcd2digit(unsigned char  tmp)
  75          {
  76   1              unsigned char hi,lo;
  77   1      
  78   1              hi = (tmp>>4)&0x0f;
  79   1              lo= tmp&0x0f;
  80   1      
  81   1              return (hi*10+lo);
  82   1      }
  83          
  84          void checkclock()
  85          {
  86   1              uchar tmp;
  87   1      
  88   1              tmp = readyear();
  89   1              if(bcd2digit(tmp) > 99) 
  90   1                      writeyear(0x05);
  91   1      
  92   1              tmp = readmonth();
  93   1              if(bcd2digit(tmp) > 12 || bcd2digit(tmp) == 0) 
  94   1                      writemonth(0x01);
  95   1      
  96   1              tmp = readdate();
  97   1              if(bcd2digit(tmp) > 31 || bcd2digit(tmp) == 0) 
  98   1                      writedate(0x01);
  99   1      
 100   1              tmp = readhour();
 101   1              if(bcd2digit(tmp) > 23) 
 102   1                      writehour(0x00);
 103   1      
 104   1              tmp = readminute();
 105   1              if(bcd2digit(tmp) > 59)
 106   1                      writeminute(0x00);
 107   1      
 108   1              tmp = readsecond();
 109   1              if(bcd2digit(tmp) > 59)
 110   1                      writesecond(0x00);
 111   1      }
 112          
 113          int main()
 114          {
 115   1              uchar key,refresh=1;
 116   1      
 117   1              delay(200);
C51 COMPILER V7.06   MAIN                                                                  04/09/2005 13:15:56 PAGE 3   

 118   1      
 119   1              initsystem();
 120   1              initds1302();
 121   1              initlcd();
 122   1      
 123   1              setdisplayon(0,0x04);
 124   1      
 125   1              clear(0x0000);
 126   1              clear(0x4000);
 127   1              
 128   1              readiic(0x20,&key);
 129   1              if(key != 0x55)
 130   1                      initclock();
 131   1      
 132   1              initdisplay(&SysParam);
 133   1              setdisplayparam(&DispParam);
 134   1              setcursorform(1,0x07,0x07);
 135   1      //      setoverlay(0x0f);
 136   1              setoverlay(0x0d);
 137   1              sethdot(0x00);
 138   1      //      setdisplayon(1,0x77);
 139   1              setdisplayon(1,0x04);
 140   1      
 141   1              checkclock();
 142   1      
 143   1              resetads1100();
 144   1              writeads1100(0x8c);
 145   1      
 146   1              while(1)
 147   1              {
 148   2                      idle();
 149   2                      
 150   2                      do
 151   2                      {
 152   3                              printtime();
 153   3                              key = readkey();
 154   3                              delay(100);
 155   3                      } while(key != KEY_1 && key != KEY_2 && key != KEY_3);
 156   2      
 157   2                      switch(key)
 158   2                      {
 159   3                      case KEY_1:
 160   3                              measure();
 161   3                      break;
 162   3                      case KEY_2:
 163   3                              checkmeasure();
 164   3                      break;
 165   3                      case KEY_3:
 166   3                              checktime();
 167   3                      break;
 168   3                      }
 169   2              }
 170   1      }
 171          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    529    ----
   CONSTANT SIZE    =     80    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       3
C51 COMPILER V7.06   MAIN                                                                  04/09/2005 13:15:56 PAGE 4   

   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 + -