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

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

?? timer_soft.c

?? 利用AT89C5131制作的數(shù)據(jù)采集系統(tǒng)(附加操作界面子程序)
?? C
字號(hào):
/*C**************************************************************************
* NAME:         timer_soft.c
*----------------------------------------------------------------------------
* Copyright (c) 2003 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      c5131-usb-kbd-light-1_0_2      
* REVISION:     1.8     
*----------------------------------------------------------------------------
* PURPOSE: 
* This file controls the temporizations of the application. 
* The tempo value is a define symbol in c51_time.h file.
* The oscillator value is a parameter in c51_time.h file.
*****************************************************************************/

/*_____ I N C L U D E S ____________________________________________________*/
#include "config.h"
#include "timer_soft.h"
#include "usb_drv.h"
long int buf2[4];
//int i;

/*_____ M A C R O S ________________________________________________________*/


/*_____ D E F I N I T I O N S ______________________________________________*/
/*V**************************************************************************
* NAME: gl_soft_timer_tick
*----------------------------------------------------------------------------
* PURPOSE: 
* Number of ms since mcu reset.
* This variable is used by soft timers, it must be updated periodically (usually
* by timer interrupt routine).
*****************************************************************************/
volatile Uint32 data gl_soft_timer_tick;

/*_____ D E C L A R A T I O N S ____________________________________________*/

/*F**************************************************************************
* NAME: tempo
*----------------------------------------------------------------------------
* PARAMS:
* delay: tempo value in ms
* return:   none
*----------------------------------------------------------------------------
* PURPOSE: 
* This function manages the temporization.
*----------------------------------------------------------------------------
* EXAMPLE:
* tempo(TIMER_1_S); // Wait 1 sec.
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void tempo(Uint16 delay)
{
register Timer16s timer;

timer=set_timer16s(delay);
while (!std_timeout16s(timer));
}


#ifndef I_HAVE_SETUP_SOFT_TIMER_TICK
Uint16 gl_reminder_inc_ms;

#ifdef SOFT_TIMER_CUSTOM_FOSC
Uint16  REMINDER_INC_MS;

/*F**************************************************************************
* NAME: reload_TH0
*----------------------------------------------------------------------------
* PARAMS:
* return:   value to load on TH0
*----------------------------------------------------------------------------
* PURPOSE: 
* This function calculate the value to load in TH0 when FOSC is custom (FOSC
* is not a precomputed value).
* This function update REMINDER_INC_MS to keep accuracy of timers.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
Byte reload_TH0(void)
{
Byte b;
Byte n;

REMINDER_INC_MS=((Uint16)FOSC/(Uint16)12*(Uint16)INC_MS);
b=(REMINDER_INC_MS>>8);
     if (b&128) b=0;
else if (b&64)  b=128;
else if (b&32)  b=192;
else if (b&16)  b=224;
else if (b&8)   b=240;
else if (b&4)   b=248;
else if (b&2)   b=252;
else if (b&1)   b=254;
else            b=255;
REMINDER_INC_MS=((Uint16)b<<8)-REMINDER_INC_MS;
// Do REMINDER_INC_MS*12*65536/FOSC with the maximum accuracy<=>REMINDER_INC_MS*3*2^18/FOSC
for (n=0;n<18;n++)
  {
  if (REMINDER_INC_MS&32768)
    {
    REMINDER_INC_MS/=FOSC;
    REMINDER_INC_MS*=3;
    }
  else REMINDER_INC_MS<<=1;
  }
return b;
}
#endif


/*F**************************************************************************
* NAME: init_soft_timers
*----------------------------------------------------------------------------
* PARAMS:
* return:   none
*----------------------------------------------------------------------------
* PURPOSE:
* This function initialise the soft timer library.  
*----------------------------------------------------------------------------
* EXAMPLE:
* init_soft_timer();
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void init_soft_timers (void)
{
gl_soft_timer_tick=0;
gl_reminder_inc_ms=0;
TL0 = 0;
TH0 = RELOAD_TH0;
TMOD |= 0x01; // timer0 is mode1 : 16 bits
Set_timer0_x1_mode(); // timer0 always in x1 mode, even if x2 mode is set for std clk.
TR0=1;
Enable_interrupt(); //Enable global interrupt
ET0=1;



}
/*
void timer1_init(void)
{
TMOD&=0x0F;
TL1=0;
TH1=0;
ET1=1;
EA=1;
TR1=1;
}
*/
void data_init(void)
{
buf2[0]=0;
buf2[1]=0;
buf2[2]=0;
buf2[3]=0;
}
void data_deal(void)
{
buf2[0]=buf2[0]+2;
if(buf2[0]>10)buf2[0]=0;
buf2[1]=buf2[1]+2;
if(buf2[1]>10)buf2[1]=0;
buf2[2]=buf2[2]+2;
if(buf2[2]>10)buf2[2]=0;
buf2[3]=buf2[3]+2;
if(buf2[3]>10)buf2[3]=0;
Usb_select_ep(1);
Usb_write_byte(buf2[0]);
Usb_write_byte(buf2[1]);
Usb_write_byte(buf2[2]);
Usb_write_byte(buf2[3]);
  Usb_set_tx_ready();
//WriteEp(1,4,buf2);
}
/*void timer1_interrupt(void) interrupt 3
{
buf[0]=buf[0]+1;
buf[1]=buf[1]+1;
buf[2]=buf[2]+1;
buf[3]=buf[3]+1;
WriteEp(1,4,buf);
}
*?
/*F**************************************************************************
* NAME: Timer0_interrupt
*----------------------------------------------------------------------------
* PARAMS:
* return:   none
*----------------------------------------------------------------------------
* PURPOSE: 
* This function is the interrupt program for the timer 0.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
Interrupt (void Timer0_interrupt(void),IRQ_T0)
{
// TIMER0_OVF, interrupt cleared by hardware
TH0|=RELOAD_TH0; // Update Physical Clock ( logical OR to keep accuracy after long IT )
// Update gl_soft_timer_tick : number of ms till Reset, REMINDER_INC_MS to keep accuracy
gl_soft_timer_tick+=(((gl_reminder_inc_ms+=REMINDER_INC_MS)<REMINDER_INC_MS)?INC_MS+1:INC_MS);



}

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区动态图| 欧美一三区三区四区免费在线看| 国产婷婷一区二区| 国产成人在线看| 国产精品福利一区二区三区| 不卡一卡二卡三乱码免费网站| 中文字幕第一区综合| 91蜜桃在线观看| 亚洲国产一区二区在线播放| 日韩一级免费观看| 国产成人精品一区二区三区网站观看| 中文字幕+乱码+中文字幕一区| 不卡av电影在线播放| 亚洲精品国产无天堂网2021 | 精品午夜久久福利影院| 欧美成人欧美edvon| 成人中文字幕电影| 亚洲综合在线五月| 日韩欧美色综合| 成人a级免费电影| 亚洲成人动漫一区| 久久精品视频一区二区三区| 色哦色哦哦色天天综合| 日日摸夜夜添夜夜添精品视频| 久久色.com| 欧美在线制服丝袜| 国产在线精品一区二区夜色| |精品福利一区二区三区| 欧美区在线观看| 国产99久久久国产精品免费看| 夜夜爽夜夜爽精品视频| 欧美v国产在线一区二区三区| aaa亚洲精品一二三区| 日本视频中文字幕一区二区三区| 中文幕一区二区三区久久蜜桃| 欧美三级在线视频| 国产.欧美.日韩| 日本在线不卡视频一二三区| 国产精品久久久久7777按摩 | 久久99精品国产麻豆不卡| 国产精品国产三级国产a| 欧美一区午夜精品| 91国在线观看| 97久久精品人人做人人爽| 九九久久精品视频| 午夜在线电影亚洲一区| 综合电影一区二区三区 | 天堂成人国产精品一区| 国产精品视频你懂的| 日韩精品资源二区在线| 欧美午夜精品一区二区三区| 成人一区二区在线观看| 久久99精品国产.久久久久久| 夜夜精品浪潮av一区二区三区| 国产欧美日韩在线观看| 欧美一级二级三级乱码| 欧美日韩卡一卡二| 欧美伊人久久久久久久久影院 | 一本久久a久久免费精品不卡| 国产乱国产乱300精品| 另类成人小视频在线| 五月天精品一区二区三区| 国产精品人成在线观看免费| 久久伊人中文字幕| www国产亚洲精品久久麻豆| 日韩精品中文字幕在线一区| 欧美高清视频一二三区 | 91精品国产一区二区| 欧美性一二三区| 色天天综合久久久久综合片| 91色视频在线| 色琪琪一区二区三区亚洲区| 色噜噜久久综合| 色综合久久久网| 日本久久一区二区三区| 色94色欧美sute亚洲线路二| 色哟哟一区二区三区| 在线观看中文字幕不卡| 欧美日韩极品在线观看一区| 欧美精品123区| 日韩免费看的电影| 久久嫩草精品久久久精品一| 2020国产精品自拍| 国产精品毛片高清在线完整版| 欧美经典一区二区三区| 国产精品久久久久影视| 一区二区三区在线免费观看| 午夜免费久久看| 美女视频黄a大片欧美| 国产曰批免费观看久久久| 国产福利精品一区二区| 99久久精品国产一区二区三区| 色综合久久中文字幕综合网| 欧美日韩国产乱码电影| 精品久久久久久综合日本欧美| 久久久国产精华| 亚洲精品免费在线| 麻豆精品在线看| eeuss鲁一区二区三区| 欧美网站大全在线观看| 日韩美女主播在线视频一区二区三区| 久久久久青草大香线综合精品| 国产精品久久久久影视| 偷窥少妇高潮呻吟av久久免费| 久久99国产精品久久99| 99精品在线观看视频| 欧美精品久久久久久久多人混战 | 日韩视频免费观看高清完整版在线观看| 97久久精品人人做人人爽| 不卡一区二区中文字幕| 欧美综合在线视频| 精品久久久久99| 亚洲精品五月天| 麻豆精品视频在线| 成人av免费在线观看| 91精品综合久久久久久| 国产人妖乱国产精品人妖| 亚洲国产精品影院| 国产盗摄视频一区二区三区| 在线视频一区二区免费| 欧美精品一区二区三区久久久| 亚洲女女做受ⅹxx高潮| 精品一区二区综合| 日本韩国精品在线| 欧美韩国日本不卡| 蜜臀91精品一区二区三区| 99久久久久久99| 337p日本欧洲亚洲大胆精品| 亚洲一区二区三区小说| 成人在线综合网| 欧美成人猛片aaaaaaa| 亚洲国产日韩a在线播放| 成人一区二区三区视频在线观看| 欧美另类一区二区三区| 中文字幕一区二区在线观看| 精品一区二区免费| 欧美日韩综合不卡| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 人人精品人人爱| 欧洲日韩一区二区三区| 国产精品超碰97尤物18| 国产一区二区免费视频| 欧美精品第1页| 亚洲高清免费观看| 91福利在线播放| 怡红院av一区二区三区| 成人av网站大全| 国产亚洲人成网站| 久久aⅴ国产欧美74aaa| 69av一区二区三区| 亚洲va天堂va国产va久| 欧美性生活大片视频| 一区二区三区四区五区视频在线观看| 国产不卡在线一区| 国产欧美一二三区| 国产成人亚洲综合a∨婷婷| 日韩视频免费观看高清完整版在线观看 | 欧美精品在线视频| 亚洲自拍偷拍网站| 色香色香欲天天天影视综合网| 国产精品动漫网站| 波多野结衣亚洲一区| 欧美国产视频在线| 成人手机电影网| 国产精品免费网站在线观看| 国产成人8x视频一区二区| 久久久久久免费网| 国产高清不卡一区| 中文字幕av不卡| 99久久精品情趣| 一区二区三区精品久久久| 色一区在线观看| 亚洲国产成人tv| 欧美高清dvd| 琪琪久久久久日韩精品| 日韩亚洲欧美在线| 国产乱码一区二区三区| 欧美国产综合一区二区| 91啪亚洲精品| 亚洲综合一区在线| 欧美一级生活片| 激情文学综合丁香| 国产精品麻豆99久久久久久| 99视频有精品| 亚洲午夜影视影院在线观看| 欧美精品久久99| 国产高清不卡一区二区| 1区2区3区国产精品| 欧美视频精品在线观看| 强制捆绑调教一区二区| 国产女人aaa级久久久级| 色综合视频一区二区三区高清| 午夜婷婷国产麻豆精品| 久久久综合精品| 91麻豆国产福利精品| 亚洲成a人v欧美综合天堂| 精品国精品国产尤物美女| 成人黄色一级视频| 图片区小说区区亚洲影院| 久久久久国产免费免费|