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

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

?? upsd3400_timer.c

?? upsd34xx系列單片機keil環境中的開發例程
?? C
字號:
/*------------------------------------------------------------------------------
upsd3400_timer.c

Version:
February 21, 2005 Ver 1.0 - Initial release.

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

Description:
uPSD3400 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) 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 "upsd3400.h"
#include "upsd3400_hardware.h"
#include "upsd3400_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);
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色播五月激情综合网| 在线观看日韩高清av| 肉色丝袜一区二区| 亚洲国产日韩在线一区模特| 亚洲三级久久久| 亚洲精品videosex极品| 亚洲蜜臀av乱码久久精品| 亚洲男人天堂av| 亚洲一区中文日韩| 亚洲永久精品国产| 天天做天天摸天天爽国产一区| 亚洲一区二区三区三| 奇米综合一区二区三区精品视频| 日本少妇一区二区| 国产一区二区影院| 99久久精品免费| 欧美影视一区二区三区| 欧美日韩国产另类一区| 精品国产区一区| 国产精品久久久久久久久免费桃花 | 精品国产一区二区三区忘忧草| 日韩精品一区二| 国产精品久久久久久一区二区三区| 亚洲精品网站在线观看| 日韩二区三区四区| 国产suv精品一区二区883| 色哟哟国产精品免费观看| 欧美二区三区的天堂| 久久综合99re88久久爱| 亚洲三级电影网站| 欧美a级一区二区| 成人黄页毛片网站| 欧美一级日韩一级| 亚洲乱码中文字幕综合| 麻豆精品精品国产自在97香蕉| 白白色 亚洲乱淫| 欧美一级在线视频| 国产精品久久二区二区| 日本va欧美va精品发布| 成人一区二区视频| 在线成人av网站| 中文字幕不卡在线观看| 蜜乳av一区二区| 在线免费亚洲电影| 久久综合色之久久综合| 亚洲第一主播视频| a级精品国产片在线观看| 欧美一卡二卡三卡四卡| 亚洲一区欧美一区| 岛国精品在线播放| 欧美电视剧免费观看| 亚洲午夜av在线| 91丨porny丨首页| 国产色产综合产在线视频| 日本不卡视频一二三区| 在线观看欧美黄色| 综合久久久久久| 成人在线综合网| 久久―日本道色综合久久 | 7777精品伊人久久久大香线蕉的| 中文字幕一区二区三区四区不卡 | 亚洲一级在线观看| 一本色道久久综合狠狠躁的推荐| 久久久久久久综合| 国产酒店精品激情| 精品国产乱码久久久久久免费| 日韩激情一二三区| 日韩写真欧美这视频| 婷婷国产在线综合| 欧美一区二区性放荡片| 日韩精品久久久久久| 欧美一卡2卡3卡4卡| 热久久一区二区| 精品久久五月天| 精品亚洲成a人在线观看| 日韩美女天天操| 久久国产精品区| 精品久久久久久最新网址| 日本vs亚洲vs韩国一区三区| 日韩欧美激情在线| 极品少妇xxxx精品少妇| 久久这里只有精品6| 丁香五精品蜜臀久久久久99网站| 中文无字幕一区二区三区| 成人丝袜视频网| 综合久久久久久| 欧美日韩国产123区| 蜜臀久久99精品久久久久宅男| 欧美一区二区三区色| 九九九精品视频| 日本一二三四高清不卡| caoporm超碰国产精品| 一区二区三区美女视频| 欧美喷水一区二区| 国产资源精品在线观看| 国产精品免费视频观看| 色欧美乱欧美15图片| 日日摸夜夜添夜夜添精品视频| 精品国产伦理网| 99国产精品久久久久久久久久| 性做久久久久久| 国产色91在线| 欧美浪妇xxxx高跟鞋交| 国产一区二区视频在线播放| 国产精品国产三级国产三级人妇| 在线精品视频小说1| 美国十次了思思久久精品导航| 国产亚洲精品精华液| 在线免费不卡视频| 国产激情一区二区三区| 亚洲国产日日夜夜| 国产欧美日韩精品a在线观看| 91久久精品午夜一区二区| 另类中文字幕网| 一个色妞综合视频在线观看| 欧美精品一区二区三区高清aⅴ| 成人动漫av在线| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲欧洲国产专区| 精品国产第一区二区三区观看体验 | 99riav久久精品riav| 久久99精品国产麻豆不卡| 亚洲免费电影在线| 国产拍欧美日韩视频二区| 日韩一区二区三区免费观看| 97超碰欧美中文字幕| 狠狠狠色丁香婷婷综合久久五月| 一区二区三区丝袜| 中文字幕一区二区三区在线不卡 | 2020国产精品自拍| 欧美久久婷婷综合色| 97超碰欧美中文字幕| 国产精品一区在线| 免费成人你懂的| 午夜精品一区二区三区免费视频 | 亚洲日本在线天堂| 精品成人私密视频| 91精品国产综合久久精品性色| 色欧美片视频在线观看| 成人激情视频网站| 成人激情免费网站| 成人亚洲一区二区一| 国产成人在线视频网站| 激情成人午夜视频| 免费一级片91| 日本人妖一区二区| 麻豆专区一区二区三区四区五区| 亚洲成av人片| 五月天视频一区| 视频一区免费在线观看| 日韩精品五月天| 男人的天堂亚洲一区| 麻豆精品一区二区av白丝在线| 蜜臀精品一区二区三区在线观看| 免费在线观看一区二区三区| 日韩不卡在线观看日韩不卡视频| 亚洲国产综合91精品麻豆| 亚洲国产人成综合网站| 午夜久久久久久| 免费成人在线视频观看| 激情综合色综合久久综合| 激情文学综合插| 成人黄色av电影| 91黄色免费网站| 欧美美女一区二区| 精品成人私密视频| 中文字幕在线观看不卡| 亚洲乱码日产精品bd| 性做久久久久久久免费看| 精品在线一区二区| 盗摄精品av一区二区三区| 在线区一区二视频| 欧美一卡二卡在线| 中文字幕第一页久久| 亚洲精品国产精品乱码不99| 五月综合激情日本mⅴ| 蜜桃av一区二区在线观看 | 制服丝袜亚洲播放| 日韩一二在线观看| 久久精品一区二区三区四区| 亚洲视频在线观看一区| 日韩经典中文字幕一区| 大白屁股一区二区视频| 在线视频欧美精品| www国产成人免费观看视频 深夜成人网| 中文字幕 久热精品 视频在线| 一区二区三区在线不卡| 久久成人18免费观看| 91老师片黄在线观看| 日韩欧美一级二级三级久久久| 国产精品久久久久久久久快鸭 | 亚洲一区二区在线免费观看视频| 日本亚洲免费观看| 色哟哟一区二区在线观看| 精品少妇一区二区三区视频免付费 | 久久久久一区二区三区四区| 亚洲综合图片区| 国产成人在线看| 欧美一级在线观看| 亚洲中国最大av网站|