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

📄 main.lst

📁 本资料为基于单片机89C55+LCD12864的万年历
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V8.05a   MAIN                                                                 10/26/2008 20:55:52 PAGE 1   


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

line level    source

   1          #include "reg51.h"
   2          #include "1302.h"
   3          #include "key.h"
   4          #include "12864.h"
   5          #include "ds18b20.h"
   6          #include "zifu.h"
   7          #include "gton.h"
   8          
   9          
  10          
  11          
  12          
  13          
  14          
  15          
  16          
  17          ////////////////////显示函数////////////////////////
  18          
  19          /*************
  20          节日显示
  21          monthg1,dayg1 为公历日期
  22          monthn1,dayn1为农历日期
  23          **************/
  24          void jieri(uchar monthg1,uchar dayg1,uchar monthn1,dayn1)
  25          {
  26   1              uchar i,j,temp11;
  27   1              i=0;
  28   1              temp11=30;
  29   1              for(i=0;i<6;i++)
  30   1              {
  31   2                      if((monthn1==feastn_focus[i][0])&&(dayn1==feastn_focus[i][1]))
  32   2                      {
  33   3                              temp11=i;
  34   3                              break;
  35   3                      }
  36   2              }
  37   1              if(temp11!=30) //农历有节日,优先显示农历
  38   1              {
  39   2                      for(i=0;i<6;i++)
  40   2                              for(j=i*16;j<i*16+16;j++)
  41   2                              {
  42   3                                      if(i%2==0)
  43   3                                              datatemp[j]=feastn[temp11][j]|0x01;
  44   3                                      else
  45   3                                              datatemp[j]=feastn[temp11][j];
  46   3                              }
  47   2                      datatemp[0]=0xff;
  48   2                      datatemp[16]=0xff;  
  49   2      
  50   2              
  51   2                      play1616(0,0,0,datatemp);
  52   2                      play1616(0,2,0,datatemp+32);
  53   2                      play1616(0,4,0,datatemp+64);
  54   2              }
  55   1              else  //无农历节日时方检查是否有公历节日
C51 COMPILER V8.05a   MAIN                                                                 10/26/2008 20:55:52 PAGE 2   

  56   1              {
  57   2                      for(i=0;i<23;i++)
  58   2                      {
  59   3                              if((monthg1==feastg_focus[i][0])&&(dayg1==feastg_focus[i][1]))
  60   3                              {
  61   4                                      temp11=i;
  62   4                                      break;
  63   4                              }
  64   3                      }
  65   2              
  66   2                      if(temp11!=30)
  67   2                      {
  68   3                              for(i=0;i<6;i++)
  69   3                                      for(j=i*16;j<i*16+16;j++)
  70   3                                      {
  71   4                                              if(i%2==0)
  72   4                                                      datatemp[j]=feastg[temp11][j]|0x01;
  73   4                                              else
  74   4                                                      datatemp[j]=feastg[temp11][j];
  75   4                                      }
  76   3                                      datatemp[0]=0xff;
  77   3                                      datatemp[16]=0xff;
  78   3      
  79   3                                      play1616(0,0,0,datatemp);
  80   3                                      play1616(0,2,0,datatemp+32);
  81   3                                      play1616(0,4,0,datatemp+64);
  82   3                      }
  83   2                      else
  84   2                      {
  85   3                              if((10*datastring[6]+datastring[7])>=18)
  86   3                              {
  87   4                                      for(i=0;i<6;i++)
  88   4                                              for(j=i*16;j<i*16+16;j++)
  89   4                                              {
  90   5                                                      if(i%2==0)
  91   5                                                              datatemp[j]=night[j]|0x01;
  92   5                                                      else
  93   5                                                              datatemp[j]=night[j];
  94   5                                              }
  95   4                                              datatemp[0]=0xff;
  96   4                                              datatemp[16]=0xff;
  97   4                                              
  98   4                                              play1616(0,0,0,datatemp);
  99   4                                              play1616(0,2,0,datatemp+32);
 100   4                                              play1616(0,4,0,datatemp+64);
 101   4                              }
 102   3                              else
 103   3                              {
 104   4                                      for(i=0;i<6;i++)
 105   4                                              for(j=i*16;j<i*16+16;j++)
 106   4                                              {
 107   5                                                      if(i%2==0)
 108   5                                                              datatemp[j]=daytime[j]|0x01;
 109   5                                                      else
 110   5                                                              datatemp[j]=daytime[j];
 111   5                                              }
 112   4                                              datatemp[0]=0xff;
 113   4                                              datatemp[16]=0xff;
 114   4                                              
 115   4                                              play1616(0,0,0,datatemp);
 116   4                                              play1616(0,2,0,datatemp+32);
 117   4                                              play1616(0,4,0,datatemp+64);
C51 COMPILER V8.05a   MAIN                                                                 10/26/2008 20:55:52 PAGE 3   

 118   4                              }
 119   3                      }
 120   2              }
 121   1      }
 122          
 123          /*************
 124          生肖显示
 125          year取年份后两位,如2008,year=08
 126          **************/
 127          void dispshengxiao(uchar year) 
 128          {
 129   1              uchar i;
 130   1              for(i=0;i<16;i++)       
 131   1                      datatemp[i]=shengxiao[year%12][i]|0x01;
 132   1              for(i=16;i<32;i++)
 133   1                      datatemp[i]=shengxiao[year%12][i];
 134   1      
 135   1              datatemp[0]=0xff;
 136   1              datatemp[16]=0xff;      
 137   1              play1616(0,6,0,datatemp);               
 138   1      }
 139          
 140          ////////////////////////////////////////////////////
 141          
 142          /***************定时器0键盘扫描处理 *****************/
 143          
 144          void keyset() interrupt 1
 145          {
 146   1              uchar keycode;
 147   1              uchar move=0,weekvalue,mm;
 148   1              uint sum=0;
 149   1              bit fg;
 150   1      //      gettemperature(); //取温度存在temp数组中
 151   1              keycode=keyscan();
 152   1              if(keycode==0x11&&ringflag==0)
 153   1              {
 154   2                      clear12864();
 155   2                      play816(0,2,0,shuzi1[2],0);
 156   2                      play816(0,3,0,shuzi1[0],0);
 157   2                      play816(0,4,0,shuzi1[datastring[0]],1);
 158   2                      play816(0,5,0,shuzi1[datastring[1]],1);
 159   2                      play1616(0,6,0,hang);
 160   2                      play816(1,0,0,shuzi1[datastring[2]],0);
 161   2                      play816(1,1,0,shuzi1[datastring[3]],0);
 162   2                      play1616(1,2,0,hang);
 163   2                      play816(1,4,0,shuzi1[datastring[4]],0);
 164   2                      play816(1,5,0,shuzi1[datastring[5]],0);
 165   2      
 166   2                      play816(0,4,1,shuzi1[datastring[6]],0);
 167   2                      play816(0,5,1,shuzi1[datastring[7]],0);
 168   2                      play816(0,6,1,dian1,0);
 169   2                      play816(0,7,1,shuzi1[datastring[8]],0);
 170   2                      play816(1,0,1,shuzi1[datastring[9]],0);
 171   2                      play816(1,1,1,dian1,0);
 172   2                      play816(1,2,1,shuzi1[0],0);
 173   2                      play816(1,3,1,shuzi1[0],0);
 174   2      
 175   2                      play1616(0,2,2,nao);
 176   2                      play1616(0,4,2,zhong);
 177   2                      play816(0,6,2,dian1,0);
 178   2                      play816(0,7,2,shuzi1[ringtime[0]],0);
 179   2                      play816(1,0,2,shuzi1[ringtime[1]],0);
C51 COMPILER V8.05a   MAIN                                                                 10/26/2008 20:55:52 PAGE 4   

 180   2                      play816(1,1,2,dian1,0);
 181   2                      play816(1,2,2,shuzi1[ringtime[2]],0);
 182   2                      play816(1,3,2,shuzi1[ringtime[3]],0);
 183   2                      if(ringtime[4]==0)
 184   2                      {
 185   3                              play816(1,4,2,no,0);
 186   3                      }
 187   2                      else
 188   2                              play816(1,4,2,yes,0);
 189   2      
 190   2                      for(;;)
 191   2                      {
 192   3                              keycode=keyscan();
 193   3                              if(keycode==0x12)  //按下光标键
 194   3                              {

⌨️ 快捷键说明

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