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

📄 timer_ini.lst

📁 这个是做自动控制的小车的代码
💻 LST
字号:
C51 COMPILER V7.20   TIMER_INI                                                             09/02/2007 21:16:40 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE TIMER_INI
OBJECT MODULE PLACED IN timer_ini.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE timer_ini.c DEBUG OBJECTEXTEND

line level    source

   1          //////////T法测频调试程序/////////////
   2          /////////t3 频率方波输出//////////////
   3          /////////t4 脉冲计数/////////////////////
   4          /////////t2 计时////////////////////////////
   5          /////////t2t3t4.c//////////////////////////
   6          #include "common.h"
   7          #include "timer.h"
   8          #define T3RUN temppage=SFRPAGE;SFRPAGE=0x01;TR3=1;SFRPAGE=temppage
   9          #define T4RUN temppage=SFRPAGE;SFRPAGE=0x02;TR4=1;SFRPAGE=temppage
  10          #define T4STOP temppage=SFRPAGE;SFRPAGE=0x02;TR4=0;SFRPAGE=temppage
  11          #define T3STOP temppage=SFRPAGE;SFRPAGE=0x01;TR3=0;SFRPAGE=temppage
  12          uint t2count;           //计录
  13          sfr16 RCAP2=0xca;
  14          sfr16 RCAP3=0xca;
  15          sfr16 RCAP4=0xca;
  16          sfr16 TMR4=0xcc;
  17          sfr16 TMR3=0xcc;
  18          sfr16 TMR2=0xcc;
  19          
  20          //uchar temppage;
  21          //uchar tf2num;
  22          //uint  t2count;   //t2 90s定时次数标志
  23          //bit isnewdata;
  24          //ulong freTime;
  25          //void t4ISR();
  26          //void t2ISR();
  27          
  28          void t0_ini()    //TO定时器450ms
  29          {
  30   1         temppage=SFRPAGE;
  31   1         SFRPAGE=0x00;
  32   1         TCON      = 0x10;        //启动定时器
  33   1         TMOD      = 0x01;        //16位定时器
  34   1         CKCON     = 0x02;        //系统时钟的48分频
  35   1         IE        |= 0x02;       //T0中断使能
  36   1         TH0       = 0x90;            //定时器赋初值
  37   1         TL0     = 0x0a;
  38   1         SFRPAGE=temppage;
  39   1      }
  40          void t1_count_ini()
  41          {//T1为16位计数器,用于记寻车行驶的距离
  42   1         temppage=SFRPAGE;
  43   1         SFRPAGE=0x00;
  44   1         TMOD=0x50;       
  45   1         TCON=0x00;
  46   1         TR1=1;               //开启计数器
  47   1         SFRPAGE=temppage;
  48   1      }
  49          void t2_time90s_ini()
  50          {//t2为定时器模式,采用系统时钟12分频
  51   1              temppage=SFRPAGE;
  52   1              SFRPAGE=0x00;
  53   1              TMR2CN=0X00;//定时器模式,自动重载
  54   1              TMR2CF=0x00;//DCEN=0,向下计数禁止,采用系统时钟
  55   1              RCAP2=0x0000;
C51 COMPILER V7.20   TIMER_INI                                                             09/02/2007 21:16:40 PAGE 2   

  56   1              TMR2=0x0000;
  57   1              SFRPAGE=0X00;
  58   1          ET2=1;//T2中断使能
  59   1              SFRPAGE=temppage;
  60   1          t2count=0;
  61   1      }
  62          void t2_time90s_start()
  63          {
  64   1              temppage=SFRPAGE;
  65   1              SFRPAGE=0x00;
  66   1              TMR2=0x0000;
  67   1              TF2=0;
  68   1              TR2=1;
  69   1              SFRPAGE=temppage;
  70   1          
  71   1      }
  72          void t4_count_ini()
  73          {//T4为计数模式,路程计数
  74   1              temppage=SFRPAGE;
  75   1              SFRPAGE=0x02;
  76   1              TMR4CF=0X00;   //计数模式下,对T4M1-T4M0设置无效,DCEN=0,向下计数禁止
  77   1              TMR4CN=0X02;   // CT4=1  T4为计数器模式
  78   1          RCAP4=0X00;
  79   1              TMR4=RCAP4;
  80   1              TR4=1;        //开始计数
  81   1              SFRPAGE=0X00;
  82   1              //EIE2|=0X04;//T4中断禁止
  83   1              SFRPAGE=temppage;
  84   1      }
  85          
  86          
  87          /****T3产生40K方波*/
  88          void t3_fre_set(uint val){//T3频率设置,计算公式为:(T3时钟频率/(2*val))
  89   1              temppage=SFRPAGE;
  90   1              SFRPAGE=0x01;
  91   1              RCAP3=~val+1;
  92   1              TMR3=RCAP3;
  93   1              SFRPAGE=temppage;
  94   1      }
  95          void t3_fre_set40k(void)
  96          {
  97   1           t3_fre_set(100);
  98   1      }
  99          void t3_ini()
 100          {//t3为频率输出模式
 101   1              temppage=SFRPAGE;
 102   1              SFRPAGE=0x01;
 103   1              TMR3CN=0x00;    //TR3=0,T3尚未启动
 104   1              TMR3CF=0x02;    //T3采用系统时钟,TOG3=0,T3不计数时输出为0,DCEN=0
 105   1              SFRPAGE=temppage;
 106   1      }
 107          
 108          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    178    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
C51 COMPILER V7.20   TIMER_INI                                                             09/02/2007 21:16:40 PAGE 3   

   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 + -