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

📄 ds.lst

📁 基于51单片机ds1302温度测量源码加仿真
💻 LST
字号:
C51 COMPILER V8.05a   DS                                                                   02/24/2009 20:22:56 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE DS
OBJECT MODULE PLACED IN ds.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE ds.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <at89x51.h>
   2          #include "lcd_h.h"
   3          const char LCDnum[10]="0123456789";
   4          sbit rst=P2^5;
   5          sbit sclk=P2^7;
   6          sbit io=P2^6;
   7          void write_8bit(unsigned char dat)
   8          {
   9   1               unsigned char i=0;
  10   1               sclk=0;
  11   1               for (i=0;i<8;i++)
  12   1               {
  13   2                       if (dat&0x01) io=1;
  14   2                       else io=0;
  15   2                       sclk=1;
  16   2                       sclk=0;
  17   2                       dat=dat>>1;
  18   2               }
  19   1      }
  20          void write_data(unsigned char address,unsigned char dat)
  21          {
  22   1               rst=0;
  23   1               sclk=0;
  24   1               rst=1;
  25   1               write_8bit(address);
  26   1               write_8bit(dat);
  27   1               sclk=1;
  28   1               rst=0;
  29   1      }
  30          unsigned char read_8bit(void)
  31          {
  32   1               unsigned char receive=0,i=0;
  33   1               sclk=0;
  34   1               for (i=0;i<8;i++)
  35   1               {
  36   2                       receive=receive>>1;
  37   2                       if (io==1) receive=receive|0x80;
  38   2                       sclk=1;
  39   2                       sclk=0;
  40   2               }
  41   1               return (receive);
  42   1      }
  43          unsigned char read_dat(unsigned char address)
  44          {
  45   1               unsigned char receive1=0,i=0;
  46   1               rst=0;
  47   1               sclk=0;
  48   1               rst=1;
  49   1               write_8bit(address);
  50   1               io=1;
  51   1               receive1=read_8bit();
  52   1               sclk=1;
  53   1               rst=0;
  54   1               return (receive1);
  55   1      }
C51 COMPILER V8.05a   DS                                                                   02/24/2009 20:22:56 PAGE 2   

  56          void ds1302(void)
  57          {
  58   1               rst=0;
  59   1               sclk=0;
  60   1               rst=1;
  61   1               write_8bit(0x8e);
  62   1               write_8bit(0);
  63   1               //sclk=1;
  64   1               rst=0;
  65   1               write_8bit(0x90);
  66   1               write_8bit(0xa5);
  67   1               rst=0;
  68   1               write_data(0x80,0);
  69   1               write_data(0x82,0);
  70   1               rst=0;
  71   1               sclk=0;
  72   1               rst=1;
  73   1               write_8bit(0x8e);
  74   1           write_8bit(0x80);
  75   1               //sclk=1;
  76   1               rst=0;
  77   1      }
  78          void main(void)
  79          {
  80   1               unsigned char second[2]={0,0};
  81   1               delayms(50);
  82   1               
  83   1               init_LCD();
  84   1               clear_LCD();
  85   1               movexy(1,1);
  86   1               do
  87   1               {
  88   2                              if (P2_0==0)
  89   2                              {
  90   3                                      ds1302();
  91   3                                      while(P2_0!=1);
  92   3                               }
  93   2                              second[0]=read_dat(0x81);
  94   2      
  95   2                              second[1]=second[0];
  96   2                              second[0]=second[0]&0x0f;
  97   2      
  98   2                              second[1]=second[1]&0x70;
  99   2                              second[1]=second[1]>>4;
 100   2                              movexy(1,0);
 101   2      
 102   2                              write_LCD_data(LCDnum[second[1]]);
 103   2                              write_LCD_data(LCDnum[second[0]]);
 104   2      
 105   2               }while(1);
 106   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    258    ----
   CONSTANT SIZE    =      2    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILER V8.05a   DS                                                                   02/24/2009 20:22:56 PAGE 3   


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

⌨️ 快捷键说明

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