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

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

?? upsd3200_timer.c

?? 包含一個完整的開發實例的源文件(包括LED驅動),已經通過編譯,供upsd3200開發參考.
?? C
字號:
/*------------------------------------------------------------------------------
upsd3200_timer.C

Change Note:
Uncalled functions commented out to avoid compiler warnings.

Version:
September 2004 Ver 2.0 - Updated include file names, modified comments.

Dependencies:
FREQ_OSC - used to set up timer properly.  
FREQ_OSC is specified in upsd3200_hardware.h and must be defined.
Timer0 ISR makes use of Register Set 1.

Description:
uPSD3200 Timer 0 device driver functions.  This function sets
up timer 0 as a timer used to count 10 ms periods used to
delay and timing functions.


Copyright (c) 2005 STMicroelectronics Inc.

This example demo code is provided as is and has no warranty,
implied or otherwise.  You are free to use/modify any of the provided
code at your own risk in your applications with the expressed limitation
of liability (see below) so long as your product using the code contains
at least one uPSD product (device).

LIMITATION OF LIABILITY:   NEITHER STMicroelectronics NOR ITS VENDORS OR 
AGENTS SHALL BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA,
INTERRUPTION OF BUSINESS, NOR FOR INDIRECT, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER THIS AGREEMENT OR
OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
------------------------------------------------------------------------------*/

#include "upsd3200.h"
#include "upsd3200_hardware.h"
#include "upsd3200_timer.h"

/*------------------------------------------------------------------------------
              Local Variable Declarations
------------------------------------------------------------------------------*/
static unsigned int idata timer0_tick;
unsigned int timer0_value;

/*------------------------------------------------------------------------------
timer0_isr()

This function is an interrupt service routine for TIMER 0.  It should never
be called by a C or assembly function.  It will be executed automatically
when TIMER 0 overflows.

This ISR stops timer0, adjusts the counter so that another interrupt occurs in
10ms, and then restarts the timer.
------------------------------------------------------------------------------*/
static void timer0_isr (void) interrupt TF0_VECTOR using 1
{
    TR0 = 0;                      /* stop timer 0 */
    TL0 = (timer0_value & 0x00FF);
    TH0 = (timer0_value >> 8);
    TR0 = 1;                      /* start timer 0 */
    timer0_tick++;                // Increment global var timer_tick (number of 10ms ticks)
}

/*------------------------------------------------------------------------------
timer0_init();

This function enables TIMER 0.  TIMER 0 will generate a synchronous interrupt
once every 100Hz (10ms).
------------------------------------------------------------------------------*/
void timer0_init (void)
{
    EA = 0;                 /* disable interrupts */
    timer0_tick = 0;
    TR0 = 0;                /* stop timer 0 */
    TMOD &= 0xF0;           /* clear timer 0 mode bits - bottom 4 bits */
    TMOD |= 0x01;           /* put timer 0 into 16-bit no prescale */

    // Calculate timer rollover based on FREQ_OSC to be 10ms periods (100hz)
    timer0_value = 0x10000 - ( ((FREQ_OSC * 5L) / 6L) - 17L);
    TL0 = (timer0_value & 0x00FF);
    TH0 = (timer0_value >> 8);

    PT0 = 1;                /* set high priority interrupt for timer 0 */
    ET0 = 1;                /* enable timer 0 interrupt */
    TR0 = 1;                /* start timer 0 */
    EA = 1;                 /* enable interrupts */
}


/*------------------------------------------------------------------------------
timer0_count ();

This function returns the current Timer 0 tick count.
------------------------------------------------------------------------------*/
unsigned int timer0_count (void)
{
    unsigned int t;

    EA = 0;               // disable interrupts to read a non-changing value
    t = timer0_tick;
    EA = 1;               // enable interrupts
    return(t);
}

/*------------------------------------------------------------------------------
timer0_delay (count);

This is a delay function that waits for the specified number of timer 0 ticks to
pass before returning.

count   - unsigned int
        - the number of timer ticks to wait before returning from function.
------------------------------------------------------------------------------*/
void timer0_delay (unsigned int count)
{
unsigned int start_count;

start_count = timer0_count(); /* get the start count */

while ((timer0_count() - start_count) <= count)   /* wait for count "ticks" */
{
    PCON |= 0x01;    // Idle MCU to wait for timer tick
}
}


/*------------------------------------------------------------------------------
delay_10ms ();

This is a 10 ms delay function.
------------------------------------------------------------------------------*/
/*
void delay_10ms()
{
    timer0_delay(1);
}
*/

/*------------------------------------------------------------------------------
delay_1sec ();

This is a 1 second delay function.
------------------------------------------------------------------------------*/
/*
void delay_1sec(void)
{
    timer0_delay(100);
}
*/

/*------------------------------------------------------------------------------
delay_2sec ();

This is a 2 second delay function.
------------------------------------------------------------------------------*/
/*
void delay_2sec(void)
{
    delay_1sec();
    delay_1sec();
}
*/

/*------------------------------------------------------------------------------
delay_10sec ();

This is a 10 second delay function.
------------------------------------------------------------------------------*/
/*
void delay_10sec(void)
{
    delay_2sec();
    delay_2sec();
    delay_2sec();
    delay_2sec();
    delay_2sec();
}
*/

/*------------------------------------------------------------------------------
delay_0_5sec ();

This is a 0.5 second delay function.
------------------------------------------------------------------------------*/
/*
void delay_0_5sec(void)
{
    timer0_delay(50);
}
*/

/*------------------------------------------------------------------------------
delay0_1sec ();

This is a 0.1 second delay function.
------------------------------------------------------------------------------*/
/*
void delay_0_1sec(void)
{
    timer0_delay(10);
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久99精品久久| 成人av网站在线观看免费| 国产黄色成人av| 99r国产精品| 欧美精品一级二级| 欧美精品一区二| 亚洲人成网站精品片在线观看| 亚洲午夜一二三区视频| 日韩专区在线视频| 国产高清视频一区| 欧美三级电影在线观看| 久久这里只精品最新地址| 亚洲精品乱码久久久久久久久| 奇米四色…亚洲| av不卡一区二区三区| 欧美高清你懂得| 国产精品久99| 秋霞av亚洲一区二区三| 成人免费电影视频| 91精品在线观看入口| 国产精品免费久久久久| 热久久久久久久| aa级大片欧美| 欧美mv和日韩mv国产网站| 一区二区三区**美女毛片| 国产在线看一区| 欧美老女人第四色| 国产精品久久久久久久久免费樱桃 | 久久婷婷国产综合国色天香| 国产精品国产三级国产| 美女视频第一区二区三区免费观看网站| 成人午夜在线播放| 日韩欧美激情一区| 一区二区三国产精华液| 国产精品一区二区男女羞羞无遮挡 | 精品国产99国产精品| 一区二区三区久久| 懂色av中文一区二区三区| 日韩欧美激情在线| 亚洲r级在线视频| 成人av在线看| 精品999久久久| 午夜精品免费在线| 91麻豆自制传媒国产之光| 精品99999| 日本不卡中文字幕| 欧美艳星brazzers| 最近中文字幕一区二区三区| 国产一区二区免费在线| 欧美一级欧美三级在线观看| 亚洲一区二区在线免费看| 成人白浆超碰人人人人| 日韩一区二区三区电影| 午夜一区二区三区在线观看| 91亚洲精品一区二区乱码| 欧美韩国日本不卡| 国产成人免费视频网站| 精品国产百合女同互慰| 麻豆精品久久精品色综合| 欧美精品在线视频| 亚洲小说欧美激情另类| 91黄色免费版| 1000精品久久久久久久久| 成人99免费视频| 国产视频一区在线观看| 国产久卡久卡久卡久卡视频精品| 精品三级在线观看| 激情文学综合网| 日韩久久久精品| 欧美aaaaaa午夜精品| 91精品国产手机| 日韩和的一区二区| 91精品福利在线一区二区三区| 日韩中文字幕麻豆| 制服丝袜成人动漫| 欧美aaaaaa午夜精品| 日韩欧美一区二区在线视频| 日本中文字幕一区| 日韩一区二区三区精品视频| 日本成人在线视频网站| 欧美一区二区三区色| 美女网站视频久久| 欧美精品一区视频| 国产黄人亚洲片| ...中文天堂在线一区| 色哟哟一区二区在线观看 | 欧美视频一区二区| 五月天国产精品| 日韩一级二级三级精品视频| 精品亚洲国内自在自线福利| 久久综合丝袜日本网| 成人一道本在线| 一区二区在线免费观看| 欧美日韩不卡视频| 黄一区二区三区| 国产亚洲精品7777| 一本一道久久a久久精品| 亚洲h在线观看| 精品久久久久一区| 成人深夜福利app| 亚洲免费av观看| 欧美一区二区三区在| 国产一区二区三区蝌蚪| 最新热久久免费视频| 欧美日韩日本视频| 国产美女主播视频一区| 亚洲欧美在线视频观看| 欧美日韩国产首页在线观看| 日本不卡123| 国产精品色哟哟网站| 欧美午夜精品免费| 国产在线精品不卡| 亚洲欧美日韩久久精品| 日韩欧美一二三| 成人国产在线观看| 偷拍与自拍一区| 日本一区二区三区四区在线视频 | 亚洲在线成人精品| 26uuu国产一区二区三区| 91小视频免费观看| 理论电影国产精品| 自拍偷自拍亚洲精品播放| 欧美丰满美乳xxx高潮www| 成人一级视频在线观看| 视频一区视频二区中文| 国产喂奶挤奶一区二区三区| 欧美在线看片a免费观看| 激情综合色综合久久综合| 中文字幕在线观看一区| 日韩免费福利电影在线观看| 91色|porny| 国产精品18久久久| 日韩av不卡在线观看| 亚洲天天做日日做天天谢日日欢| 日韩欧美电影一区| 91麻豆福利精品推荐| 精品一区二区三区免费播放| 一区二区三区中文免费| 精品播放一区二区| 欧美精品123区| 99精品视频一区二区三区| 久久er99热精品一区二区| 亚洲综合一区在线| 国产精品久久久久久久久图文区 | 精品一区二区三区在线视频| 一区二区三区视频在线观看| 久久久国产一区二区三区四区小说| 欧美私模裸体表演在线观看| 成人小视频在线观看| 久久精品二区亚洲w码| 亚洲地区一二三色| 综合分类小说区另类春色亚洲小说欧美| 精品国产乱码久久久久久免费| 欧美日韩国产美| 日本久久一区二区| 不卡视频一二三| 国产不卡一区视频| 国产资源在线一区| 奇米777欧美一区二区| 一卡二卡欧美日韩| 亚洲男人的天堂av| 中文字幕欧美激情| 久久久久一区二区三区四区| 欧美一区二区三区免费视频| 欧美午夜片在线观看| 在线免费精品视频| 91丝袜国产在线播放| av亚洲精华国产精华精| 成人性视频免费网站| 国产电影精品久久禁18| 国产一区二区三区综合 | 精品国产成人在线影院| 在线综合亚洲欧美在线视频| 精品视频色一区| 欧美日韩精品高清| 精品1区2区3区| 欧美综合色免费| 欧美视频在线一区二区三区| 在线一区二区三区四区| 91久久精品日日躁夜夜躁欧美| 99久久国产综合精品麻豆| 不卡一区中文字幕| 99久久国产综合精品色伊| 99在线精品一区二区三区| 99久久99久久精品免费观看| 99久免费精品视频在线观看 | 亚洲蜜桃精久久久久久久| 亚洲色图视频网站| 亚洲色图.com| 亚洲曰韩产成在线| 日韩精品一级中文字幕精品视频免费观看 | 韩日av一区二区| 国产乱码精品一品二品| 国产精品一区不卡| 粉嫩绯色av一区二区在线观看| 国产+成+人+亚洲欧洲自线| 成人性视频免费网站| 色综合久久中文字幕综合网| 欧美午夜精品免费| 欧美一卡二卡在线|