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

📄 12864eight.lst

📁 就是想下载一些东西啊
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   12864EIGHT                                                            04/20/2009 16:29:20 PAGE 1   


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

stmt level    source

   1          #include<reg52.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          sbit sda=P1^0;
   5          sbit scl=P1^1;
   6          sbit RS=P2^7;
   7          sbit RW=P2^6;
   8          sbit EN=P2^5;
   9          sbit key1=P3^3;
  10          sbit key2=P3^4;
  11          sbit key3=P3^5;
  12          sbit key4=P1^3;
  13          sbit ACC0=ACC^0;
  14          sbit ACC7=ACC^7;
  15          sbit dsrs=P2^4;
  16          sbit dscl=P3^7;
  17          sbit IO=P3^2;
  18          sbit feng=P3^6;
  19          sbit kaiguan=P1^4;                                                         
  20          int nian;
  21          char shi,fen,miao,day,ri,yue,qian,bai,nqb,nsg,nshi,nfen,nmiao;
  22          uchar num,sh,ge,shu,flag,i,shsh,gege,fs,fg,ss,sg,ys,ye,rqs,rqg,ns,ng,flag1,k;
  23          uchar code table[]={"-"};
  24          uchar code table1[]={"2009-04-13"};
  25          uchar code table2[]={"0123456789"};
  26          uchar code table3[]={"MONTUEWEDTHUFRISATSUN"};
  27          uchar code table4[]={"闹钟                  "};
  28          //sbit PSB=P2^4;
  29          void delay(uint x)
  30          {
  31   1              uint i,j;
  32   1          for(j=0;j<x;j++)
  33   1              for(i=0;i<110;i++);
  34   1      }
  35          void wcom(uchar com)
  36          {
  37   1              RS=0;
  38   1              RW=0;
  39   1              EN=0;
  40   1              P0=com;
  41   1              delay(5);
  42   1              EN=1;
  43   1              delay(5);
  44   1              EN=0;
  45   1      }
  46          void wdata(uchar dat)
  47          {
  48   1              RS=1;
  49   1              RW=0;
  50   1              EN=0;
  51   1              P0=dat;
  52   1              delay(5);
  53   1              EN=1;
  54   1              delay(5);
  55   1              EN=0;
C51 COMPILER V7.06   12864EIGHT                                                            04/20/2009 16:29:20 PAGE 2   

  56   1      }
  57          void pos(uchar x,uchar y)
  58          {
  59   1              uchar pos;
  60   1              if(x==1)
  61   1              {x=0x80;}
  62   1              else if(x==2)
  63   1              {x=0x90;}
  64   1              else if(x==3)
  65   1              {x=0x88;}
  66   1              else if(x==4)
  67   1              {x=0x98;}
  68   1              pos=x+y;
  69   1              wcom(pos);
  70   1              
  71   1      }
  72          void wadda(uchar x,uchar y,uchar date)
  73          {
  74   1              sh=date/10;
  75   1              ge=date%10;
  76   1              pos(x,y);
  77   1              wdata(table2[sh]);
  78   1              wdata(table2[ge]);
  79   1              pos(x,y);
  80   1      }
  81          void wfen(uchar x,uchar y,uchar date)
  82          {
  83   1              sh=date/10;
  84   1              ge=date%10;
  85   1              pos(x,y);
  86   1              wdata(':');
  87   1              wdata(table2[sh]);
  88   1              wdata(table2[ge]);
  89   1              pos(x,y+1);
  90   1      }
  91          void wadnian(uchar x,uchar y,int date)
  92          {
  93   1              uchar qian,bai,sh,ge;
  94   1              qian=date/1000;
  95   1              bai=date%1000/100;
  96   1              sh=date%100/10;
  97   1              ge=date%10;
  98   1              pos(x,y);
  99   1              wdata(table2[qian]);
 100   1              wdata(table2[bai]);
 101   1              wdata(table2[sh]);
 102   1              wdata(table2[ge]);
 103   1      }
 104          void wsfm(uchar x,uchar y,uchar shi,uchar fen,uchar miao)
 105          {
 106   1              uchar ss,sg,fs,fg,ms,mg;
 107   1              pos(x,y);
 108   1              ss=shi/10;
 109   1              sg=shi%10;
 110   1              fs=fen/10;
 111   1              fg=fen%10;
 112   1              ms=miao/10;                                                                                              
             -                                                                                                                        
             -                                                                                                                        
             -                                                                                                                        
             -                                                                     
 113   1              mg=miao%10;
C51 COMPILER V7.06   12864EIGHT                                                            04/20/2009 16:29:20 PAGE 3   

 114   1              wdata(table2[ss]);
 115   1              wdata(table2[sg]);
 116   1              wdata(':');
 117   1              wdata(table2[fs]);
 118   1              wdata(table2[fg]);
 119   1              wdata(':');
 120   1              wdata(table2[ms]);
 121   1              wdata(table2[mg]);
 122   1      }
 123          void wnyr(int nian,uchar yue,uchar ri)
 124          {
 125   1              uchar num;
 126   1              wadnian(1,0,nian);
 127   1              pos(1,2);
 128   1              while(table[num]!='\0')
 129   1              {
 130   2                      wdata(table[num]);
 131   2                      num++;
 132   2              }
 133   1          wadda(1,3,yue);
 134   1              num=0;
 135   1              pos(1,4);
 136   1              while(table[num]!='\0')
 137   1              {
 138   2                      wdata(table[num]);
 139   2                      num++;
 140   2              }
 141   1              wadda(1,5,ri);
 142   1              pos(1,6);
 143   1              wdata(0x20);
 144   1              for(i=0;i<3;i++)
 145   1                      {
 146   2                              wdata(table3[i+3*day]);
 147   2                      }
 148   1              
 149   1      }
 150          void writeds(uchar date)
 151          {
 152   1              uchar i;
 153   1              ACC=date;
 154   1              for(i=8;i>0;i--)
 155   1              {
 156   2                      IO=ACC0;
 157   2                      dscl=1;
 158   2                      dscl=0;
 159   2                      ACC=ACC>>1;
 160   2                      
 161   2              }
 162   1              
 163   1      }
 164          uchar readds()
 165          {
 166   1              uchar i;
 167   1              for(i=8;i>0;i--)
 168   1              {
 169   2                      ACC=ACC>>1;
 170   2                      ACC7=IO;
 171   2                      dscl=1;
 172   2                      dscl=0;
 173   2              }
 174   1              return(ACC);
 175   1      }
C51 COMPILER V7.06   12864EIGHT                                                            04/20/2009 16:29:20 PAGE 4   

 176          void write1302(uchar add,uchar date)
 177          {
 178   1              dsrs=0;
 179   1              dscl=0;
 180   1              dsrs=1;
 181   1              writeds(add);
 182   1              writeds(date);
 183   1              dscl=1;
 184   1              dsrs=0;
 185   1      }
 186          uchar read1302(uchar add)
 187          {
 188   1              uchar date;
 189   1              dsrs=0;
 190   1              dscl=0;
 191   1              dsrs=1;
 192   1              add++;
 193   1              writeds(add);
 194   1              date=readds();
 195   1              dscl=1;
 196   1              dsrs=0;
 197   1              return (date);
 198   1      }
 199          void settime(uchar add,uchar date)
 200          {
 201   1              write1302(0x8e,0x00);
 202   1              write1302(add,(date/10)<<4|(date%10));
 203   1              write1302(0x8e,0x80);
 204   1              
 205   1      }
 206          void gettime()
 207          {
 208   1              uchar time;
 209   1              time=read1302(0x80);
 210   1              gege=time&0x0f;
 211   1              shsh=(time&0x70)>>4;
 212   1              miao=shsh*10+gege;
 213   1              time=read1302(0x82);
 214   1              fs=(time&0x70)>>4;
 215   1              fg=time&0x0f;
 216   1              fen=fs*10+fg;
 217   1              time=read1302(0x84);
 218   1              ss=(time&0x70)>>4;
 219   1              sg=time&0x0f;
 220   1              shi=ss*10+sg;
 221   1              time=read1302(0x8a);
 222   1              day=(time&0x07);
 223   1              time=read1302(0x86);
 224   1              rqs=(time&0x30)>>4;
 225   1              rqg=(time&0x0f);
 226   1              ri=rqs*10+rqg;
 227   1              time=read1302(0x88);
 228   1              ys=(time&0x10)>>4;
 229   1              ye=(time&0x0f);
 230   1              yue=ys*10+ye;
 231   1              time=read1302(0x8c);
 232   1              ns=(time&0xf0)>>4;
 233   1              ng=(time&0x0f);
 234   1              nsg=ns*10+ng;
 235   1              nian=nsg+nqb*100;
 236   1      }
 237          void initds()
C51 COMPILER V7.06   12864EIGHT                                                            04/20/2009 16:29:20 PAGE 5   

 238          {
 239   1              uchar second=read1302(0x80);
 240   1              if(second&0x80)
 241   1              settime(0x80,0);//设定几秒
 242   1              settime(0x82,4);//设定几分
 243   1              settime(0x84,8);//设定几时
 244   1              settime(0x86,19);//设定几号
 245   1              settime(0x88,4);//设定几月
 246   1              nian=0;
 247   1              settime(0x8c,88);//设定几年
 248   1              settime(0x8a,6);//设定星期几
 249   1      }
 250          void init()
 251          {
 252   1              wcom(0x30);//基本指令操作
 253   1              delay(5);
 254   1              wcom(0x0c);//显示开关坐标
 255   1              delay(5);
 256   1              wcom(0x01);//清屏
 257   1              delay(5);
 258   1      }
 259          void delay2()
 260          {;;}
 261          void delay1(uchar x)
 262          {
 263   1              uchar a,b;
 264   1              for(a=x;a>0;a--)
 265   1               for(b=100;b>0;b--);
 266   1      }
 267          void in()
 268          {
 269   1              sda=1;
 270   1      //      delay();
 271   1              scl=1;
 272   1      //      delay();
 273   1      }
 274          void start()
 275          {
 276   1              sda=1;
 277   1              delay2();
 278   1              scl=1;
 279   1              delay2();
 280   1              sda=0;
 281   1              delay2();
 282   1      }
 283          void stop()
 284          {
 285   1              sda=0;
 286   1              delay2();
 287   1              scl=1;
 288   1              delay2();
 289   1              sda=1;
 290   1              delay2();
 291   1      }
 292          void respond()
 293          {
 294   1              uchar i;
 295   1              scl=1;
 296   1              delay2();
 297   1              while((sda==1)&&(i<250))i++;
 298   1              scl=0;
 299   1              delay2();
C51 COMPILER V7.06   12864EIGHT                                                            04/20/2009 16:29:20 PAGE 6   

 300   1      }

⌨️ 快捷键说明

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