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

📄 timers.lst

📁 silicon wireless开发套件F920+Si4432原理图,源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 207   1              if( TF1 == 0)
 208   1              {
 209   2                      return FALSE;
 210   2              }
 211   1              else
 212   1              {
 213   2                      StopTmr1();
 214   2                      return TRUE;
 215   2              }
 216   1      }
 217          
 218          /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 219            +
 220            + FUNCTION NAME:  void StartTmr2(uint8 prescaler, UU16 period, bit it_enable)
 221            +
 222            + DESCRIPTION:    start TMR2 in the specified mode
 223            +
 224            +     INPUT:                  prescaler:              TMR2_1, TMR2_12
 225            +                                     period:                 the duration of the timing      
 226            +                                     it_enable:              TRUE - it enables the IT; FALSE - it disables 
 227            +                                                                     the IT (status should be polled)        
 228            +
 229            + RETURN:         
 230            +
 231            + NOTES:          
 232            +
 233            +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 234          void StartTmr2(uint8 prescaler, UU16 period, bit it_enable)
 235          {
 236   1              //setup timer
 237   1              CKCON = (CKCON & 0xCF) | prescaler;
 238   1              TMR2CN = 0x00;
 239   1              
 240   1              //set time period
 241   1              period.U16 = 65535 - period.U16;
C51 COMPILER V8.00   TIMERS                                                                11/17/2008 10:50:42 PAGE 5   

 242   1              TMR2H = period.U8[MSB];
 243   1              TMR2L = period.U8[LSB];
 244   1              TMR2RLH = period.U8[MSB];       
 245   1              TMR2RLL = period.U8[LSB];
 246   1      
 247   1              //enable IT if needed
 248   1              if( it_enable == TRUE )
 249   1              {
 250   2                      EnableTmr2It();
 251   2              }
 252   1              else
 253   1              {
 254   2                      DisableTmr2It();
 255   2              }
 256   1              EnableTmr2();
 257   1      }
 258          
 259          /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 260            +
 261            + FUNCTION NAME:  UU16 GetTmr2(void)
 262            +
 263            + DESCRIPTION:    gives back the actual value of TMR2
 264            +
 265            +     INPUT:                  
 266            +
 267            + RETURN:         
 268            +
 269            + NOTES:          
 270            +
 271            +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 272          UU16 GetTmr2(void)
 273          {
 274   1              UU16 Temp16;
 275   1      
 276   1              Temp16.U8[MSB] = TMR2H;
 277   1              Temp16.U8[LSB] = TMR2L;
 278   1      
 279   1              return Temp16;
 280   1      
 281   1      }
 282          
 283          
 284          /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 285            +
 286            + FUNCTION NAME:  bit Tmr2Expired(void)
 287            +
 288            + DESCRIPTION:    returns with TRUE if TMR2 already expired, 
 289            +                                     otherwise returns with FALSE
 290            +
 291            +     INPUT:                  None
 292            +
 293            + RETURN:         TRUE / FALSE
 294            +
 295            + NOTES:          it clears the IT status flag!
 296            +
 297            +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 298          bit Tmr2Expired(void)
 299          {
 300   1              if( TF2H == 0)
 301   1              {
 302   2                      return FALSE;
 303   2              }
C51 COMPILER V8.00   TIMERS                                                                11/17/2008 10:50:42 PAGE 6   

 304   1              else
 305   1              {       
 306   2                      StopTmr2();
 307   2                      return TRUE;
 308   2              }
 309   1      
 310   1      }
 311          
 312          
 313          /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 314            +
 315            + FUNCTION NAME:  void StartTmr3(uint8 prescaler, UU16 period, bit it_enable)
 316            +
 317            + DESCRIPTION:    start TMR3 in the specified mode
 318            +
 319            +     INPUT:                  prescaler:              TMR3_1, TMR3_12
 320            +                                     period:                 the duration of the timing      
 321            +                                     it_enable:              TRUE - it enables the IT; FALSE - it disables 
 322            +                                                                     the IT (status should be polled)        
 323            +
 324            + RETURN:         
 325            +
 326            + NOTES:          
 327            +
 328            +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 329          void StartTmr3(uint8 prescaler, UU16 period, bit it_enable)
 330          {
 331   1              //setup timer
 332   1              CKCON = (CKCON & 0x3F) | prescaler;
 333   1              TMR3CN = 0x00;
 334   1              
 335   1              //set time period
 336   1              period.U16 = 65535 - period.U16;
 337   1              TMR3H = period.U8[MSB];
 338   1              TMR3L = period.U8[LSB];
 339   1              TMR3RLH = period.U8[MSB];       
 340   1              TMR3RLL = period.U8[LSB];
 341   1      
 342   1              //enable IT if needed
 343   1              if( it_enable == TRUE )
 344   1              {
 345   2                      EnableTmr3It();
 346   2              }
 347   1              else
 348   1              {
 349   2                      DisableTmr3It();
 350   2              }
 351   1              EnableTmr3();
 352   1      }
 353          
 354          /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 355            +
 356            + FUNCTION NAME:  UU16 GetTmr3(void)
 357            +
 358            + DESCRIPTION:    gives back the actual value of TMR3
 359            +
 360            +     INPUT:                  
 361            +
 362            + RETURN:         
 363            +
 364            + NOTES:          
 365            +
C51 COMPILER V8.00   TIMERS                                                                11/17/2008 10:50:42 PAGE 7   

 366            +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 367          UU16 GetTmr3(void)
 368          {
 369   1              UU16 Temp16;
 370   1      
 371   1              Temp16.U8[MSB] = TMR3H;
 372   1              Temp16.U8[LSB] = TMR3L;
 373   1      
 374   1              return Temp16;
 375   1      
 376   1      }
 377          
 378          
 379          /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 380            +
 381            + FUNCTION NAME:  bit Tmr3Expired(void)
 382            +
 383            + DESCRIPTION:    returns with TRUE if TMR3 already expired, 
 384            +                                     otherwise returns with FALSE
 385            +
 386            +     INPUT:                  None
 387            +
 388            + RETURN:         TRUE / FALSE
 389            +
 390            + NOTES:          it clears the IT status flag!
 391            +
 392            +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 393          bit Tmr3Expired(void)
 394          {
 395   1              if( (TMR3CN & 0x80) == 0)
 396   1              {
 397   2                      return FALSE;
 398   2              }
 399   1              else
 400   1              {       
 401   2                      StopTmr3();
 402   2                      return TRUE;
 403   2              }
 404   1      
 405   1      }
 406          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    300    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      20
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       4
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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