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

📄 20

📁 20个单片机c实验程序例子(包含c程序和hex文件)
💻
字号:
C51 COMPILER V8.06   XIANSHI                                                               02/15/2012 16:06:21 PAGE 1   


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

line level    source

   1          /**********************HJ-3G实验开发板例程************************
   2          *  平台:HJ-3G V6.0 + Keil U3 + STC89C52
   3          *  名称:学习板上的六位数码管显示任意一个百万以下的整数
   4                             程序中的变量num就是被显示的整数(原程序中num=87530)
   5          *  公司:慧净电子科技有限公司
   6          *  淘宝:http://shop37031453.taobao.com       
   7          *  网站:www.hlmcu.com
   8          *  编写:
   9          *  日期:2008-8-08
  10          *   QQ : 121350852  398115088
  11          *  晶振:11.0592MHZ
  12          *  说明:免费开源,不提供源代码分析,有问题直接到慧净论坛交流
  13          *  论坛:http://hjdz.5d6d.com
  14          ******************************************************************/
  15          
  16          
  17          #include<reg52.h>
  18          
  19          #define uchar unsigned char 
  20          unsigned long num;
  21          uchar j,k;
  22          uchar a0,b0,c0,d0,e0,f0;
  23          sbit dula=P2^6;
  24          sbit wela=P2^7;
  25          unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  26                                  0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
  27          
  28          void delay(uchar i)
  29          {
  30   1              for(j=i;j>0;j--)
  31   1              for(k=125;k>0;k--);
  32   1      }
  33          
  34          void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f)
  35          {
  36   1         dula=0;
  37   1         P0=table[a];
  38   1         dula=1;
  39   1         dula=0;
  40   1         
  41   1         wela=0;
  42   1         P0=0xfe;
  43   1         wela=1;
  44   1         wela=0;
  45   1         delay(5);
  46   1         
  47   1         P0=table[b];
  48   1         dula=1;
  49   1         dula=0;
  50   1         
  51   1         P0=0xfd;
  52   1         wela=1;
  53   1         wela=0;
  54   1         delay(5);
  55   1      
C51 COMPILER V8.06   XIANSHI                                                               02/15/2012 16:06:21 PAGE 2   

  56   1         P0=table[c];
  57   1         dula=1;
  58   1         dula=0;
  59   1         
  60   1         P0=0xfb;
  61   1         wela=1;
  62   1         wela=0;
  63   1         delay(5);
  64   1         
  65   1         P0=table[d];
  66   1         dula=1;
  67   1         dula=0;
  68   1         
  69   1         P0=0xf7;
  70   1         wela=1;
  71   1         wela=0;
  72   1         delay(5);
  73   1         
  74   1         P0=table[e];
  75   1         dula=1;
  76   1         dula=0;
  77   1         
  78   1         P0=0xef;
  79   1         wela=1;
  80   1         wela=0;
  81   1         delay(5);
  82   1         
  83   1         P0=table[f];
  84   1         dula=1;
  85   1         dula=0;
  86   1         
  87   1         P0=0xdf;
  88   1         wela=1;
  89   1         wela=0;
  90   1         delay(5);
  91   1      }
  92          
  93          void main()
  94          {
  95   1              num=87530;//这个是被显示的整数,只要不超过六位,均可显示出来。
  96   1                              //同学们可以随意更改这个num变量的值试验下。
  97   1              while(1)
  98   1              {
  99   2              
 100   2              if(num<10)
 101   2              {
 102   3                      a0=num;b0=16;c0=16;d0=16;e0=16;f0=16;
 103   3              }
 104   2              else
 105   2              {
 106   3                      if(num<100)
 107   3                      {a0=num/10;b0=num%10;c0=16;d0=16;e0=16;f0=16;}
 108   3                      else
 109   3                      {
 110   4                              if(num<1000)
 111   4                              {a0=num/100;b0=num%100/10;c0=num%10;d0=16;e0=16;f0=16;}
 112   4                              else
 113   4                              {
 114   5                                      if(num<10000)
 115   5                                      {a0=num/1000;b0=num%1000/100;c0=num%100/10;d0=num%10;e0=16;f0=16;}
 116   5                                      else
 117   5                                      {
C51 COMPILER V8.06   XIANSHI                                                               02/15/2012 16:06:21 PAGE 3   

 118   6                                              if(num<100000)
 119   6                                              {a0=num/10000;b0=num%10000/1000;c0=num%1000/100;d0=num%100/10;e0=num%10;f0=16;}
 120   6                                              else
 121   6                                              {
 122   7                                                      if(num<1000000)
 123   7                                                      {a0=num/100000;b0=num%100000/10000;c0=num%10000/1000;d0=num%1000/100;e0=num%100/10;f0=num%10;}
 124   7                                              }
 125   6                                      }
 126   5                              }
 127   4                      }
 128   3              }
 129   2              display(a0,b0,c0,d0,e0,f0);
 130   2              }
 131   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    896    ----
   CONSTANT SIZE    =     17    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12       6
   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 + -