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

📄 text1.lst

📁 单片机温度DS1802测量与仿真 包含通信接口 有C语言程序源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.01  TEXT1                                                                  12/19/2005 16:12:52 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: E:\软件\keil\安装文件\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg51.h>
   2          sbit RS=P2^0;
   3          sbit RW=P2^1;
   4          sbit E=P2^2;
   5          sbit RST=P1^0;
   6          sbit SCLK=P1^1;
   7          sbit io=P1^2;
   8          sbit DQ=P2^7;
   9          sbit ACC7=ACC^7;
  10          sbit ACC0=ACC^0;
  11          unsigned char dis[]={"temperature is:"};
  12          unsigned char shu[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x20,0x3a,0x2d,0x2e,0x43};
  13          unsigned char zu[]={0x00,0x00,0x0c,0x00,0x00,0x0c,0x00,0x00,0x0c,0x00,0x00,0x0b,0x00,0x00,0x0b,0x00,0x00,0
             -x0a,0x0a,
  14          0x00,0x00,0x00,0x0d,0x00,0x00,0x0d,0x0e};
  15          unsigned char j;
  16          void start1602();
  17          void busy();
  18          void writeo(unsigned char i);
  19          void writeda(unsigned char i);
  20          void delay();
  21          void delay1820(unsigned int t);
  22          read1820();
  23          void write820(unsigned char date);
  24          void reoult1820();
  25          void start1820();
  26          void write1302(unsigned char date);
  27          read1302();
  28          read1302_b(unsigned char add);
  29          void write1302_b(unsigned char add,unsigned char date);
  30          void resoult1302();
  31          void start1302();
  32          
  33          
  34          void start1602()
  35          {
  36   1       writeo(0x01);
  37   1      writeo(0x38);
  38   1      writeo(0x0e);
  39   1      writeo(0x06);
  40   1      }
  41           
  42          void busy()
  43          {
  44   1       
  45   1      E=0;
  46   1      RS=0;
  47   1      RW=1;
  48   1      E=1;
  49   1      while(P0&0X80);
  50   1      E=0;
  51   1      delay();
  52   1      }
  53          
  54          void writeo(unsigned char i)
C51 COMPILER V7.01  TEXT1                                                                  12/19/2005 16:12:52 PAGE 2   

  55          {
  56   1      busy();
  57   1        E=0;
  58   1      RW=0;
  59   1      RS=0;
  60   1      E=1;
  61   1      P0=i;
  62   1      E=0;
  63   1      delay();
  64   1      }
  65          
  66          void writeda(unsigned char i)
  67          {
  68   1      busy();
  69   1       E=0;
  70   1      RW=0;
  71   1      RS=1;
  72   1      E=1;
  73   1      P0=i;
  74   1      E=0;
  75   1      delay();
  76   1      }
  77          
  78          void delay()
  79          {
  80   1       for(j=0;j<200;j++);
  81   1      }
  82          
  83          
  84          
  85          // ds18b20//
  86          void delay1820(unsigned int t)
  87          {
  88   1       while(t--);
  89   1       }
  90          
  91          void start1820()
  92          {
  93   1        DQ=1;
  94   1        delay1820(15);
  95   1        DQ=0;
  96   1        delay1820(80);
  97   1        DQ=1;
  98   1        delay1820(10);
  99   1        while(!DQ);
 100   1        }
 101          
 102          
 103            read1820()
 104            {
 105   1         unsigned char da=0x00,i;
 106   1         for(i=0;i<8;i++)
 107   1         {
 108   2            DQ=1;
 109   2                delay1820(3);
 110   2                DQ=0;
 111   2                da=da>>1;
 112   2                DQ=1;
 113   2                if(DQ)
 114   2                {
 115   3                 da=da|0x80;
 116   3                 }
C51 COMPILER V7.01  TEXT1                                                                  12/19/2005 16:12:52 PAGE 3   

 117   2                 delay1820(10);
 118   2                 }
 119   1                 return(da);
 120   1                 }
 121          
 122                    void write1820(unsigned char date)
 123                     {
 124   1                  unsigned char i;
 125   1                      for(i=0;i<8;i++)
 126   1                      {
 127   2                       DQ=0;
 128   2                       DQ=date&0x01;
 129   2                       delay1820(5);
 130   2                       DQ=1;
 131   2                       date=date>>1;
 132   2                       }
 133   1                       delay1820(5);
 134   1                       }
 135          
 136                           void resoult1820()
 137                           {
 138   1                         unsigned char TTH,TTL,a;
 139   1                         unsigned int b;
 140   1                        start1820();
 141   1                        write1820(0xcc);
 142   1                        write1820(0x44);
 143   1                        delay1820(50);
 144   1                        start1820();
 145   1                        write1820(0xcc);
 146   1                        write1820(0xbe);
 147   1                        TTL=read1820();
 148   1                        TTH=read1820();
 149   1                        a=(TTH<<4)|(TTL>>4);
 150   1                        zu[19]=a/100;
 151   1                        zu[20]=a%100/10;
 152   1                        zu[21]=a%10;
 153   1                        a=(TTL&0X0F);
 154   1                        b=a*625;
 155   1                        zu[23]=b/1000;
 156   1                        zu[24]=b%1000/100;
 157   1                        delay1820(100);
 158   1                        }
 159          
 160                          
 161          
 162                             //1302//
 163                             void write1302(unsigned char date)
 164                             {
 165   1                           unsigned char i;

⌨️ 快捷键说明

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