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

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

?? blinky.#1

?? C8051F單片機應用和液晶顯示器編程的例子
?? #1
字號:
//-----------------------------------------------------------------------------
// Blinky.c
//-----------------------------------------------------------------------------
// Copyright (C) 2004 Silicon Laboratories, Inc.
//
// AUTH: JS
// DATE: 03 JUL 02
//
// This program flashes the green LED on the C8051F31x target board about 
// five times a second using the interrupt handler for Timer2.
//
// Target: C8051F31x
//
// Tool chain: KEIL Eval 'c'
//

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include <c8051f310.h>                    // SFR declarations

//-----------------------------------------------------------------------------
// 16-bit SFR Definitions for 'F30x
//-----------------------------------------------------------------------------

sfr16 TMR2RL   = 0xca;                    // Timer2 reload value
sfr16 TMR2     = 0xcc;                    // Timer2 counter

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

#define SYSCLK       24500000 / 8         // SYSCLK frequency in Hz

sbit LED = P3^3;                          // LED='1' means ON
sbit SW2 = P0^7;                          // SW2='0' means switch pressed

//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------
void SYSCLK_Init (void);
void PORT_Init (void);
void Timer2_Init (int counts);
void Timer2_ISR (void);

//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------
void main (void) {

                                          
   PCA0MD &= ~0x40;                       // CIDL WDTE WDCLK 0 CPS2 CPS1 CPS0 ECF (sfr PCA0MD=0xD9;PCA0 MODE)
                                          // CIDL=0/1 當系統控制器處于空閑方式時,PCA 繼續正常工作/當系統控制器處于空閑方式時,PCA 停止工作.
                                          // WDTE=0/1 看門狗定時器被禁止/PCA 模塊4 被用作看門狗定時器.
                                          // WDCLK=0/1 對看門狗定時器使能位解鎖/鎖定看門狗定時器使能位(當WDCLK 被置‘1’時,在發生下一次系統復位之前將不能禁止WDT).
                                          // CPS2-CPS0=000 系統時鐘的12分頻 001 系統時鐘的4 分頻 010 定時器0 溢出 011 ECI 負跳變(最大速率= 系統時鐘頻率/4)100 系統時鐘 101 外部時鐘的8 分頻.
                                          // ECF=0/1 禁止CF中斷/當CF(PCA0CN.7)被置位時,允許PCA 計數器/定時器溢出的中斷請求.
                                          // disable watchdog timer
                                          // WDTE = 0 (clear watchdog timer enable)
	
   SYSCLK_Init ();                        // Initialize system clock to 24.5MHz
   PORT_Init ();                          // Initialize crossbar and GPIO
   Timer2_Init (SYSCLK / 12 / 10);        // Init Timer2 to generate 
                                          // interrupts at a 10Hz rate.

   EA = 1;                                // enable global interrupts

   while (1) {                            // spin forever
   }
}

//-----------------------------------------------------------------------------
// SYSCLK_Init
//-----------------------------------------------------------------------------
//
// This routine initializes the system clock to use the internal 24.5MHz / 8 
// oscillator as its clock source.  Also enables missing clock detector reset.
//
void SYSCLK_Init (void)
{
   OSCICN = 0x80;                         // IOSCEN IFRDY 0 0 0 0 IFCN1 IFCN0 (sfr OSCICN=0xB2;內部振蕩器控制寄存器) 
                                          // IOSCEN=1 內部振蕩器使能;IFRDY=0/1 內部振蕩器未運行在編程頻率/內部振蕩器按編程頻率運行.
                                          // IFCN1 IFCN0=00~11  8分頻 4 2 1分頻.

   RSTSRC = 0x04;                         // 0 FERROR C0RSEF SWRSF WDTRSF MCDRSF PORSF PINRSF (sfr RSTSRC=0xEF;復位源寄存器) 
                                          // MCDRSF=0/1 禁止時鐘丟失檢測器/使能時鐘丟失檢測器;檢測到時鐘丟失條件時觸發復位.
                                       
}

//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
//
// Configure the Crossbar and GPIO ports.
// P3.3 - LED (push-pull)
//
void PORT_Init (void)
{
                                          
   XBR0     = 0x00;                       // CP1AE CP1E CP0AE CP0E SYSCKE SMB0E SPI0E URT0E (sfr XBR0=0xE1;端口I/O 交叉開關寄存器0)
                                          // no digital peripherals selected

   XBR1     = 0x40;                       // WEAKPUD XBARE T1E T0E ECIE PCA0ME(3位) (sfr XBR1=0xE2;端口I/O 交叉開關寄存器1) 
                                          // WEAKPUD=0 弱上拉使能;XBARE=1 交叉開關使能;T1E=0 T1不連到端口引腳;T0E=0 T0不連到端口引腳.
                                          // ECIE(PCA0 外部計數輸入使能位)=0 ECI不連到端口引腳;PCA0ME=000 所有的PCA I/O 都不連到端口引腳.
                                          // Enable crossbar and weak pull-ups

   P3MDOUT |= 0x08;                       // 000 P3MDOUT[4:0](P3.4–P3.0 輸出方式配置位) (sfr P3MDOUT=0xA7;端口3輸出方式寄存器)
                                          // P3MDOUT[4:0]=0/1 對應的P3.n 輸出為漏極開路/對應的P3.n 輸出為推挽方式.
                                          // enable LED as a push-pull output
}

//-----------------------------------------------------------------------------
// Timer2_Init
//-----------------------------------------------------------------------------
//
// Configure Timer2 to 16-bit auto-reload and generate an interrupt at 
// interval specified by <counts> using SYSCLK/48 as its time base.
//
void Timer2_Init (int counts)
{
   TMR2CN  = 0x00;                        // TF2H TF2L TF2LEN 0 T2SPLIT TR2 0 T2XCLK (sfr TMR2CN=0xC8;定時器2控制寄存器)
                                          // TF2H:定時器2 高字節溢出標志,必須用軟件清0;TF2L:定時器2 低字節溢出標志,必須用軟件清0;TF2LEN=1 允許定時器2低字節中斷.
                                          // T2SPLIT=0/1 定時器2工作在16位自動重裝載方式/定時器2工作在雙8位自動重裝載定時器方式.
                                          // TR2=0定時器2禁止;T2XCLK=0/1 選擇定時器2外部時鐘為系統時鐘/12 /選擇定時器2 外部時鐘為外部時鐘/8.
                                          // Stop Timer2; Clear TF2;
                                          // use SYSCLK/12 as timebase

   CKCON  &= ~0x60;                       // T3MH T3ML T2MH T2ML T1M T0M SCA1 SCA0 (sfr CKCON=0x8E;時鐘控制寄存器)
                                          // T3MH=0/1 定時器3 高字節使用TMR3CN 中的T3XCLK 位定義的時鐘/定時器3 高字節使用系統時鐘.
                                          // T3ML=0/1 定時器3 低字節使用TMR3CN 中的T3XCLK 位定義的時鐘/定時器3 低字節使用系統時鐘.
                                          // T2MH=0/1 定時器2 高字節使用TMR2CN 中的T2XCLK 位定義的時鐘/定時器2 高字節使用系統時鐘.
                                          // T2ML=0/1 定時器2 低字節使用TMR2CN 中的T2XCLK 位定義的時鐘/定時器2 低字節使用系統時鐘.
                                          // T1M=0/1 定時器1 使用由分頻位(SCA1-SAC0)定義的時鐘/定時器1 使用系統時鐘.
                                          // T0M=0/1 定時器0 使用由分頻位(SCA1-SAC0)定義的時鐘/定時器0 使用系統時鐘.
                                          // SCA1 SCA0=00 系統時鐘/12 01 系統時鐘/4 10 系統時鐘/48 11 外部時鐘/8.
                                          // Timer2 clocked based on T2XCLK;

   TMR2RL  = -counts;                     // (sfr TMR2RLL=0xCA;定時器2 重載寄存器低字節)
                                          // (sfr TMR2RLH=0xCB;定時器2 重載寄存器高字節) 
                                          // Init reload values

   TMR2    = 0xffff;                      // (sfr TMR2L= 0xCC;定時器2 低字節)
                                          // 在16 位方式,TMR2L 寄存器保持16 位定時器2 的低字節。在8 位方式,TMR2L中保持8 位低字節定時器的計數值.
                                          // (sfr TMR2H= 0xCD;定時器2 高字節)  
                                          // 在16 位方式,TMR2H寄存器保持16 位定時器2 的高字節。在8 位方式,TMR2H中保持8 位高字節定時器的計數值.
                                          // set to reload immediately

   ET2     = 1;                           // sbit ET2= IE^5;TIMER 2 INTERRUPT ENABLE 
                                          // enable Timer2 interrupts

   TR2     = 1;                           // sbit TR2=TMR2CN^2;TIMER 2 ON/OFF CONTROL
                                          // start Timer2
}

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

//-----------------------------------------------------------------------------
// Timer2_ISR
//-----------------------------------------------------------------------------
// This routine changes the state of the LED whenever Timer2 overflows.
//
void Timer2_ISR (void) interrupt 5
{
   TF2H = 0;                              // sbit TF2H=TMR2CN^7;TIMER 2 HIGH BYTE OVERFLOW FLAG
                                          // clear Timer2 interrupt flag
   LED = ~LED;                            // change state of LED
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区二区在线观看| av电影天堂一区二区在线观看| 欧美日韩国产高清一区二区| 亚洲一区二区综合| 精品污污网站免费看| 婷婷亚洲久悠悠色悠在线播放| 日韩欧美一级二级三级| 国产精品一区二区久久精品爱涩| wwwwww.欧美系列| 成人免费黄色大片| 亚洲一区在线观看视频| 亚洲综合免费观看高清完整版在线| 99综合影院在线| 亚洲最快最全在线视频| 欧美肥胖老妇做爰| 国产乱国产乱300精品| 国产精品女上位| 日本道在线观看一区二区| 美国三级日本三级久久99| 国产三级欧美三级| 欧美视频一区二区三区四区| 久久国产精品免费| 一区二区三区久久| 精品88久久久久88久久久| 99久久久免费精品国产一区二区| 亚洲成国产人片在线观看| 久久久综合精品| 欧洲一区二区av| 狠狠色狠狠色综合系列| 亚洲mv在线观看| 欧美经典一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 国产精品一区二区在线播放| 亚洲精品国产成人久久av盗摄 | 无吗不卡中文字幕| 国产日产精品一区| 欧美日韩在线播放三区四区| 国产经典欧美精品| 亚洲mv在线观看| 亚洲欧洲精品成人久久奇米网| 91精品国产福利在线观看 | 色88888久久久久久影院野外| 青青草精品视频| 亚洲黄色免费电影| 国产精品丝袜久久久久久app| 制服丝袜中文字幕一区| 91亚洲永久精品| 国产精品一区二区在线观看不卡| 天天综合色天天| 亚洲色图欧洲色图| 亚洲国产精华液网站w| wwwwww.欧美系列| 91精品国产一区二区| 色狠狠色噜噜噜综合网| 麻豆精品蜜桃视频网站| 亚洲最大色网站| 国产精品国产三级国产aⅴ无密码| 欧美美女一区二区| 色妞www精品视频| jiyouzz国产精品久久| 国模少妇一区二区三区| 日本va欧美va精品| 偷拍与自拍一区| 亚洲国产精品一区二区www| 国产精品电影一区二区| 亚洲国产精品成人综合色在线婷婷| 亚洲精品在线免费观看视频| 日韩限制级电影在线观看| 欧美精品三级日韩久久| 88在线观看91蜜桃国自产| 欧美剧在线免费观看网站 | 国产午夜精品久久久久久久| 精品国产乱码久久| 欧美电影免费观看完整版| 亚洲亚洲人成综合网络| 国内精品久久久久影院薰衣草 | 日本一区二区三区dvd视频在线| 99国产精品久久久久久久久久久 | 日本成人中文字幕| 国产精品视频线看| 欧美日精品一区视频| 欧美午夜宅男影院| 亚洲国产wwwccc36天堂| 国产日韩欧美综合一区| 91丨九色丨尤物| 国产精品一区久久久久| 国内精品免费**视频| 国产精品99久久久| 国产成人无遮挡在线视频| 成人性生交大片免费看视频在线| 国产高清在线观看免费不卡| 成人高清免费观看| 在线观看av一区二区| 在线综合视频播放| 久久嫩草精品久久久精品一| 国产精品久久久久久久浪潮网站 | 久久这里只有精品6| www国产精品av| 亚洲人成人一区二区在线观看 | 高清不卡在线观看av| 成人午夜激情影院| 91国偷自产一区二区三区成为亚洲经典| 91蜜桃在线免费视频| 欧美日韩国产高清一区二区| xf在线a精品一区二区视频网站| 日韩免费看的电影| 国产精品免费视频网站| 亚洲免费在线电影| 日韩成人午夜精品| 成人丝袜18视频在线观看| 欧美最猛性xxxxx直播| 国产成人综合网| 成人av资源下载| av不卡一区二区三区| 在线免费观看日本一区| 欧美成人一区二区三区| 国产精品欧美久久久久无广告| 亚洲丝袜自拍清纯另类| 视频一区二区中文字幕| 成人午夜激情影院| 欧美日韩一区精品| 国产蜜臀av在线一区二区三区| 综合色中文字幕| 奇米在线7777在线精品| 91麻豆免费在线观看| 精品区一区二区| 亚洲一区欧美一区| 国产乱国产乱300精品| 欧美日韩国产另类一区| 国产精品久久久久影院| 裸体健美xxxx欧美裸体表演| 成人av免费观看| 欧美一区二区三区在线观看视频| 亚洲精品在线三区| 日韩激情一二三区| 一本一道波多野结衣一区二区| 久久久久久久久免费| 国产伦精品一区二区三区免费 | 日韩高清一区二区| 成人亚洲一区二区一| 日韩欧美综合在线| 亚洲一区二区三区美女| 成人在线视频一区二区| 日韩免费一区二区| 日韩高清在线观看| 欧美三电影在线| 一区二区三区免费观看| 成人一级黄色片| 一区二区三区在线不卡| 国产91色综合久久免费分享| 日韩欧美在线123| 亚洲国产另类精品专区| 欧美亚洲国产一区二区三区 | 夜夜操天天操亚洲| 91麻豆自制传媒国产之光| 亚洲欧洲日本在线| 成人性色生活片| 国产精品欧美综合在线| 不卡的av网站| 中文av一区二区| 成人av在线资源网站| 国产婷婷一区二区| 国产aⅴ综合色| 国产女人水真多18毛片18精品视频 | 亚洲午夜久久久久久久久电影网 | 在线观看91精品国产入口| 中文字幕一区视频| 成人18精品视频| 亚洲欧美一区二区久久| 色呦呦国产精品| 亚洲黄色免费网站| 欧美三级在线播放| 天堂蜜桃一区二区三区| 日韩视频免费直播| 久久精品99久久久| 久久视频一区二区| 粉嫩蜜臀av国产精品网站| 亚洲国产经典视频| 色婷婷综合久久久久中文 | 日韩理论片在线| 91久久精品国产91性色tv| 亚洲国产毛片aaaaa无费看 | 国产欧美日韩激情| 91麻豆swag| 五月婷婷久久丁香| 欧美tickling挠脚心丨vk| 福利电影一区二区| 亚洲乱码中文字幕| 制服视频三区第一页精品| 狠狠色丁香九九婷婷综合五月| 国产免费久久精品| 91福利视频网站| 久久99精品国产麻豆不卡| 国产欧美一区二区在线观看| 91老师片黄在线观看| 偷拍自拍另类欧美| 国产亚洲成av人在线观看导航| 色综合天天综合网天天看片| 日韩高清不卡在线| 日本一区二区久久|