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

📄 timer2.lst

📁 f330与mfrc522 通信 构成读卡器 上传源码和原理图。
💻 LST
字号:
C51 COMPILER V6.23a  TIMER2                                                                04/14/2008 15:21:35 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE TIMER2
OBJECT MODULE PLACED IN Timer2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe Timer2.c DB OE

stmt level    source

   1          
   2          //*********************************************************
   3          // 项  目:  通用控制器-V1.0
   4          // 文件名:      Timer2.C
   5          // 描  述:  定时器2中断服务程序
   6          //*********************************************************
   7          
   8          //===============================================
   9          #include "main.h"                    //头文件
  10          #include "Timer2.h" 
  11          #include "MFRC522.h"     
  12          #include "Adc.h"       
  13          //===============================================
  14          
  15          //***********************************************
  16          //变量定义
  17          //***********************************************      
  18          UCHAR    iosts0;
  19          UCHAR    bdata  iosts1;  //20mS级计数
  20          
  21          sbit     IO3    =iosts1^3;
  22          sbit     IO2    =iosts1^2;
  23          sbit     IO1    =iosts1^1;
  24          sbit     IO0    =iosts1^0;
  25          //
  26          UINT     Count20ms;
  27          UCHAR    Count1ms;
  28          //
  29          extern   UCHAR  volatile Temp;
  30          extern   UCHAR  data  Sio_Lth;               //数据长度
  31          extern   UCHAR  idata  ComTBufHead;
  32          extern   UINT   SOFTWDT;
  33          extern   UINT   volatile event_word;
  34          UCHAR  xdata tx_buf[TX_PLOAD_WIDTH];
  35          extern   UCHAR  xdata  ComTBuf[Com0TBuf_len];
  36          //***********************************************
  37          //函数开始
  38          /***************************************
  39          
  40          /***************************************
  41          T3 定时器初始化
  42          /***************************************/
  43          void Timer3_Init(void)  //T3 20毫秒定时         
  44          {                       //T3MH,T3ML,T2MH,T2ML,T1M,T0M,SCA1,SCA0
  45   1          CKCON &= 0x3F;              //  0    0    X      X    X   X  SYSCK/12       
  46   1              TMR3RLH = (-SYSCLK/12/50)>>8;   //
  47   1              TMR3RLL = (-SYSCLK/12/50);              //
  48   1          //TF3H,TF3L,TF3LEN,TF3CEN,T3SPT,TR3,-,T3XCLK
  49   1              TMR3CN = 0X04;      //TR3=1     
  50   1      }
  51          /**********************************************
  52          20毫秒定时中断
  53          /**********************************************/
  54          void Timer3_INT(void) interrupt 14      //
  55          {  
C51 COMPILER V6.23a  TIMER2                                                                04/14/2008 15:21:35 PAGE 2   

  56   1         static UINT count1,tmp;
  57   1      
  58   1         TMR3CN &= 0X3F;
  59   1         count1++;                  //20mS+1
  60   1         tmp = count1;
  61   1      
  62   1         if (!(tmp % 25))          //20*10=200ms
  63   1             
  64   1                {event_word  |= EVENT_CARD; }   //寻卡
  65   1                 
  66   1          if (!(tmp % 25))          
  67   1             
  68   1             {event_word  |= EVENT_TEMP; } //0。5S事件
  69   1       
  70   1              event_word  |= EVENT_STS1; //20mS事件
  71   1         //
  72   1              PCA0CPH2 =0x55; //写PCA0CPH2任意值清看门狗
  73   1      }
  74          //**********************************************
  75          //T0 初始化(1毫秒中断)
  76          //------------------------------
  77          void Timer0_Init(void) 
  78                
  79          {   //CKCON=T3H,T3L,T2H,T2L,T1,T0,SCA1,SCA0
  80   1          CKCON &= 0xF8;               // T0M=0,SCA1,0=00,T0CK=SYSCK/12 
  81   1          TMOD  |= 0x01;           // T0 方式1,16位
  82   1          TH0    = (-SYSCLK/12/2700)>>8;
  83   1          TL0    = (-SYSCLK/12/2700);
  84   1              TR0    = 1;
  85   1              ET0    = 1;                             //中断开放
  86   1      }
  87          //**********************************************
  88          //T0 1毫秒中断:用于精确时间延时
  89          //------------------------------
  90          void Timer0_ISR (void) interrupt 1  //1ms
  91          {
  92   1              TH0    = (-SYSCLK/12/1000)>>8;
  93   1          TL0    = (-SYSCLK/12/1000);
  94   1                  
  95   1              if (Count1ms) 
  96   1                 {  
  97   2                    Count1ms--;
  98   2                        if (BEEP)  BP = 1;   
  99   2             }
 100   1              else  
 101   1                 { BP = 0;  BEEP = 0;} 
 102   1                
 103   1      }
 104          //====================================================
 105          //ms级T0中断精确延时程序
 106          //====================================================
 107          void Delay1ms(unsigned char T)
 108          {
 109   1         Count1ms = T;
 110   1         while (Count1ms);
 111   1      }
 112          /*************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    148    ----
   CONSTANT SIZE    =   ----    ----
C51 COMPILER V6.23a  TIMER2                                                                04/14/2008 15:21:35 PAGE 3   

   XDATA SIZE       =     32    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9    ----
   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 + -