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

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

?? f31x_timer0_13bitexttimer.c

?? C8051F31系列單片機的例子
?? C
字號:
//-----------------------------------------------------------------------------
// F31x_Timer0_13bitExtTimer.c
//-----------------------------------------------------------------------------
// Copyright 2005 Silicon Laboratories, Inc.
// http://www.silabs.com
//
// Program Description:
//
// This program presents an example of use of the Timer0 of the C8051F31x's in
// 13-bit counter/timer in counter mode from an external pin. It uses two I/O
// pins; one to create the input pulses (SIGNAL) to be counted and another one
// to enable the counting process (GTE).
//
// This code uses the 'F310DK as HW platform.
//
// Pinout:
//
//    P0.0 -> T0 (Timer0 External Input)
//    P0.1 -> Counter Enable Pin
//
//    P0.3 -> BUTTON1 (switch)
//
//    P1.5 -> GTE (digital, push-pull)
//
//    P1.7 -> SIGNAL (digital, push-pull)
//
//    P3.3 -> LED
//
//    all other port pins unused
//
// How To Test:
//
// 1) Open the F31x_Timer0_13bitExtTimer.c file in the Silicon Labs IDE.
// 2) To change the number of input pulses/interrupt, modify
//    PULSES_PER_TOGGLE.
// 3) To change the speed of the SIGNAL waveform, modify
//    SOFTWARE_DELAY
// 4) Compile the project
// 5) Download code to a 'F31x device
// 6) Verify the LED and switch pins of J3 are populated on the 'F31x TB.
// 7) Connnect the following pins:
//
//                   P0.0 <--> P1.7 (T0 with SIGNAL)
//                   P0.1 <--> P1.5 (P0.1 (enable) with GTE)
//
// 8) Run the code
// 9) To enable the counting, press and hold BUTTON1 (switch), which will be
//    polled to enable the timer.
// 10) The LED will blink and SIGNAL can be observed on an oscilloscope.
//
//
// FID:            31X000027
// Target:         C8051F31x
// Tool chain:     KEIL C51 7.20 / KEIL EVAL C51
// Command Line:   None
//
// Release 1.0
//    -Initial Revision (CG)
//    -21 NOV 2005
//

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

#include <C8051F310.h>                 // SFR declarations

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

#define SYSCLK             24500000/8  // SYSCLK in Hz (24.5 MHz internal
                                       // oscillator / 8)
                                       // the internal oscillator has a
                                       // tolerance of +/- 2%

#define PULSES_PER_TOGGLE       1000   // Arbitrary number of pulses in the
                                       // input pin necessary to create an
                                       // interrupt.
                                       // Limited to 0x1FFF or 8191d for a
                                       // 13-bit timer

#define SOFTWARE_DELAY  SYSCLK/100000  // Software timer to generate the
                                       // SIGNAL output
                                       // Generate a signal in the kHz range

#define AUX0 0x1FFF-PULSES_PER_TOGGLE+1
#define AUX1 AUX0&0x001F               // 5 LSBs of timer value in TL0[4:0]
#define AUX2 ((AUX0&0x1FFF)>>5)        // High 8 bits of timer in TH0

#define TIMER0_RELOAD_HIGH      AUX2   // Reload value for Timer0 high byte
#define TIMER0_RELOAD_LOW       AUX1   // Reload value for Timer0 5 LSBs

sbit GTE = P1^4;                       // Gate control signal for Timer0
sbit LED = P3^3;                       // LED='1' means ON
sbit SIGNAL = P1^7;                    // SIGNAL is used to input pulses into
                                       // T0 pin
sbit BUTTON1 = P0^7;                   // Button that enables counting

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

void Port_Init (void);                 // Port initialization routine
void Timer0_Init (void);               // Timer0 initialization routine

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

void main (void)
{
   unsigned int counter;

   PCA0MD &= ~0x40;                    // WDTE = 0 (clear watchdog timer
                                       // enable)

   Timer0_Init ();                     // Initialize the Timer0
   Port_Init ();                       // Init Ports

   LED = 0;
   EA = 1;                             // Enable global interrupts

   while (1)
   {
      if (BUTTON1 == 0)                // If button pressed, enable counting
      {
         GTE = 1;
      }
      else
      {
         GTE = 0;
      }

      // Wait a certain time before toggling signal
      for (counter=0; counter < SOFTWARE_DELAY; counter++);

      SIGNAL = ~SIGNAL;                // Toggle the SIGNAL pin
   }
}

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

//-----------------------------------------------------------------------------
// Port_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// This function configures the crossbar and GPIO ports.
//
//
// Pinout:
//
//    P0.0 -> T0 (Timer0 External Input)
//    P0.1 -> Counter Enable Pin
//
//    P0.3 -> BUTTON1 (switch)
//
//    P1.5 -> GTE (digital, push-pull)
//
//    P1.7 -> SIGNAL (digital, push-pull)
//
//    P3.3 -> LED
//
//    all other port pins unused
//
//-----------------------------------------------------------------------------
void Port_Init (void)
{
   XBR1 = 0x50;                        // INT0 and T0 available at the I/O pins
                                       // Enable crossbar
   P3MDOUT = 0x08;                     // Set I/Os to be used as push-pull
   P1MDOUT = 0xA0;

}

//-----------------------------------------------------------------------------
// Timer0_Init
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// This function configures the Timer0 as a 13-bit timer, interrupt enabled.
// Using an external signal as clock source 1:8 and reloading the
// TH0 and TL0 registers it will interrupt and then toggle the LED upon roll-
// over of the timer every 1sec.
//
// Note: In this example the GATE0 gate control is used.
//-----------------------------------------------------------------------------
void Timer0_Init(void)
{
   TMOD = 0x0C;                        // Timer0 in 13-bit mode ext. counter
                                       // gated counting T0 input
   ET0 = 1;                            // Timer0 interrupt enabled
   TCON = 0x11;                        // Timer0 ON with INT0 edge active
   TH0 = TIMER0_RELOAD_HIGH;           // Reinit Timer0 High register
   TL0 = TIMER0_RELOAD_LOW;            // Reinit Timer0 Low register
}


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

//-----------------------------------------------------------------------------
// Timer0_ISR
//-----------------------------------------------------------------------------
//
// Here we process the Timer0 interrupt and toggle the LED
//
//-----------------------------------------------------------------------------
void Timer0_ISR (void) interrupt 1
{
   LED = ~LED;                         // Toggle the LED
   TH0 = TIMER0_RELOAD_HIGH;           // Reinit Timer0 High register
   TL0 = TIMER0_RELOAD_LOW;            // Reinit Timer0 Low register
}

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精选在线观看| 一区二区三区.www| 亚洲色图清纯唯美| 麻豆极品一区二区三区| 日韩一区二区电影在线| 国产精品伦理在线| 国内精品久久久久影院薰衣草| 色八戒一区二区三区| 久久久久久9999| 日韩电影在线一区二区三区| 91亚洲男人天堂| 日本一区二区免费在线观看视频| 日韩精品三区四区| 欧美专区日韩专区| 中文字幕一区二区在线播放 | 日韩毛片在线免费观看| 麻豆一区二区99久久久久| 欧美色老头old∨ideo| 综合久久久久综合| 成人美女视频在线看| 国产欧美一区在线| 国产精品一区二区x88av| 日韩一区二区三区四区五区六区| 亚洲国产日产av| 欧美性猛交xxxx乱大交退制版| 日韩理论片在线| 99久久精品国产麻豆演员表| 欧美国产成人精品| 国产v综合v亚洲欧| 国产亚洲精品资源在线26u| 国产乱码精品一品二品| 久久美女艺术照精彩视频福利播放 | 精品久久久久久久人人人人传媒| 日本伊人色综合网| 日韩视频免费直播| 免费一区二区视频| 精品久久久久久综合日本欧美| 久久99精品国产麻豆婷婷洗澡| 欧美一区二区三区日韩| 毛片av一区二区三区| 精品少妇一区二区三区在线视频| 韩国精品主播一区二区在线观看 | 久久精品视频一区二区三区| 精品一区二区免费| 久久久久久久久岛国免费| 国产成人免费视频| 亚洲男人的天堂一区二区| 91精品福利在线| 日韩黄色在线观看| 精品对白一区国产伦| 白白色亚洲国产精品| 亚洲在线观看免费| 日韩精品一区二区三区中文精品| 国产一区福利在线| 亚洲精品视频在线观看免费 | 日韩国产欧美视频| 久久嫩草精品久久久久| av在线播放不卡| 亚洲国产日产av| 久久男人中文字幕资源站| av成人动漫在线观看| 一区二区三区在线观看视频| 日韩欧美一级片| 国产91丝袜在线18| 亚洲超丰满肉感bbw| 久久精品综合网| 欧美亚洲国产一区二区三区| 久久精品国产99久久6| 国产精品成人网| 欧洲精品一区二区| 国产成人在线视频网址| 一区二区三区欧美日| 精品国产露脸精彩对白| 91福利社在线观看| 久久99精品国产麻豆婷婷洗澡| 综合久久一区二区三区| 精品免费视频一区二区| 91福利视频网站| 国产在线精品一区二区不卡了| 亚洲黄色av一区| 欧美精品一区二区三区很污很色的 | 国产精品一区二区不卡| 亚洲一区二区三区四区五区黄 | 亚洲一二三四区不卡| 国产日韩欧美综合一区| 欧美日韩二区三区| 99re热这里只有精品视频| 激情久久五月天| 亚洲国产色一区| 欧美国产激情一区二区三区蜜月| 日韩欧美综合在线| 欧美日韩国产免费| 91丝袜美腿高跟国产极品老师| 国产黑丝在线一区二区三区| 日本不卡视频一二三区| 亚洲电影一区二区三区| 中文字幕一区二区不卡| 久久一区二区三区四区| 欧美一级在线观看| 欧美精品日日鲁夜夜添| 色婷婷综合激情| 97久久精品人人做人人爽| 国产a久久麻豆| 国产一区二区免费看| 国产真实乱子伦精品视频| 免费xxxx性欧美18vr| 日韩电影在线看| 亚洲成av人片在线| 丝袜亚洲另类丝袜在线| 香蕉成人啪国产精品视频综合网| 亚洲精品欧美激情| 亚洲一区视频在线| 亚洲欧美偷拍三级| 一级中文字幕一区二区| 一区二区国产视频| 一个色综合av| 亚洲午夜久久久久久久久电影院 | 亚洲精品中文在线| 一区二区三区免费在线观看| 亚洲欧美另类小说| 亚洲电影欧美电影有声小说| 午夜精品久久久久久久久| 午夜电影网一区| 蜜桃久久久久久| 韩国女主播成人在线| 粗大黑人巨茎大战欧美成人| 成人一区在线观看| 99re这里只有精品首页| 欧美丝袜自拍制服另类| 91精品中文字幕一区二区三区| 日韩欧美色综合网站| 国产亚洲人成网站| 中文字幕一区三区| 亚洲综合丁香婷婷六月香| 日日夜夜精品免费视频| 久久精品99久久久| 国产精品亚洲专一区二区三区 | 亚洲女女做受ⅹxx高潮| 亚洲国产精品久久久久婷婷884| 日韩国产欧美在线播放| 7777精品伊人久久久大香线蕉最新版| 欧美日韩大陆一区二区| 久久精品夜色噜噜亚洲a∨| 国产精品久久看| 日韩专区一卡二卡| 国产一区二区三区精品视频| av爱爱亚洲一区| 欧美精品一二三四| 国产精品成人午夜| 免费一级片91| 91亚洲午夜精品久久久久久| 日韩一本二本av| 中文字幕一区二区三区色视频| 视频一区中文字幕| 99视频一区二区三区| 日韩免费高清电影| 综合色天天鬼久久鬼色| 老汉av免费一区二区三区| 色菇凉天天综合网| 欧美成人r级一区二区三区| 一区二区三区日韩欧美| 国产乱码一区二区三区| 欧美日韩美少妇| 久久久国产精华| 日韩精品国产精品| 91蝌蚪porny九色| 欧美videos大乳护士334| 亚洲精选视频在线| 不卡一区二区三区四区| 日韩视频免费观看高清完整版在线观看 | 日韩国产精品91| 色综合久久综合中文综合网| 久久香蕉国产线看观看99| 天天影视涩香欲综合网| 一本大道av伊人久久综合| 久久精品亚洲精品国产欧美kt∨| 亚洲成a人v欧美综合天堂| 99精品视频在线观看免费| 五月天欧美精品| 久久国产综合精品| 欧美午夜电影网| 亚洲天天做日日做天天谢日日欢| 亚洲欧洲日韩女同| 国产激情一区二区三区| 精品精品国产高清a毛片牛牛 | 不卡一区中文字幕| 久久嫩草精品久久久精品一| 久久精品国产成人一区二区三区| 欧美三级欧美一级| 午夜精品影院在线观看| 91麻豆精品国产91久久久更新时间| 亚洲三级久久久| av成人动漫在线观看| 国产精品激情偷乱一区二区∴| 艳妇臀荡乳欲伦亚洲一区| 欧美亚洲日本国产| 国产一区二区中文字幕| 亚洲男女毛片无遮挡| 欧美一区二区人人喊爽| 国产+成+人+亚洲欧洲自线|