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

📄 text1.lst

📁 单片机温度DS1802测量与仿真 包含通信接口 有C语言程序源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 166   1                               ACC=date;
 167   1                               for(i=8;i>0;i--)
 168   1                               {
 169   2                                io=ACC0;
 170   2                                SCLK=1;
 171   2                                SCLK=0;
 172   2                                ACC=ACC>>1;
 173   2                                }
 174   1                                }
 175          
 176                                    read1302()
 177                                    {
 178   1                                 unsigned char i;
C51 COMPILER V7.01  TEXT1                                                                  12/19/2005 16:12:52 PAGE 4   

 179   1                                 for(i=8;i>0;i--)
 180   1                                 {
 181   2                                  ACC=ACC>>1;
 182   2                                      ACC7=io;
 183   2                                      SCLK=1;
 184   2                                      SCLK=0;
 185   2                                      }return(ACC);
 186   1                                      }
 187          
 188                                          void write1302_b(unsigned char add,unsigned char date)
 189                                          {
 190   1                                       RST=0;
 191   1                                       RST=1;
 192   1                                       SCLK=0;
 193   1                                       write1302(add);
 194   1                                       write1302(date);
 195   1                                       RST=0;
 196   1                                       SCLK=1;
 197   1                                       }
 198          
 199                                           read1302_b(unsigned char add)
 200                                           {
 201   1                                       unsigned char date=0x00;
 202   1                                        RST=0;
 203   1                                        SCLK=0;
 204   1                                        RST=1;
 205   1                                        write1302(add);
 206   1                                        date=read1302();
 207   1                                        RST=0;
 208   1                                        SCLK=1;
 209   1                                        return(date);
 210   1                                        }
 211          
 212                                            void resoult1302()
 213                                            {
 214   1                                         unsigned char s,A1;
 215   1                                         s=read1302_b(0x8d);
 216   1                                         A1=((s&0x70)>>4)*10+(s&0x0f);
 217   1                                         zu[0]=A1/10;
 218   1                                         zu[1]=A1%10;
 219   1                                         s=read1302_b(0x89);
 220   1                                         A1=((s&0x70)>>4)*10+(s&0x0f);
 221   1                                         zu[3]=A1/10;
 222   1                                         zu[4]=A1%10;
 223   1                                         s=read1302_b(0x87);
 224   1                                         A1=((s&0x70)>>4)*10+(s&0x0f);
 225   1                                         zu[6]=A1/10;
 226   1                                         zu[7]=A1%10;
 227   1                                         s=read1302_b(0x85);
 228   1                                         A1=((s&0x70)>>4)*10+(s&0x0f);
 229   1                                         zu[9]=A1/10;
 230   1                                         zu[10]=A1%10;
 231   1                                         s=read1302_b(0x83);
 232   1                                         A1=((s&0x70)>>4)*10+(s&0x0f);
 233   1                                         zu[12]=A1/10;
 234   1                                         zu[13]=A1%10;
 235   1                                         s=read1302_b(0x81);
 236   1                                         A1=((s&0x70)>>4)*10+(s&0x0f);
 237   1                                         zu[15]=A1/10;
 238   1                                         zu[16]=A1%10;
 239   1                                         }
 240          
C51 COMPILER V7.01  TEXT1                                                                  12/19/2005 16:12:52 PAGE 5   

 241                                             void start1302()
 242                                             {
 243   1                                          write1302_b(0x8e,0x00);
 244   1                                              write1302_b(0x80,0);
 245   1                                              write1302_b(0x8e,0x80);
 246   1                                              }
 247          
 248                                             void main()
 249                                             {
 250   1                                         unsigned char f;
 251   1                           TMOD=0X21;
 252   1                                               TH0=(65535-50000)/256;
 253   1                                               TL0=(65535-50000)%256;
 254   1                                               TH1=0XFD;
 255   1                                               TL1=0XFD;
 256   1                                               SCON=0X50;
 257   1                                               PCON=0X00;
 258   1                                               
 259   1                            TR1=1;
 260   1      
 261   1                                              IE=0X90;
 262   1                                               ET0=1;
 263   1                                               TR0=1;
 264   1                                               
 265   1                                          start1602();
 266   1                                              start1302();
 267   1      
 268   1                                              while(1)
 269   1                                              {
 270   2                                               
 271   2                                                
 272   2                                               resoult1820();
 273   2                                               resoult1302();
 274   2                                               writeo(0x80);
 275   2                                               for(f=0;f<19;f++)
 276   2                                               {
 277   3                                                 writeda(shu[zu[f]]);
 278   3                                                 }
 279   2                                                 writeo(0xc0);
 280   2                                                 f=0;
 281   2                                                 while(dis[f]!='\0')
 282   2                                                 {
 283   3                                                  writeda(dis[f]);
 284   3                                                      f++;}
 285   2      
 286   2      
 287   2                                                 for(f=19;f<25;f++)
 288   2                                                 {
 289   3                                                  writeda(shu[zu[f]]);
 290   3                                                      }
 291   2                                                 }
 292   1                                                 }
 293          
 294                                                     void time() interrupt 1
 295                                                     {
 296   1                                                  unsigned char ss,j;
 297   1                                                      TH0=(65535-50000)/256;
 298   1                                                      TL0=(65535-50000)%256;
 299   1                                                      ss++;
 300   1                                                      if(ss==100)
 301   1                                                      {
 302   2                                                       ss=0;
C51 COMPILER V7.01  TEXT1                                                                  12/19/2005 16:12:52 PAGE 6   

 303   2                                                       for(j=0;j<27;j++)
 304   2                                                       {
 305   3                                                         SBUF=shu[zu[j]];
 306   3                                                         while(!TI);
 307   3                                                         TI=0;
 308   3                                                         }
 309   2                                                         }
 310   1                                                         }
 311          
 312          
 313          
 314          
 315          
 316          
 317          
 318          
 319          
 320          
 321          
 322              


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    823    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     59       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 + -