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

📄 51

📁 51单片机大量源码
💻
字号:
C51 COMPILER V8.02   INT0COUNTER                                                           07/21/2009 17:59:27 PAGE 1   


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

line level    source

   1          #include <REG51.H>              
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          unsigned char code tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xBF};
   5           sbit P32=P3^2;
   6           sbit P25=P2^5;
   7           sbit P26=P2^6;
   8           sbit P27=P2^7;
   9             uint cnt;
  10          void init(void)                                 
  11          {                                                                                               
  12   1              EX0=1;                                  
  13   1              IT0=1;                                  
  14   1              EA=1;
  15   1              ET0 = 1;                                //定时器0中断打开
  16   1              TMOD = 0x1;                     //设定时器0为模式1,16位模式
  17   1              TH0=0xd8;
  18   1              TL0=0xf0;                               //设定时值为10000us(10ms)
  19   1              TR0 = 1;
  20   1              PT0=1;
  21   1                                              
  22   1      }                                                       
  23          /**************************************************/
  24          void delay(uint k)                              
  25          {                                                       
  26   1      uint data i,j;                                  
  27   1              for(i=0;i<k;i++)                        
  28   1              {                                               
  29   2              for(j=0;j<121;j++){;}           
  30   2              }                                               
  31   1      }                                                       
  32          /**************************************************/
  33          
  34          void ledshow()
  35          {
  36   1      
  37   1       if(cnt>999)cnt=0;                      
  38   1                                              
  39   1                      P0=tab[cnt/100];        
  40   1                      P25=0;                  
  41   1                      delay(1);
  42   1                      P25=1;                          
  43   1                      P0=tab[(cnt%100)/10];
  44   1                      P26=0;                  
  45   1                      delay(1);
  46   1                      P26=1;                          
  47   1                      P0=tab[cnt%10]; 
  48   1                      P27=0;                  
  49   1                      delay(1);
  50   1                      P27=1;                                  
  51   1                                                      
  52   1      
  53   1      
  54   1      
  55   1      
C51 COMPILER V8.02   INT0COUNTER                                                           07/21/2009 17:59:27 PAGE 2   

  56   1      }
  57          
  58          void display(void) interrupt 1 using 2
  59          {
  60   1        TH0=0xd8;
  61   1              TL0=0xf0;                               //设定时值为10000us(10ms)
  62   1      
  63   1         ledshow();
  64   1      
  65   1      
  66   1      
  67   1      }
  68          
  69          
  70          
  71          
  72          
  73          void main(void)                         
  74          {                                       
  75   1              init();                                 
  76   1              while(1);                                       
  77   1                                                              
  78   1      }                                                       
  79          /************************************************/
  80          void extern_int0(void) interrupt 0 using 0      
  81          {
  82   1      EX0=0;
  83   1      delay(10);
  84   1      if(P32==0){                                             
  85   2      cnt++; }
  86   1      while(!P32);
  87   1      EX0=1;  
  88   1                              
  89   1      }                                                       
  90                                                                  


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