亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? f06x_timer2_16bitcapturetimer.c

?? C8051F060的Timer2的配置例子
?? C
字號:
//-----------------------------------------------------------------------------
// F06x_Timer2_16bitCaptureTimer.c
//-----------------------------------------------------------------------------
// Copyright 2005 Silicon Laboratories, Inc.
// http://www.silabs.com
//
// Program Description:
//
// This program presents an example of use of the Timer2 of the C8051F06x's in
// 16-bit capture mode. It uses the 'F06xDK as HW platform.
//
// In this example code the TRIGGER I/O toggles at a fixed rate. This I/O pin
// is connected to the capture input associated with the Timer2. When the
// trigger pin goes up the capture begins and stops when it goes down.
// Once the capture is finished an interrupt is generated and the Timer2 ISR
// reads the captured values from RCAP2H/L into global variables and toggles
// the LED.
//
// Pinout:
//
//    P0.0 - T2EX (Timer2 Capture Input)
//
//    P1.5 - TRIGGER (Pin used to trigger capture by Timer2)
//    P1.6 - LED (LED='1' means ON)
//    P1.7 - OVERFLOW (Pin toggled if Timer2 overflows instead of captures)
//
//    all other port pins unused
//
// Connections:
//
// P0.0(T2EX) <--> P1.5(TRIGGER)
//
// How To Test:
//
// 1) Open the F06x_Timer2_16bitCaptureTimer.c file in the IDE
// 2) If a different trigger pulse size is necessary change the value of
//    SOFTWARE_DELAY. If this value is too large, Timer2 will overflow before
//    the capture pulse occurs, causing an unwanted Timer2 interrupt (seen
//    on the OVERFLOW pin).
// 3) Connect P1.5(TRIGGER) <--> P1.7(T2EX)
// 4) Verify J3 is populated on the 'F06x TB.
// 5) Compile and download the code
// 6) Run the code
// 7) Check the Capture Value in CaptureValue.(LED toggles at every capture)
//
//
// FID:            06X000023
// Target:         C8051F06x
// Tool chain:     KEIL C51 7.20 / KEIL EVAL C51
// Command Line:   None
//
// Release 1.0
//    -Initial Revision (CG)
//    -09 NOV 2005
//

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------

#include <C8051F060.h>                 // SFR declarations

//-----------------------------------------------------------------------------
// Global Constants
//-----------------------------------------------------------------------------

#define SOFTWARE_DELAY           6800  // Number of counts for the software
                                       // timer for capture pulse toggling.
                                       // If this value is too large, Timer2
                                       // will overflow before the capture
                                       // pulse occurs, causing an unwanted
                                       // Timer2 interrupt (seen on the
                                       // OVERFLOW pin).

sbit TRIGGER = P1^5;                   // Pin used to trigger capture by Timer2
sbit LED = P1^6;                       // LED='1' means ON
sbit OVERFLOW = P1^7;                  // Toggle the OVERFLOW pin if T2
                                       // overflows instead of captures

//-----------------------------------------------------------------------------
// Global Variables
//-----------------------------------------------------------------------------

unsigned int CaptureValue;             // Contains the value of the timer
                                       // captured by the external trigger

sfr16 RCAP2 = 0xCA;                    // Timer2 reload register
sfr16 TMR2 = 0xCC;                     // Timer2 register

//-----------------------------------------------------------------------------
// Function Prototypes
//-----------------------------------------------------------------------------

void Port_Init (void);                 // Port initialization routine
void Timer2_Init (void);               // Timer2 initialization routine

//-----------------------------------------------------------------------------
// main() Routine
//-----------------------------------------------------------------------------

void main (void)
{
   unsigned int captureCounter;

   WDTCN = 0xDE;                       // Disable watchdog timer
   WDTCN = 0xAD;

   Timer2_Init ();                     // Initialize the Timer2
   Port_Init();                        // Init Ports
   EA = 1;                             // Enable global interrupts

   while (1)
   {
      // This loop waits SOFTWARE_DELAY counts before toggling the TRIGGER
      // input.  The positive edge starts the capture process and the negative
      // edge stops the capture and generates the interrupt.
      for(captureCounter=0; captureCounter < SOFTWARE_DELAY; captureCounter++);
      TRIGGER=~TRIGGER;
   }
}

//-----------------------------------------------------------------------------
// Initialization Subroutines
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Port_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// This function configures the crossbar and GPIO ports.
//
//    P0.0 - T2EX (Timer2 Capture Input)
//
//    P1.5 - TRIGGER (Pin used to trigger capture by Timer2)
//    P1.6 - LED (LED='1' means ON)
//    P1.7 - OVERFLOW (Pin toggled if Timer2 overflows instead of captures)
//
//    all other port pins unused
//
//-----------------------------------------------------------------------------
void Port_Init (void)
{
   char SFRPAGE_SAVE = SFRPAGE;        // Save Current SFR page

   SFRPAGE = CONFIG_PAGE;              // Set SFR page
   XBR1 = 0x40;                        // T2EX input enabled in crossbar

   XBR2 = 0x40;                        // Enable crossbar
   P1MDOUT = 0xE0;                     // Set P1.6(LED) to push-pull

   SFRPAGE = SFRPAGE_SAVE;             // Restore SFR page
}

//-----------------------------------------------------------------------------
// Timer2_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// This function configures the Timer2 as 16-bit capture,interrupt enabled.
// It Uses the internal osc. at 24.5MHz with a prescaler of 1:8 and also a
// timer prescaler of 1:12.
//-----------------------------------------------------------------------------
void Timer2_Init(void)
{
   char SFRPAGE_SAVE = SFRPAGE;        // Save Current SFR page

   SFRPAGE = TMR2_PAGE;                // Set SFR page
   TMR2CF = 0x18;                      // Timer2 uses SYSCLK/12
   TMR2CN = 0x0D;                      // Enable Timer2 capture
   ET2 = 1;                            // Timer2 interrupt enabled

   SFRPAGE = SFRPAGE_SAVE;             // Restore SFR page
}


//-----------------------------------------------------------------------------
// Interrupt Service Routines
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Timer2_ISR
//-----------------------------------------------------------------------------
//
// Here we process the timer interrupt and toggle the LED
//
//-----------------------------------------------------------------------------
void Timer2_ISR (void) interrupt 5
{
   if(EXF2)
   {
      EXF2 = 0;                        // Reset Capture Flag
      TMR2 = 0;                        // Reset Timer2 reg. to avoid
                                       // interrupt
      CaptureValue = RCAP2;            // Save capture registers
      LED = ~LED;                      // Toggle the LED
   }
   else if(TF2)
   {
      TF2 = 0;
      OVERFLOW = ~OVERFLOW;            // Any eventual overflow will be
                                       // shown in the overflow I/O Pin
   }
}

//-----------------------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色av中文一区二区三区| 欧美一区二区不卡视频| 亚洲一区二区美女| 日本一区二区三区在线不卡| 6080国产精品一区二区| 色噜噜久久综合| 国产91精品精华液一区二区三区| 日韩有码一区二区三区| 一区二区欧美视频| 亚洲男人的天堂网| 亚洲欧洲精品天堂一级 | fc2成人免费人成在线观看播放| 久久国产精品区| 石原莉奈一区二区三区在线观看| 一区二区三区久久| 亚洲精品高清视频在线观看| 中文字幕在线不卡一区二区三区| 精品日韩av一区二区| 91精品国产福利| 欧美电影免费观看完整版| 在线综合亚洲欧美在线视频| 欧美高清视频在线高清观看mv色露露十八 | 9i看片成人免费高清| av一区二区三区黑人| 91在线精品一区二区| 色又黄又爽网站www久久| 91欧美一区二区| av午夜一区麻豆| 在线免费视频一区二区| 欧美调教femdomvk| 日韩一卡二卡三卡国产欧美| 日韩欧美在线123| 久久综合色之久久综合| 国产精品久线在线观看| 日韩理论片中文av| 天天综合色天天| 国产一区二区三区在线观看免费| 国产一区二区三区免费播放| 国产成人小视频| 在线观看亚洲精品视频| 欧美一卡2卡三卡4卡5免费| 精品成人一区二区三区四区| 国产精品免费av| 亚洲国产精品久久久久婷婷884 | 亚洲三级视频在线观看| 调教+趴+乳夹+国产+精品| 国产在线精品视频| 色婷婷综合久久久中文一区二区 | 亚洲欧美一区二区三区久本道91| 午夜欧美在线一二页| 国产一区二区女| 欧美日韩在线一区二区| 国产无遮挡一区二区三区毛片日本| 亚洲视频免费看| 久久99精品网久久| 欧美日韩综合色| 国产精品国产三级国产三级人妇 | 一区二区三区在线视频播放| 国产在线视频一区二区三区| 色吧成人激情小说| 久久先锋资源网| 天天影视色香欲综合网老头| 99视频一区二区| 欧美xxxxxxxxx| 日韩精品视频网站| 在线中文字幕不卡| 中文字幕不卡的av| 精品影院一区二区久久久| 在线观看视频一区二区欧美日韩| 久久久一区二区三区捆绑**| 天天免费综合色| 欧美性大战久久| 亚洲日本在线观看| 91视频在线观看| 中文子幕无线码一区tr| 国产精品一二三区| 精品av综合导航| 美国三级日本三级久久99| 在线观看日韩一区| 一区二区免费看| 91官网在线观看| 亚洲综合精品自拍| 欧美日韩一本到| 日韩黄色免费电影| 777a∨成人精品桃花网| 蜜乳av一区二区三区| 日韩视频一区二区在线观看| 美女高潮久久久| 亚洲精品一区二区三区影院 | 久久老女人爱爱| 国产成人精品免费在线| 国产精品欧美一区喷水| 91老师国产黑色丝袜在线| 亚洲精品一二三| 欧美三级午夜理伦三级中视频| 亚洲国产欧美另类丝袜| 欧美一区二区三区人| 久久精品国产亚洲a| 国产日韩欧美精品电影三级在线| 国产一区二区三区黄视频| 国产精品热久久久久夜色精品三区| 不卡的看片网站| 日韩二区在线观看| 国产午夜精品一区二区 | 国产精品视频第一区| 在线观看视频91| 极品尤物av久久免费看| 国产精品久久久久久久久动漫 | 国产三级久久久| 色老汉一区二区三区| 九九国产精品视频| 亚洲激情第一区| 久久蜜桃av一区二区天堂| 色激情天天射综合网| 久久99国内精品| 亚洲一线二线三线视频| 久久午夜国产精品| 欧美日韩国产乱码电影| 成人性色生活片免费看爆迷你毛片| 亚洲一二三四在线观看| 国产亚洲精久久久久久| 欧美三级韩国三级日本三斤| 国产激情视频一区二区三区欧美| 亚洲第一成年网| 中文字幕中文字幕一区二区| 日韩欧美国产wwwww| 色婷婷综合激情| 成人av在线播放网站| 久久97超碰国产精品超碰| 一区二区三区欧美日| 国产精品免费视频网站| 日韩一区二区三免费高清| 色偷偷久久人人79超碰人人澡 | 高清视频一区二区| 久久国产福利国产秒拍| 亚洲第一福利一区| 亚洲综合网站在线观看| 亚洲视频网在线直播| 欧美国产综合一区二区| 久久久久久久久久久电影| 日韩欧美色综合网站| 欧美一区三区二区| 欧美图区在线视频| 欧美性生活大片视频| 色综合久久六月婷婷中文字幕| 北岛玲一区二区三区四区| 成人免费视频播放| 不卡影院免费观看| 99综合影院在线| 91免费视频网址| 在线免费精品视频| 91成人免费在线视频| 欧美三级资源在线| 欧美一区二区国产| 欧美精品一区二区三| 3atv一区二区三区| 日韩欧美成人一区| 久久先锋影音av| 中文字幕在线一区二区三区| 亚洲人成电影网站色mp4| 一区二区在线看| 午夜精品在线看| 韩国在线一区二区| 成人av电影在线| 欧美一a一片一级一片| 91麻豆精品国产| 久久美女艺术照精彩视频福利播放| 欧美激情中文字幕| 亚洲一区二区三区四区五区中文| 午夜视频久久久久久| 亚洲人成在线观看一区二区| 亚洲欧美另类小说| 日韩精品免费视频人成| 国产一区二区不卡| 91色综合久久久久婷婷| 在线日韩一区二区| 91免费在线视频观看| 91网站在线播放| 色国产精品一区在线观看| 色婷婷精品大在线视频| 成人国产电影网| 欧美丰满嫩嫩电影| 欧美色图一区二区三区| 欧美精品第1页| 日韩中文字幕区一区有砖一区| 欧美视频一区二区三区| 日韩激情中文字幕| 亚洲精品在线免费播放| 成年人国产精品| 亚洲第一久久影院| 欧美电视剧在线看免费| 日韩在线观看一区二区| 97久久人人超碰| 91精品国产入口在线| 日韩欧美亚洲国产另类| 久久久综合精品| 一区二区三区在线免费观看| 日韩黄色在线观看| 国产大陆a不卡| 欧美精品色一区二区三区|