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

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

?? f06x_oscillator_cmos.c

?? C8051F060的時鐘配置例子
?? C
字號:
//-----------------------------------------------------------------------------
// F06x_Oscillator_CMOS.c
//-----------------------------------------------------------------------------
// Copyright 2006 Silicon Laboratories, Inc.
// http://www.silabs.com
//
// Program Description:
//
// This example demonstrates how to initialize for and switch to an external
// CMOS Oscillator.
// - Pinout:
//    P0.0 -> /SYSCLK
//
//    P1.6 -> LED
//
//    all other port pins unused
//
//    XTAL1 -> XTAL1 - External CMOS Oscillator input
//
//
// How To Test:
//
// 1) Define the input CMOS clock frequency using <CMOS_clock>
// 2) Compile and download code to a 'F06x device.
// 3) Connect the CMOS input clock to XTAL1 (J21 on the TB)
// 4) Run the code:
//      - the test will blink an LED at a frequency based on the CMOS
//         Oscillator
//      - the 'F06x will also output the SYSCLK to a port pin (P0.0) for
//         observation
//
//
// FID:            06X000010
// Target:         C8051F06x
// Tool chain:     Keil C51 7.50 / Keil EVAL C51
// Command Line:   None
//
// Release 1.0
//    -Initial Revision (TP)
//    -31 MAY 2006
//

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

#include <C8051F060.h>                 // SFR declarations

//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------

#define CMOS_clock 3062500             // CMOS oscillator frequency

// Timer2 using SYSCLK/12 as its time base
// Timer2 counts 65536 SYSCLKs per Timer2 interrupt
// LED target flash rate = 10 Hz (may be slower, depending on CMOS_clock)
//
// If CMOS_clock is too slow to divide into a number of counts,
// <count> will always remain 0. In this case, the LED Flash rate will be
// slower than 10 Hz.
#define LED_interrupt_count CMOS_clock/12/65536/10


sfr16 RCAP2 = 0xCA;                    // Timer2 reload value
sfr16 TMR2 = 0xCC;                     // Timer2 counter

sbit LED = P1^6;                       // LED='1' means ON

//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------

void SYSCLK_Init (void);
void ExtCMOSOsc_Init (void);
void Port_Init (void);
void Timer2_Init (void);

void Timer2_ISR (void);

//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------
//
// Main routine performs all configuration tasks, switches to the external CMOS
// oscillator, and loops forever, blinking the LED.
//
void main (void) {

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

   SFRPAGE = CONFIG_PAGE;

   SYSCLK_Init ();                     // Initialize system clock to 24.5MHz

   ExtCMOSOsc_Init ();                 // Initialize for and switch to the
                                       // external CMOS oscillator

   Port_Init ();                       // Initialize crossbar and GPIO

   SFRPAGE = TMR2_PAGE;

   Timer2_Init ();                     // Init Timer2 to generate
                                       // interrupts for the LED.

   EA = 1;                             // Enable global interrupts

   SFRPAGE = LEGACY_PAGE;              // Sit in this SFRPAGE

   while (1) {                         // Spin forever
   }
}

//-----------------------------------------------------------------------------
// Initialization Routines
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// SYSCLK_Init ()
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// This routine initializes the system clock to use the internal 24.5 MHz
// oscillator as its clock source.  Also enables missing clock detector reset.
//
void SYSCLK_Init (void)
{
   OSCICN = 0x83;                      // Configure internal oscillator for
                                       // its highest frequency (24.5 MHz)

   RSTSRC = 0x04;                      // Enable missing clock detector
}

//-----------------------------------------------------------------------------
// ExtCMOSOsc_Init ()
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// This routine initializes for and switches to the External CMOS Oscillator.
//
// Note: In CMOS clock configuration, the clock source should be wired to the
// XTAL1 pin as shown in Option 4 in the Oscillators section of the datasheet.
//
void ExtCMOSOsc_Init (void)
{
   OSCXCN = 0x20;                      // External Oscillator is a CMOS clock
                                       // (no divide by 2 stage)
                                       // XFCN bit settings do not apply to a
                                       // CMOS clock

   CLKSEL = 0x01;                      // Switch to the external CMOS clock
}

//-----------------------------------------------------------------------------
// Port_Init ()
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// Configure the Crossbar and GPIO ports.
//
// P0.0   digital   push-pull     /SYSCLK
// P0.1                           unused
// P0.2                           unused
// P0.3                           unused
// P0.4                           unused
// P0.5                           unused
// P0.6                           unused
// P0.7                           unused
//
// P1.0                           unused
// P1.1                           unused
// P1.2                           unused
// P1.3                           unused
// P1.4                           unused
// P1.5                           unused
// P1.6   digital   push-pull     LED
// P1.7                           unused
//
// P2                             unused
//
// P3                             unused
//
// P4                             unused
//
// P5                             unused
//
// P6                             unused
//
// P7                             unused
//
void PORT_Init (void)
{
   P0MDOUT |= 0x01;                    // Enable /SYSCLK as a push-pull output

   P1MDOUT |= 0x40;                    // Enable LED as a push-pull output

   XBR1 = 0x80;                        // Route /SYSCLK to a port pin
   XBR2 = 0x40;                        // Enable crossbar and weak pull-ups
}

//-----------------------------------------------------------------------------
// Timer2_Init ()
//-----------------------------------------------------------------------------
//
// Return Value : None
// Parameters   : None
//
// Configure Timer2 to 16-bit auto-reload and generate an interrupt after the
// maximum possible time (TMR2RL = 0x0000).
//
void Timer2_Init (void)
{
   TMR2CN = 0x00;                      // Stop Timer2; Clear TF2;
                                       // auto-reload mode

   TMR2CF = 0x00;                      // use SYSCLK/12 as timebase; count up

   RCAP2 = 0x0000;                     // Init reload value
   TMR2 = 0xffff;                      // Set to reload immediately

   ET2 = 1;                            // Enable Timer2 interrupts

   TR2 = 1;                            // Start Timer2
}

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

//-----------------------------------------------------------------------------
// Timer2_ISR
//-----------------------------------------------------------------------------
//
// This routine changes the state of the LED whenever Timer2 overflows.
//
void Timer2_ISR (void) interrupt 5
{
   static unsigned int count = 0;

   TF2 = 0;                            // Clear Timer2 interrupt flag

   if (count == LED_interrupt_count)
   {
      LED = ~LED;                      // Change state of LED

      count = 0;
   }
   else
   {
      count++;
   }
}

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜电影久久影院| 日本一区二区久久| 视频一区在线视频| 在线观看免费亚洲| 亚洲精品乱码久久久久久久久| 国产成人av一区二区三区在线| 久久久精品一品道一区| 久久精品99国产精品| 欧美一区二区三区日韩视频| 亚洲第一福利视频在线| 欧美精品视频www在线观看| 亚洲成人av资源| 日韩欧美区一区二| 韩国女主播成人在线| 欧美精彩视频一区二区三区| 顶级嫩模精品视频在线看| 国产精品免费视频网站| 欧美午夜寂寞影院| 黑人巨大精品欧美黑白配亚洲| 久久久国产午夜精品| 色婷婷一区二区| 久久精品国产99国产精品| 国产三级欧美三级| 色网站国产精品| 国产麻豆欧美日韩一区| 综合久久给合久久狠狠狠97色| 欧美制服丝袜第一页| 国产精品自在在线| 一区二区理论电影在线观看| 日韩一区二区电影| 91丨九色丨尤物| 国产精品一区不卡| 日韩精品电影在线| 亚洲欧美成人一区二区三区| 日韩视频免费观看高清在线视频| 国产精品亚洲成人| 久久99日本精品| 午夜精品久久久久久久蜜桃app| 国产精品视频第一区| 91精品福利在线一区二区三区 | 成人性生交大合| 美女久久久精品| 三级不卡在线观看| 亚洲综合一区二区| 亚洲欧洲日本在线| 国产精品水嫩水嫩| 久久免费电影网| 国产午夜一区二区三区| 欧美一区二区三区免费视频| 91成人网在线| 欧美综合在线视频| 在线精品观看国产| 欧美三级中文字幕在线观看| 91在线视频播放地址| 91丨porny丨在线| 91老司机福利 在线| 精品入口麻豆88视频| 精品电影一区二区| 亚洲免费成人av| eeuss鲁片一区二区三区在线看 | 欧美一区二区三区视频免费| 亚洲国产精品激情在线观看| 免费观看一级特黄欧美大片| 99re66热这里只有精品3直播| 在线不卡一区二区| 亚洲黄色av一区| 成人高清视频在线| 久久午夜色播影院免费高清| 亚洲综合在线观看视频| 国产精品资源在线看| 欧美一区二区三区男人的天堂| 一区二区三区在线观看国产| 懂色av一区二区三区蜜臀| 久久亚洲捆绑美女| 免费观看在线色综合| 欧美精品精品一区| 亚欧色一区w666天堂| 欧美在线不卡一区| 亚洲国产人成综合网站| 色狠狠色噜噜噜综合网| 一级做a爱片久久| 欧美在线制服丝袜| 午夜精品一区在线观看| 欧美亚一区二区| 人人狠狠综合久久亚洲| 欧美日本免费一区二区三区| 日韩高清一级片| 精品国内片67194| 丁香婷婷深情五月亚洲| 亚洲精品在线三区| 国产成+人+日韩+欧美+亚洲| 国产精品免费av| 欧美日韩国产免费| 久久精品国产99| 欧美经典三级视频一区二区三区| 成人va在线观看| 亚洲成人免费电影| 久久久av毛片精品| 色综合天天性综合| 亚洲成人激情综合网| 制服丝袜中文字幕一区| 日本伊人色综合网| 精品粉嫩超白一线天av| 国产成人av电影在线观看| 中文字幕av一区 二区| 91亚洲国产成人精品一区二三| 亚洲老司机在线| 91精品国产综合久久久久久久 | 国产jizzjizz一区二区| 国产精品美女久久久久aⅴ| 色综合av在线| 国产精品小仙女| 亚洲一区二区三区四区在线 | 日韩精品一区二区三区老鸭窝 | 欧美电视剧在线观看完整版| hitomi一区二区三区精品| 久久久三级国产网站| 欧美日韩视频一区二区| 99国产一区二区三精品乱码| 蜜臀av一区二区三区| 一区二区在线观看视频| 久久综合九色综合久久久精品综合| 91在线视频在线| 九九**精品视频免费播放| 一区二区三区不卡视频| 久久九九久久九九| 3atv一区二区三区| 在线免费不卡电影| 97se亚洲国产综合在线| 国产一区二区毛片| 日日摸夜夜添夜夜添国产精品| 国产欧美一区二区三区网站| 欧美tk—视频vk| 91精品国产日韩91久久久久久| 欧美综合亚洲图片综合区| 99视频一区二区| 日本乱人伦一区| 日本久久精品电影| 色综合天天综合狠狠| 91小视频在线| 在线观看免费视频综合| 色噜噜久久综合| 欧美日韩色综合| 99精品视频在线免费观看| 波波电影院一区二区三区| av电影天堂一区二区在线 | 国产精品一区二区在线播放| 99精品一区二区| 亚洲精品一区二区三区精华液| 国产欧美日韩另类一区| 水蜜桃久久夜色精品一区的特点| 国产成人精品一区二区三区四区| 成人污污视频在线观看| 成人午夜私人影院| 在线视频欧美精品| 欧美猛男gaygay网站| 精品1区2区在线观看| 国产精品免费久久| 视频一区二区三区中文字幕| 国产精品伊人色| 在线视频你懂得一区| 久久免费电影网| 亚洲va国产va欧美va观看| 奇米精品一区二区三区四区| 不卡一二三区首页| 欧美成人高清电影在线| 国产精品久久久久久久久动漫| 亚洲自拍偷拍九九九| 韩国av一区二区三区在线观看| 成人爱爱电影网址| 欧美精品一区二区蜜臀亚洲| 日韩欧美卡一卡二| 国产精品亚洲一区二区三区在线| 99精品视频在线播放观看| 亚洲欧美日韩国产中文在线| av一区二区三区| 欧美亚洲自拍偷拍| 精品欧美一区二区久久| 免费成人av在线播放| 制服丝袜亚洲播放| 蜜臀av性久久久久蜜臀av麻豆| 欧美老肥妇做.爰bbww视频| 日韩精品亚洲一区| 欧美va亚洲va| 国产ts人妖一区二区| 中文字幕亚洲成人| 91色乱码一区二区三区| 成人欧美一区二区三区| 色综合天天综合| 日韩中文字幕区一区有砖一区 | 51午夜精品国产| 欧美日韩二区三区| 欧美韩国日本综合| 亚洲伊人伊色伊影伊综合网| 蜜桃精品在线观看| 色婷婷国产精品| 日韩精品一区二区三区老鸭窝| 国产日韩精品一区二区三区| 亚洲制服丝袜在线| 国产成人在线网站|