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

📄 timer0_1ms.lst

📁 按键程序讨论
💻 LST
字号:
C51 COMPILER V7.06   TIMER0_1MS                                                            09/14/2012 23:36:51 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TIMER0_1MS
OBJECT MODULE PLACED IN .\obj\Timer0_1ms.obj
COMPILER INVOKED BY: D:\Program Files (x86)\keil\C51\BIN\C51.EXE Timer0_1ms.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lis\Time
                    -r0_1ms.lst) OBJECT(.\obj\Timer0_1ms.obj)

stmt level    source

   1          //
   2          //  名称:
   3          //  编写:niechao
   4          //  日期:2012.08
   5          //  修改:无
   6          //  内容:1 Ms 延时子程序
   7          #include<reg52.h>
   8          #include"key.h"
   9          #include"led.h"
  10           
  11           bit  Timer0_1msflag  = 0; //1ms时标
  12           unsigned char   OUT  = 0; //20ms时标
  13           unsigned char  OUT1  = 0; //40ms时标
  14           unsigned char  OUT2  = 0; //1s时标
  15          //
  16          // 
  17           unsigned char Tflag  = 0; //20ms计数
  18           unsigned char Tflag1 = 0; //40ms计数
  19           unsigned char Tflag2 = 0; //1s时标
  20           
  21          //------------------------------------------------
  22          //          1ms延时初始化函数
  23          //------------------------------------------------ 
  24          //注意总中断用主程序打开 EA = 1  用来增加灵活性
  25          void Timer0Init(void) 
  26          {
  27   1          TMOD &= 0xf0 ;      //定时器1通过外中断打开实
  28   1                              //际不用  
  29   1          TMOD |= 0x01 ;      //定时器0工作方式1
  30   1          TH0  =  0xfc ;      //定时器初始值12MHz晶振
  31   1          TL0  =  0x17 ;
  32   1          TR0  = 1 ;
  33   1          ET0  = 1 ;
  34   1          
  35   1      } 
  36          
  37             
  38          
  39          //------------------------------------------------
  40          //          1ms延时中断
  41          //------------------------------------------------ 
  42          
  43          
  44          void Time0Isr(void) interrupt 1
  45          {  
  46   1      
  47   1          TR0   =  0;
  48   1          TH0  =  0xfc ;          //定时器重新赋初值
  49   1          TL0  =  0x17 ;
  50   1              
  51   1              
  52   1          Tflag++;
  53   1          Timer0_1msflag = 1;      //1MS时标标志位置位
  54   1          
C51 COMPILER V7.06   TIMER0_1MS                                                            09/14/2012 23:36:51 PAGE 2   

  55   1              if(Tflag == 20)
  56   1            
  57   1                {
  58   2             
  59   2                 Tflag=0;
  60   2             Tflag1++;  
  61   2                 Tflag2++;
  62   2                 OUT=1;        //20MS时标标志位
  63   2      
  64   2                
  65   2             led_show();  //50HZ显示刷新速度
  66   2                
  67   2                 }
  68   1              
  69   1          if(Tflag1 == 8)
  70   1            
  71   1                {
  72   2             
  73   2                 Tflag1=0;  
  74   2                 OUT1=1;        //120MS时标标志位
  75   2             getkey();
  76   2      
  77   2                }
  78   1      
  79   1      
  80   1          if(Tflag2 == 100)
  81   1          
  82   1                {
  83   2             
  84   2                 Tflag2=0;
  85   2             OUT2=1;        //2S时标标志位 
  86   2                 
  87   2                }
  88   1           
  89   1          Display(0,8);
  90   1          TR0=1; 
  91   1               
  92   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    137    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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