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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? upsd3300_timer.c

?? PWM控制程序
?? C
字號:
/*------------------------------------------------------------------------------
upsd3300_timer.c

Version:
November 2, 2004 - commented out functions not used by the PWM_ADC example
to reduce the total code size of the demo.

August 2004 Ver 2.0 - Updated include file names, modified comments.

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

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


Copyright (c) 2004 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 "upsd3300.h"
#include "upsd3300_hardware.h"
#include "upsd3300_timer.h"

/*------------------------------------------------------------------------------
              Global Variable Declarations
------------------------------------------------------------------------------*/
static unsigned int idata timer0_tick;
static unsigned int idata 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);
}
*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久综合日本| 亚洲精品伦理在线| 国产麻豆成人传媒免费观看| 日韩一区二区三区视频| 热久久国产精品| 精品久久人人做人人爱| 国产精品资源网站| 中文字幕一区二区三区精华液| 成人国产一区二区三区精品| 成人欧美一区二区三区视频网页| 色偷偷88欧美精品久久久| 亚洲国产日韩综合久久精品| 欧美一区二区三区的| 国产精品综合视频| 亚洲视频免费在线| 91精品黄色片免费大全| 国产一区欧美二区| 亚洲欧洲中文日韩久久av乱码| 欧美日韩一区三区四区| 国内成人免费视频| 亚洲美女视频一区| 日韩精品一区二区在线观看| 成人免费看黄yyy456| 亚洲成人一二三| 国产亚洲欧美中文| 在线亚洲人成电影网站色www| 天天色图综合网| 久久久久久夜精品精品免费| 91福利视频网站| 国产一区二区三区美女| 一区二区三区精品在线| www国产亚洲精品久久麻豆| 91麻豆国产福利在线观看| 蜜桃精品在线观看| 国产精品麻豆久久久| 91精品麻豆日日躁夜夜躁| 成人小视频免费观看| 天天av天天翘天天综合网| 中文字幕 久热精品 视频在线| 欧美男同性恋视频网站| 成人精品小蝌蚪| 美女网站在线免费欧美精品| 亚洲丝袜另类动漫二区| 久久综合精品国产一区二区三区| 在线看一区二区| 岛国精品在线观看| 另类小说欧美激情| 亚洲综合色成人| 国产精品二三区| 久久精品亚洲国产奇米99| 欧美情侣在线播放| 91久久久免费一区二区| 粉嫩绯色av一区二区在线观看| 日韩 欧美一区二区三区| 17c精品麻豆一区二区免费| 久久精品一区八戒影视| 在线不卡a资源高清| 91久久精品一区二区二区| 不卡一区在线观看| 国产乱国产乱300精品| 蜜臀av在线播放一区二区三区| 亚洲综合激情小说| 亚洲日本丝袜连裤袜办公室| 国产精品天干天干在线综合| 精品国产百合女同互慰| 91精品在线一区二区| 欧美日韩在线亚洲一区蜜芽| 一本一本久久a久久精品综合麻豆| 高清免费成人av| 国产一区二区在线视频| 久久精品国产免费| 美脚の诱脚舐め脚责91| 日韩电影在线免费观看| 日韩经典一区二区| 日韩电影在线一区二区三区| 青青国产91久久久久久| 日韩精品免费专区| 奇米一区二区三区| 欧美96一区二区免费视频| 青青草国产成人av片免费| 天天亚洲美女在线视频| 无码av免费一区二区三区试看| 天天色 色综合| 麻豆国产欧美日韩综合精品二区| 日本三级韩国三级欧美三级| 性欧美大战久久久久久久久| 亚洲国产精品视频| 日韩中文字幕1| 看片网站欧美日韩| 国产一区二区三区在线观看免费视频 | 亚洲综合图片区| 中文字幕中文字幕一区| 亚洲三级在线播放| 一区二区三区四区不卡视频 | 亚洲午夜av在线| 日韩电影在线观看电影| 麻豆国产欧美一区二区三区| 国产精品中文欧美| 99国产精品久| 欧美网站大全在线观看| 欧美一级一级性生活免费录像| 精品福利av导航| 亚洲欧洲日产国码二区| 亚洲一区免费在线观看| 天天影视涩香欲综合网| 国产乱人伦偷精品视频免下载| 成人国产精品免费| 欧美精选午夜久久久乱码6080| 91精品国产免费| 日本一区二区成人| 一区二区久久久久久| 裸体在线国模精品偷拍| 国产99精品国产| 欧美人体做爰大胆视频| 久久久久97国产精华液好用吗| 中文字幕亚洲在| 五月婷婷激情综合网| 高潮精品一区videoshd| 欧美三级蜜桃2在线观看| 久久欧美一区二区| 亚洲精品乱码久久久久久久久 | 久久久久久久久久久电影| 中文字幕日韩一区| 日韩精彩视频在线观看| 成人国产精品免费| 欧美一级黄色片| 一区二区在线观看免费视频播放| 另类小说图片综合网| 欧美专区在线观看一区| 国产亚洲va综合人人澡精品| 亚洲mv大片欧洲mv大片精品| 成人av电影在线| 欧美大片在线观看| 樱桃视频在线观看一区| 从欧美一区二区三区| 欧美一三区三区四区免费在线看| 亚洲欧洲日韩一区二区三区| 国模套图日韩精品一区二区| 欧美日本一区二区| 亚洲欧美偷拍另类a∨色屁股| 捆绑紧缚一区二区三区视频| 欧美视频一区在线观看| 中文字幕制服丝袜一区二区三区| 国精产品一区一区三区mba视频 | 一区二区三区中文免费| 国产精品一卡二卡| 日韩美女在线视频| 亚洲成人免费视频| 91原创在线视频| 国产日韩欧美电影| 加勒比av一区二区| 欧美成人一区二区三区在线观看 | 777久久久精品| 樱花影视一区二区| 99久久精品免费观看| 中文字幕欧美三区| 国产成人午夜高潮毛片| 欧美成人伊人久久综合网| 日本不卡一区二区三区高清视频| 在线观看国产一区二区| 亚洲人成电影网站色mp4| aaa亚洲精品| 国产精品美女www爽爽爽| 粉嫩绯色av一区二区在线观看| 国产日韩欧美亚洲| 国产69精品久久久久777| 中文字幕精品一区二区三区精品| 国产精品自拍av| 亚洲成人自拍偷拍| 欧美久久久久中文字幕| 亚洲地区一二三色| 欧美日韩另类国产亚洲欧美一级| 亚洲一区二区三区四区在线观看 | 成人国产精品免费观看视频| 久久久国产综合精品女国产盗摄| 狠狠色综合播放一区二区| 26uuu色噜噜精品一区| 国产精选一区二区三区| 欧美高清在线一区| 91啪亚洲精品| 亚洲成人av一区| 日韩一级大片在线| 国产精品一区二区黑丝| 中文字幕成人av| 91福利精品第一导航| 日韩av不卡一区二区| 2021国产精品久久精品| 成人激情文学综合网| 亚洲最新在线观看| 欧美一区二区视频在线观看| 国产麻豆欧美日韩一区| 中文字幕日韩精品一区| 欧美精品在线一区二区| 精东粉嫩av免费一区二区三区| 中文字幕免费不卡| 在线一区二区视频| 国模一区二区三区白浆| 中文字幕一区二区三区av| 欧美午夜一区二区三区| 国产在线视频精品一区|