12864nine.lst

来自「就是想下载一些东西啊」· LST 代码 · 共 789 行 · 第 1/3 页

LST
789
字号
C51 COMPILER V7.06   12864NINE                                                             04/21/2009 00:22:18 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 12864NINE
OBJECT MODULE PLACED IN 12864nine.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 12864nine.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>
   2          #include<IIC.h>
   3          #include<yinli.h>
   4          #include<ds1302.h>
   5          #include<keyscan.h>
*** WARNING C318 IN LINE 5 OF 12864nine.c: can't open file 'keyscan.h'
   6          #include<12864init.h>
   7          #define uchar unsigned char
   8          #define uint unsigned int
   9          sbit key1=P3^3;
  10          sbit key2=P3^4;
  11          sbit key3=P3^5;
  12          sbit key4=P1^3;
  13          sbit feng=P3^6;
  14          sbit kaiguan=P1^4;                                                      
  15          int nian;
  16          char shi,fen,miao,day,ri,yue,qian,bai,nqb,nsg,nshi,nfen,nmiao;
  17          uchar num,shu,i,shsh,gege,flag,fs,fg,ss,sg,ys,ye,rqs,rqg,ns,ng,flag1,k;
  18           uchar year_c,month_c,day_c;
  19          uchar code table[]={"-"};
  20          uchar code table1[]={"2009-04-13"};
  21          uchar code table3[]={"MONTUEWEDTHUFRISATSUN"};
  22          uchar code table4[]={"闹钟                  "};
  23          uchar code dis1[]={"甲乙丙丁戊己庚辛壬癸"};
  24          uchar code dis2[]={"子丑寅卯辰巳午未申酉戌亥"};
  25          uchar code dis3[13][7]={" ","一月","二月","三月","四月","五月",
  26          "六月","七月","八月","九月","十月","十一月","十二月"};
  27          uchar code dis4[32][7]={" ","初一","初二","初三","初四","初五","初六",
  28          "初七","初八","初九","初十","十一","十二","十三","十四",
  29          "十五","十六","十七","十八","十九","二十","二十一",
  30          "廿二","廿三","廿四","廿五","廿六"
  31          ,"廿七","廿八","廿九","三十","三十一"};
  32          /*uchar code table5[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x1
             -6,0x17,0x18,0x19,
  33          0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
  34          0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,
  35          0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,
  36          0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89.0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99};*/
  37          //sbit PSB=P2^4;
  38          
  39          void wadnian(uchar x,uchar y,int date)
  40          {
  41   1              uchar qian,bai,sh,ge;
  42   1              qian=date/1000;
  43   1              bai=date%1000/100;
  44   1              sh=date%100/10;
  45   1              ge=date%10;
  46   1              pos(x,y);
  47   1              wdata(table2[qian]);
  48   1              wdata(table2[bai]);
  49   1              wdata(table2[sh]);
  50   1              wdata(table2[ge]);
  51   1      }
  52          void wsfm(uchar x,uchar y,uchar shi,uchar fen,uchar miao)
  53          {
C51 COMPILER V7.06   12864NINE                                                             04/21/2009 00:22:18 PAGE 2   

  54   1              uchar ss,sg,fs,fg,ms,mg;
  55   1              pos(x,y);
  56   1              ss=shi/10;
  57   1              sg=shi%10;
  58   1              fs=fen/10;
  59   1              fg=fen%10;
  60   1              ms=miao/10;                                                                                              
             -                                                                                                                        
             -                                                                                                                        
             -                                                                                                                        
             -                                                                     
  61   1              mg=miao%10;
  62   1              wdata(table2[ss]);
  63   1              wdata(table2[sg]);
  64   1              wdata(':');
  65   1              wdata(table2[fs]);
  66   1              wdata(table2[fg]);
  67   1              wdata(':');
  68   1              wdata(table2[ms]);
  69   1              wdata(table2[mg]);
  70   1      }
  71          void wfen(uchar x,uchar y,uchar date)
  72          {
  73   1              uchar sh,ge;
  74   1              sh=date/10;
  75   1              ge=date%10;
  76   1              pos(x,y);
  77   1              wdata(':');
  78   1              wdata(table2[sh]);
  79   1              wdata(table2[ge]);
  80   1              pos(x,y+1);
  81   1      }
  82          void wnyr(int nian,uchar yue,uchar ri)
  83          {
  84   1              uchar num;
  85   1              wadnian(1,0,nian);
  86   1              pos(1,2);
  87   1              while(table[num]!='\0')
  88   1              {
  89   2                      wdata(table[num]);
  90   2                      num++;
  91   2              }
  92   1          wadda(1,3,yue);
  93   1              num=0;
  94   1              pos(1,4);
  95   1              while(table[num]!='\0')
  96   1              {
  97   2                      wdata(table[num]);
  98   2                      num++;
  99   2              }
 100   1              wadda(1,5,ri);
 101   1              pos(1,6);
 102   1              wdata(0x20);
 103   1              for(i=0;i<3;i++)
 104   1                      {
 105   2                              wdata(table3[i+3*day]);
 106   2                      }
 107   1              
 108   1      }
 109          
 110          void settime(uchar add,uchar date)
 111          {
C51 COMPILER V7.06   12864NINE                                                             04/21/2009 00:22:18 PAGE 3   

 112   1              write1302(0x8e,0x00);
 113   1              write1302(add,(date/10)<<4|(date%10));
 114   1              write1302(0x8e,0x80);
 115   1              
 116   1      }
 117          void gettime()
 118          {
 119   1              uchar time;
 120   1              time=read1302(0x80);//秒
 121   1              gege=time&0x0f;
 122   1              shsh=(time&0x70)>>4;
 123   1              miao=shsh*10+gege;
 124   1              time=read1302(0x82);//分
 125   1              fs=(time&0x70)>>4;
 126   1              fg=time&0x0f;
 127   1              fen=fs*10+fg;
 128   1              time=read1302(0x84);//时
 129   1              ss=(time&0x70)>>4;
 130   1              sg=time&0x0f;
 131   1              shi=ss*10+sg;
 132   1              time=read1302(0x8a);//星期
 133   1              day=(time&0x07);
 134   1              time=read1302(0x86);//日期
 135   1              day_c=time;
 136   1              rqs=(time&0x30)>>4;
 137   1              rqg=(time&0x0f);
 138   1              ri=rqs*10+rqg;
 139   1              time=read1302(0x88);//月
 140   1              month_c=time;
 141   1              ys=(time&0x10)>>4;
 142   1              ye=(time&0x0f);
 143   1              yue=ys*10+ye;
 144   1              time=read1302(0x8c);//年
 145   1              year_c=time;
 146   1              ns=(time&0xf0)>>4;
 147   1              ng=(time&0x0f);
 148   1              nsg=ns*10+ng;
 149   1              nian=nsg+nqb*100;
 150   1      }
 151          void initds()
 152          {
 153   1              uchar second=read1302(0x80);
 154   1              if(second&0x80)
 155   1              settime(0x80,0);//设定几秒
 156   1              settime(0x82,4);//设定几分
 157   1              settime(0x84,8);//设定几时
 158   1              settime(0x86,19);//设定几号
 159   1              settime(0x88,4);//设定几月
 160   1              nian=0;
 161   1              settime(0x8c,88);//设定几年
 162   1              settime(0x8a,6);//设定星期几
 163   1      }
 164          void didi()
 165          {
 166   1              feng=0;
 167   1              delay(50);
 168   1              feng=1;
 169   1              delay(50);
 170   1              feng=0;
 171   1              delay(50);
 172   1              feng=1;
 173   1              delay(50);
C51 COMPILER V7.06   12864NINE                                                             04/21/2009 00:22:18 PAGE 4   

 174   1              
 175   1      }
 176          void keyscan()
 177          {
 178   1              if(flag==0)
 179   1         {
 180   2                      if(key2==0)
 181   2                      {
 182   3                              delay(10);
 183   3                              if(key2==0)
 184   3                              while(!key2);
 185   3                              flag1=0;
 186   3                              pos(4,0);
 187   3                              wsfm(4,2,nshi,nfen,nmiao);
 188   3                      }
 189   2                      if(key3==0)
 190   2                      {
 191   3                              delay(10);
 192   3                              if(key3==0)
 193   3                              while(!key3);
 194   3                              flag1=0;
 195   3                              pos(4,0);
 196   3                              for(num=0;num<16;num++)
 197   3                              {
 198   4                                      wdata(table4[num]);
 199   4                              }
 200   3                      }
 201   2        }
 202   1              if(key4==0)
 203   1              {
 204   2                      delay(10);
 205   2                      {
 206   3                              if(key4==0)
 207   3                              {
 208   4                                 wsfm(4,2,nshi,nfen,nmiao);
 209   4                                      flag=1;
 210   4                                      flag1=0;
 211   4                                      k++;
 212   4                                      pos(4,5);
 213   4                                      wcom(0x0f);
 214   4                              }
 215   3                                      switch(k)
 216   3                        {
 217   4                              case 2:pos(4,4);//fen
 218   4                              break;
 219   4                          case 3:pos(4,2);//shi
 220   4                              break;
 221   4                              case 4:
 222   4                              {
 223   5                                      k=0;
 224   5                                      flag=0;
 225   5                                      wcom(0x0c);
 226   5                                      pos(4,0);
 227   5                                              pos(4,0);
 228   5                                      for(num=0;num<16;num++)
 229   5                                      {
 230   6                                              wdata(table4[num]);
 231   6                                      }
 232   5                              }
 233   4                              break;
 234   4                      }
 235   3                              
C51 COMPILER V7.06   12864NINE                                                             04/21/2009 00:22:18 PAGE 5   

 236   3                      }
 237   2                      while(!key4);
 238   2              
 239   2              }
 240   1                      if(k==1)

⌨️ 快捷键说明

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