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

📄 huangjian8563main.lst

📁 本文件包含了使用C语言编写单片机的各种入门程序
💻 LST
字号:
C51 COMPILER V8.02   HUANGJIAN8563MAIN                                                     11/03/2008 23:38:14 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE HUANGJIAN8563MAIN
OBJECT MODULE PLACED IN huangjian8563main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE huangjian8563main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #include<intrins.h>
   3          
   4          #define uchar unsigned char
   5          
   6          code uchar led[]={0x11,0xd7,0x32,0x92,0xd4,0x18,0x98,0xd3,0x10,0x90,0xfe,0xff};
   7          
   8          uchar d[]={0,0x20,0,0,0,0,0};
   9          
  10          uchar *p=d;
  11          
  12          
  13          sbit sda_8563=P0^7;
  14          sbit scl_8563=P0^6;
  15          sbit sda_164=P0^2;
  16          sbit scl_164=P0^3;
  17          
  18          
  19          
  20          delay(uchar i)
  21          
  22          {
  23   1         while(--i);
  24   1      
  25   1       }
  26          
  27          
  28          void start()
  29          {
  30   1      
  31   1      
  32   1        sda_8563=1;
  33   1        scl_8563=1;
  34   1        delay(2);
  35   1        sda_8563=0;
  36   1        delay(2);
  37   1        scl_8563=0;
  38   1        }
  39          
  40          
  41          
  42              void stop()
  43           { sda_8563=0;
  44   1         scl_8563=1;
  45   1         delay(2);
  46   1         sda_8563=1;
  47   1        }
  48          
  49          
  50          
  51           void wrbyte(uchar dat)
  52          
  53          
  54           { 
  55   1       
C51 COMPILER V8.02   HUANGJIAN8563MAIN                                                     11/03/2008 23:38:14 PAGE 2   

  56   1         int i;
  57   1         scl_8563=0;
  58   1         for(i=0;i<8;i++)
  59   1         { if(dat&0x80)sda_8563=1; else sda_8563=0;
  60   2           scl_8563=1;
  61   2               delay(2);
  62   2               scl_8563=0;
  63   2               dat<<=1;
  64   2               }
  65   1               sda_8563=1;
  66   1               scl_8563=1;
  67   1               scl_8563=0;
  68   1        }
  69          
  70          uchar rebyte()
  71            { int i;
  72   1          uchar a=0;
  73   1          sda_8563=1;
  74   1              for(i=0;i<8;i++)
  75   1              { scl_8563=1;
  76   2                a<<=1;
  77   2                a|=sda_8563;
  78   2                scl_8563=0;
  79   2                delay(2);
  80   2                }
  81   1                sda_8563=1;
  82   1                scl_8563=1;
  83   1                scl_8563=0;
  84   1                return(a);
  85   1         }
  86          
  87           void refrom8563()
  88           { int i;
  89   1         for(i=0;i<3;i++)
  90   1         { start();
  91   2           wrbyte(0xa2);
  92   2           wrbyte(0xa2+i);
  93   2               start();
  94   2               wrbyte(0xa3);
  95   2               switch(i)
  96   2              { case 0:*(p+i)=(rebyte())&0x7f;break;
  97   3                case 1:*(p+i)=(rebyte())&0x7f;break;
  98   3                case 2:*(p+i)=(rebyte())&0x3f;break;
  99   3                default:break;
 100   3                }
 101   2                stop();
 102   2                }
 103   1                }
 104          
 105            void wrto8563()
 106            {int i;
 107   1         wrbyte(0xa2);
 108   1         wrbyte(0xa2+i);
 109   1         wrbyte(d[i]);
 110   1         stop();
 111   1         }
 112          
 113            shift(uchar t)
 114            { int i,dat;
 115   1          dat=d[t];
 116   1              scl_164=0;
 117   1              for(i=0;i<8;i++)
C51 COMPILER V8.02   HUANGJIAN8563MAIN                                                     11/03/2008 23:38:14 PAGE 3   

 118   1              { if(dat&0x80)sda_164=1;else sda_164=0;
 119   2                scl_164=1;
 120   2                scl_164=0;
 121   2                dat<<=1;
 122   2                }
 123   1                }
 124          
 125             void display()
 126             { int i;
 127   1           for(i=0;i<3;i++)
 128   1               {
 129   2                shift(0xff);
 130   2                shift(*(p+i)&0x0f);
 131   2                shift((*(p+i)&0xf0)>>4 );
 132   2                }
 133   1                }
 134          
 135             /*   main()
 136             {
 137               wrto8563();
 138          
 139                   while(1)
 140                   { int y;
 141          
 142                    refrom8563();
 143          
 144                    display();
 145          
 146                    for(y=0;y<200;y++);
 147          
 148                    delay(0xff);
 149                    }
 150          
 151                    }
 152                    */
 153            
 154             main()
 155             {
 156   1      
 157   1          wrto8563();
 158   1          while(1)
 159   1         {
 160   2          int y;
 161   2          refrom8563();
 162   2      
 163   2           display();
 164   2          for(y=0;y<1000;y++)
 165   2              delay(200);
 166   2         }
 167   1      
 168   1         }
 169          
 170          
 171          
 172          
 173          
 174          
 175          
 176          
 177          
 178          
 179          
C51 COMPILER V8.02   HUANGJIAN8563MAIN                                                     11/03/2008 23:38:14 PAGE 4   

 180          
 181          
 182          
 183          
 184          
 185          
 186          
 187          
 188          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    403    ----
   CONSTANT SIZE    =     12    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10       8
   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 + -