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

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

?? tick.c

?? 單片機(jī)c語(yǔ)言程序設(shè)計(jì)100例--基于PIC+PROTEUS
?? C
字號(hào):
/*********************************************************************
 *
 *                  Tick Manager for PIC18
 *
 *********************************************************************
 * FileName:        Tick.c
 * Dependencies:    stackTSK.h
 *                  Tick.h
 * Processor:       PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F
 * Complier:        Microchip C18 v3.02 or higher
 *					Microchip C30 v2.01 or higher
 * Company:         Microchip Technology, Inc.
 *
 * Software License Agreement
 *
 * This software is owned by Microchip Technology Inc. ("Microchip") 
 * and is supplied to you for use exclusively as described in the 
 * associated software agreement.  This software is protected by 
 * software and other intellectual property laws.  Any use in 
 * violation of the software license may subject the user to criminal 
 * sanctions as well as civil liability.  Copyright 2006 Microchip
 * Technology Inc.  All rights reserved.
 *
 * This software is provided "AS IS."  MICROCHIP DISCLAIMS ALL 
 * WARRANTIES, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, NOT LIMITED 
 * TO MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND 
 * INFRINGEMENT.  Microchip shall in no event be liable for special, 
 * incidental, or consequential damages.
 *
 *
 * Author               Date        Comment
 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Nilesh Rajbharti     6/28/01     Original        (Rev 1.0)
 * Nilesh Rajbharti     2/9/02      Cleanup
 * Nilesh Rajbharti     5/22/02     Rev 2.0 (See version.log for detail)
********************************************************************/

#define TICK_INCLUDE

#include "..\Include\StackTsk.h"
#include "..\Include\Tick.h"

#define TICK_TEMP_VALUE_1       \
        ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE))

#if TICK_TEMP_VALUE_1 > 60000
#error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ
#error Either lower TICK_PER_SECOND or manually configure the Timer
#endif

#define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)

#define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)
#define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)

#if (TICK_PRESCALE_VALUE == 2)
    #define TIMER_PRESCALE  (0)
#elif ( TICK_PRESCALE_VALUE == 4 )
    #define TIMER_PRESCALE  (1)
#elif ( TICK_PRESCALE_VALUE == 8 )
    #define TIMER_PRESCALE  (2)
#elif ( TICK_PRESCALE_VALUE == 16 )
    #define TIMER_PRESCALE  (3)
#elif ( TICK_PRESCALE_VALUE == 32 )
    #define TIMER_PRESCALE  (4)
#elif ( TICK_PRESCALE_VALUE == 64 )
    #define TIMER_PRESCALE  (5)
#elif ( TICK_PRESCALE_VALUE == 128 )
    #define TIMER_PRESCALE  (6)
#elif ( TICK_PRESCALE_VALUE == 256 )
    #define TIMER_PRESCALE  (7)
#else
    #error Invalid TICK_PRESCALE_VALUE specified.
#endif




TICK TickCount = 0;	// 10ms/unit


/*********************************************************************
 * Function:        void TickInit(void)
 *
 * PreCondition:    None
 *
 * Input:           None
 *
 * Output:          Tick manager is initialized.
 *
 * Side Effects:    None
 *
 * Overview:        Initializes Timer0 as a tick counter.
 *
 * Note:            None
 ********************************************************************/
#define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS
void TickInit(void)
{
#ifdef __C30__
	// Set up timer1 to wake up by timeout
	// 1:256 prescale
	T1CONbits.TCKPS = 3;
	// Base
	PR1 = (unsigned)PERIOD;
	// Clear counter
	TMR1 = 0;
	// Enable timer interrupt
	IFS0bits.T1IF = 0;
	IEC0bits.T1IE = 1;
	// Start timer
	T1CONbits.TON = 1;
#else
    // Start the timer.
    TMR0L = TICK_COUNTER_LOW;
    TMR0H = TICK_COUNTER_HIGH;

    // 16-BIT, internal timer, PSA set to 1:256
    T0CON = 0b00000000 | TIMER_PRESCALE;

    // Start the timer.
    T0CONbits.TMR0ON = 1;

    INTCONbits.TMR0IF = 1;
    INTCONbits.TMR0IE = 1;
#endif
}


/*********************************************************************
 * Function:        TICK TickGet(void)
 *
 * PreCondition:    None
 *
 * Input:           None
 *
 * Output:          Current tick value is given
 *					1 tick represents approximately 10ms
 *
 * Side Effects:    None
 *
 * Overview:        None
 *
 * Note:            None
 ********************************************************************/
TICK TickGet(void)
{
    return TickCount;
}


/*********************************************************************
 * Function:        void TickUpdate(void)
 *
 * PreCondition:    None
 *
 * Input:           None
 *
 * Output:          None
 *
 * Side Effects:    None
 *
 * Overview:        Internal Tick and Seconds count are updated.
 *
 * Note:            None
 ********************************************************************/
#ifdef __18CXX
void TickUpdate(void)
{
    if(INTCONbits.TMR0IF)
    {
        TMR0H = TICK_COUNTER_HIGH;
        TMR0L = TICK_COUNTER_LOW;

        TickCount++;

        INTCONbits.TMR0IF = 0;
    }
}

#else
/*********************************************************************
 * Function:        void _ISR _T1Interrupt(void)
 *
 * PreCondition:    None
 *
 * Input:           None
 *
 * Output:          TickCount variable is updated
 *
 * Side Effects:    None
 *
 * Overview:        None
 *
 * Note:            None
 ********************************************************************/
void _ISR _T1Interrupt(void)
{
	TickCount++;
	// Reset interrupt flag
	IFS0bits.T1IF = 0;
	return;
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人综合| 日韩午夜在线播放| 免费成人在线网站| 国产精品情趣视频| 91精品国产91热久久久做人人| 成人午夜短视频| 日本伊人午夜精品| 夜夜嗨av一区二区三区网页| 久久久国际精品| 91精品国产综合久久婷婷香蕉| 成人18精品视频| 久久国产精品99精品国产 | 午夜精品一区二区三区三上悠亚| 国产拍揄自揄精品视频麻豆| 777久久久精品| 在线欧美小视频| 成人av免费观看| 美女mm1313爽爽久久久蜜臀| 亚洲成人av免费| 亚洲欧美日韩国产手机在线 | 床上的激情91.| 黄色日韩网站视频| 日韩二区在线观看| 亚洲一区二区在线免费看| 国产精品少妇自拍| 久久免费看少妇高潮| 日韩精品中午字幕| 在线播放日韩导航| 欧美日产在线观看| 欧美婷婷六月丁香综合色| 99re66热这里只有精品3直播 | 成人国产精品免费观看动漫| 精品一区二区三区在线视频| 日韩av电影一区| 日韩在线一二三区| 亚洲成av人片在线| 亚洲va欧美va天堂v国产综合| 亚洲精品视频在线观看免费| 国产精品看片你懂得| 国产精品蜜臀在线观看| 中文字幕av资源一区| 国产欧美视频一区二区| 国产午夜精品一区二区三区四区| 亚洲精品在线观看网站| 精品国产凹凸成av人网站| 精品国产乱码久久久久久图片| 日韩美一区二区三区| 精品国产免费视频| 久久影视一区二区| 欧美国产日韩一二三区| 久久精品男人天堂av| 国产精品美女一区二区在线观看| 中文字幕成人av| 伊人性伊人情综合网| 亚洲亚洲人成综合网络| 婷婷一区二区三区| 麻豆视频观看网址久久| 国产精一品亚洲二区在线视频| 国内精品国产三级国产a久久| 国产精品亚洲一区二区三区妖精| 盗摄精品av一区二区三区| 91免费国产在线| 欧美视频一区在线| 日韩欧美高清在线| 国产片一区二区三区| 一区二区三区四区在线免费观看 | 色噜噜狠狠成人中文综合| 在线观看日产精品| 日韩情涩欧美日韩视频| 日本一区二区三区在线不卡| 亚洲精品一二三四区| 奇米精品一区二区三区在线观看| 国产精品自产自拍| 91影视在线播放| 欧美一区二区三区不卡| 国产日韩欧美电影| 亚洲成人高清在线| 国产精品影视在线| 欧美性大战久久| 久久久久亚洲蜜桃| 一区二区三区91| 韩日欧美一区二区三区| 91丨九色丨国产丨porny| 91精品国产乱| 亚洲日本va午夜在线电影| 日本中文在线一区| 99riav久久精品riav| 欧美v国产在线一区二区三区| 国产精品护士白丝一区av| 免费成人结看片| 99国产精品久久久久久久久久| 欧美一区二区视频在线观看| 中文字幕一区二区三区色视频| 免费看日韩a级影片| 99久久久免费精品国产一区二区| 日韩亚洲欧美成人一区| 亚洲精品免费一二三区| 久久成人精品无人区| 色天天综合色天天久久| 久久精品一区蜜桃臀影院| 亚洲6080在线| 99久久精品一区| 久久久久88色偷偷免费| 首页欧美精品中文字幕| 91浏览器入口在线观看| 久久精品一级爱片| 美女脱光内衣内裤视频久久网站 | 青青草91视频| 色综合婷婷久久| 国产视频一区不卡| 免费观看在线综合| 欧美日韩一区精品| 伊人一区二区三区| 99v久久综合狠狠综合久久| 精品对白一区国产伦| 日本午夜一区二区| 欧美色电影在线| 一区二区三区在线观看视频| gogo大胆日本视频一区| 久久久久国产免费免费| 精品一区二区三区蜜桃| 91精品国产一区二区| 亚洲h动漫在线| 欧美日韩国产一级片| 亚洲小说春色综合另类电影| 91久久国产最好的精华液| 《视频一区视频二区| 不卡视频免费播放| 国产精品黄色在线观看| 波多野结衣在线一区| 国产精品视频一二三| 从欧美一区二区三区| 国产精品蜜臀在线观看| 成人av网站免费| 国产精品久久久久aaaa樱花| 不卡欧美aaaaa| 亚洲欧美日韩国产手机在线| 99这里只有精品| 亚洲私人黄色宅男| 色悠久久久久综合欧美99| 亚洲三级在线免费观看| 一本久久综合亚洲鲁鲁五月天| 日韩理论片网站| 在线日韩av片| 三级一区在线视频先锋 | 国产在线视频一区二区三区| 日韩天堂在线观看| 国模冰冰炮一区二区| 国产亚洲欧美日韩俺去了| 国产·精品毛片| 亚洲欧美偷拍卡通变态| 91麻豆免费视频| 亚洲国产aⅴ天堂久久| 69堂成人精品免费视频| 激情五月激情综合网| 国产亚洲精品免费| 99re6这里只有精品视频在线观看| 亚洲免费色视频| 91精品久久久久久久99蜜桃| 精品一区二区三区视频在线观看| 久久久久久久综合日本| 北条麻妃一区二区三区| 亚洲影院理伦片| 欧美videos大乳护士334| 国产成人综合精品三级| 亚洲精品中文在线影院| 日韩丝袜情趣美女图片| 国产成人精品免费网站| 一区二区三区欧美亚洲| 欧美高清hd18日本| 国产福利91精品一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 在线播放中文一区| 国产福利91精品一区二区三区| 亚洲最色的网站| 久久综合九色综合97_久久久| 99热99精品| 奇米精品一区二区三区四区| 国产精品久久午夜| 在线播放91灌醉迷j高跟美女| 国产高清亚洲一区| 亚洲va欧美va国产va天堂影院| 久久综合久久综合久久| 在线观看区一区二| 国产精品18久久久久久久久 | 日韩专区在线视频| 日本一区二区免费在线观看视频| 欧美系列在线观看| 国产精品一区二区在线播放 | 亚洲资源中文字幕| 午夜不卡av在线| 国产精品区一区二区三区 | 欧美国产一区二区| 在线不卡一区二区| 色综合亚洲欧洲| 国产精品99久久久久久久vr| 日韩电影在线一区二区| 有码一区二区三区| 国产精品入口麻豆九色| 欧美mv日韩mv|