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

📄 main.lst

📁 多功能电子数字钟的设计 带语音报时功能 比赛做的
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  06/05/2008 23:42:40 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CH\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJECT(main.obj)

line level    source

   1          #include"includes.h"
   2          unsigned char ucCurtime[7];
   3          unsigned char date[21];
   4          unsigned char time[14];
   5          void temp_view(unsigned char *ddate);
   6          void dealdata(void)
   7          { 
   8   1        unsigned char y1,y2,w2,m1,m2,d1,d2,h1,h2,min1,min2,s1,s2;
   9   1        
  10   1        y1=ucCurtime[6]&0xf0;
  11   1        y1=y1>>4;
  12   1        y2=ucCurtime[6]&0x0f;
  13   1        w2=ucCurtime[5]&0x0f;
  14   1        m1=ucCurtime[4]&0xf0;
  15   1        m1=m1>>4;
  16   1        m2=ucCurtime[4]&0x0f;
  17   1        d1=ucCurtime[3]&0xf0;
  18   1        d1=d1>>4;
  19   1        d2=ucCurtime[3]&0x0f;
  20   1        h1=ucCurtime[2]&0xf0;
  21   1        h1=h1>>4;
  22   1        h2=ucCurtime[2]&0x0f;
  23   1        min1=ucCurtime[1]&0xf0;
  24   1        min1=min1>>4;
  25   1        min2=ucCurtime[1]&0x0f;
  26   1        s1=ucCurtime[0]&0xf0;
  27   1        s1=s1>>4;
  28   1        s2=ucCurtime[0]&0x0f;
  29   1      
  30   1        date[0]='2';
  31   1        date[1]='0';
  32   1        date[2]=y1+'0';
  33   1        date[3]=y2+'0';
  34   1        date[4]='-';
  35   1        date[5]=m1+'0';
  36   1        date[6]=m2+'0';
  37   1        date[7]='-';
  38   1        date[8]=d1+'0';
  39   1        date[9]=d2+'0';
  40   1        date[10]=' ';
  41   1        switch(w2)
  42   1        {
  43   2        case 1 :{date[11]='M';date[12]='O';date[13]='N';}break;
  44   2        case 2 :{date[11]='T';date[12]='U';date[13]='S';}break;
  45   2        case 3 :{date[11]='W';date[12]='E';date[13]='N';}break;
  46   2        case 4 :{date[11]='T';date[12]='U';date[13]='S';}break;
  47   2        case 5 :{date[11]='F';date[12]='R';date[13]='I';}break;
  48   2        case 6 :{date[11]='S';date[12]='A';date[13]='T';}break;
  49   2        case 7 :{date[11]='S';date[12]='U';date[13]='N';}break;
  50   2        default :  {} break;
  51   2        }
  52   1        date[14]='\0';
  53   1      
  54   1        time[0]='T';
  55   1        time[1]='I';
C51 COMPILER V7.50   MAIN                                                                  06/05/2008 23:42:40 PAGE 2   

  56   1        time[2]='M';
  57   1        time[3]='E';
  58   1        time[4]=' ';
  59   1        time[5]=h1+'0';
  60   1        time[6]=h2+'0';
  61   1        time[7]=':';
  62   1        time[8]=min1+'0';
  63   1        time[9]=min2+'0';
  64   1        time[10]=':';
  65   1        time[11]=s1+'0';
  66   1        time[12]=s2+'0';
  67   1        time[13]=' ';
  68   1        time[14]='\0';
  69   1      }
  70          
  71          
  72          void main()
  73          {
  74   1      unsigned char pClock[]={0,0,0,0,0,0,0};
  75   1      unsigned char flag1,flag2;
  76   1      unsigned char datTm[2];
  77   1      
  78   1      LCMInit();
  79   1      ds1302_init();
  80   1      DS18B20_Init();
  81   1      
  82   1      while(1)
  83   1      {
  84   2      bit mode;
  85   2      Read_onetemp(datTm);
  86   2      temp_view(datTm);
  87   2      display_lcm(0xa0,0x84);
  88   2      display_lcm(0x43,0x85);
  89   2      if(mode)
  90   2      {diaplay_string(0xc0,date);
  91   3      flag1++;
  92   3      if(flag1==10)
  93   3      {mode=0;
  94   4      flag1=0;}
  95   3      }
  96   2      else
  97   2      {diaplay_string(0xc0,time);
  98   3      flag2++;
  99   3      if(flag2==10)
 100   3      {flag2=0;
 101   4      mode=1;}}
 102   2      Get1302(ucCurtime);
 103   2      dealdata();
 104   2      Delay_Xms(105);
 105   2      keyscan();
 106   2      }
 107   1      }
 108          /***************显示温度************/
 109          void temp_view(unsigned char *ddate)  
 110           {
 111   1         unsigned int  temp1=0,temp0=0,a,b,c;
 112   1         if(ddate[0]==0xFF&&ddate[1]==0xFF){ ddate[0]=0;ddate[1]=0;}
 113   1                                                                      //正温度处理
 114   1         temp1= ((ddate[1]&0x0F)<<4)+((ddate[0]&0xF0)>>4);
 115   1         temp0=(ddate[0]&0x0F)*625;
 116   1                        
 117   1          
C51 COMPILER V7.50   MAIN                                                                  06/05/2008 23:42:40 PAGE 3   

 118   1          a=(temp1%1000)/100;
 119   1            display_lcm(a+'0',0x81);
 120   1          b=(temp1%100)/10;
 121   1            display_lcm(b+'0',0x82);
 122   1          c=(temp1%10)/1;
 123   1            display_lcm(c+'0',0x83); 
 124   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    598    ----
   CONSTANT SIZE    =      7    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     42      19
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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