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

📄 prm_hard.lst

📁 时间触发嵌入式系统设计模式:使用8051系列微控制器开发可靠应用
💻 LST
字号:
C51 COMPILER V6.10  PRM_HARD                                                               04/19/2001 10:39:57 PAGE 1   


C51 COMPILER V6.10, COMPILATION OF MODULE PRM_HARD
OBJECT MODULE PLACED IN .\PRM_HARD.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\PRM_HARD.C OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*------------------------------------------------------------------*-
   2          
   3             PRM_Hard.C (v1.00)
   4          
   5            ------------------------------------------------------------------
   6          
   7             Simple library demonstrating hardware (T2) pulse-rate modulation.
   8          
   9             See Chapter 31 for details.
  10          
  11          
  12             COPYRIGHT
  13             ---------
  14          
  15             This code is from the book:
  16          
  17             PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  18             [Pearson Education, 2001; ISBN: 0-201-33138-1].
  19          
  20             This code is copyright (c) 2001 by Michael J. Pont.
  21           
  22             See book for copyright details and other information.
  23          
  24          -*------------------------------------------------------------------*/
  25          
  26          #include "Main.h"
  27          
  28          // ------ Public variable definitions ------------------------------
  29          
  30          tWord PRM_reload_G = 0;
  31          
  32          /*------------------------------------------------------------------*-
  33          
  34            PRM_Hardware_Init()
  35          
  36            Start PRM.
  37          
  38          -*------------------------------------------------------------------*/
  39          void PRM_Hardware_Init(void)
  40             {
  41   1         T2CON &= 0xFD;   // Clear *only* C /T2 bit
  42   1         T2MOD |= 0x02;   // Set T2OE bit  (omit in basic 8052 clone)
  43   1        
  44   1         // Start at lowest frequency (~45Hz with 12MHz xtal)
  45   1         TL2     = 0x00;   // Timer 2 low byte
  46   1         TH2     = 0x00;   // Timer 2 high byte
  47   1         RCAP2L  = 0x00;   // Timer 2 reload capture register, low byte
  48   1         RCAP2H  = 0x00;   // Timer 2 reload capture register, high byte
  49   1      
  50   1         ET2   = 0; // No interrupt.
  51   1      
  52   1         TR2   = 1; // Start timer 2
  53   1         }
  54          
  55          
C51 COMPILER V6.10  PRM_HARD                                                               04/19/2001 10:39:57 PAGE 2   

  56          /*------------------------------------------------------------------*-
  57          
  58            PRM_Hardware_Update()
  59          
  60            Call this function only when you need to change the pulse rate. 
  61          
  62            See text for details of resulting PRM frequency.
  63          
  64          -*------------------------------------------------------------------*/
  65          void PRM_Hardware_Update(void)
  66             {
  67   1         TR2 = 0;
  68   1      
  69   1         TL2    = PRM_reload_G % 256;
  70   1         RCAP2L = TL2;
  71   1         TH2    = PRM_reload_G / 256;
  72   1         RCAP2H = TH2;
  73   1        
  74   1         TR2 = 1;
  75   1         }
  76          
  77          /*------------------------------------------------------------------*-
  78            ---- END OF FILE -------------------------------------------------
  79          -*------------------------------------------------------------------*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     38    ----
   CONSTANT SIZE    =   ----    ----
   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 + -