⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.c

📁 日立单片机H8S2144例程.包括AD,DA等程序(用于光源)但对于H8S2144使用者来说有很大的帮助.
💻 C
字号:
/***********************************************************************
		撪	梕		: 僀儞僞乕僶儖僞僀儅乕丒僂僅僢僠僪僢僌僞僀儅乕
		旛	峫		:
	----------------------------------------------------------------
		俠俹倀		: H8S/2144(HD64F2144FA20)
		奐敪尵岅	: YCH8,YAH8(僀僄儘乕僜僼僩)
		僞	僽		: 4
	----------------------------------------------------------------
		惢	嶌		:乮桳乯僄儖丒傾儞僪丒僄僼
 ************************************************************************/


/*----- 夵	斉	棜	楌 --------------------------------------------------
 No |  擭  寧 擔 | 巵柤 |  撪  梕
 01 | 1999-09-02 | 悰尨 | H8S/2144斉丂弶斉姰惉
 02 | 2000-11-18 | 悰尨 | 挿帪娫懳墳丂夵斉
 03 | 2001-02-20 | 悰尨 | MUU70梡丂尦僋儘僢僋18.432MHz偵曄峏
 04 | 2001-03-24 | 悰尨 | start_timer()偺崅懍壔(媽巇條偵栠偡)
 -----------------------------------------------------------------------*/


/********************************************
		忦審僐儞僷僀儖
*********************************************/
//#define CLK18								// 19.6608MHz偺帪僐儊儞僩偵偡傞


/********************************************
		僿僢僟
 ********************************************/
#include "H8S2144.h"						// H8S2144 儗僕僗僞掕媊
#include "global.h"							// 嫟捠掕媊
#include "extern.h"							// 奜晹僾儘僩僞僀僾愰尵


/********************************************
		僾儘僩僞僀僾愰尵
 ********************************************/
void itimer_init(void);						// 僀儞僞乕僶儖僞僀儅弶婜壔
interrupt void IntTimer(void);				// 僀儞僞乕僶儖僞僀儅妱崬
void start_timer(int no, unsigned long time); // 僞僀儅愝掕
int check_timer(int no);					// 僞僀儅僠僃僢僋
void stop_timer(int no);					// 僞僀儅掆巭
void wdt_init(void);						// 僂僆僢僠僪僢僌僞僀儅僗僞乕僩
void wdt_clr(void);							// 僂僆僢僠僪僢僌僞僀儅僋儕傾


/********************************************
		僌儘乕僶儖曄悢愰尵
 ********************************************/


/********************************************
		僜乕僗撪桳岠曄悢愰尵
 ********************************************/
static int t1tmf[T1MAX];					// 僞僀儅乕摦嶌僼儔僌
static unsigned long t1tmt[T1MAX];			// 僞僀儅乕僇僂儞僞僥乕僽儖


/************************************************************************
 * 奣梫 : 僀儞僞乕僶儖僞僀儅乕弶婜壔									*
 * 婡擻 : 僂僅僢僠僪僢僌僞僀儅1傪巊梡(WOVI1妱崬傒)						*
 * 堷悢 : void															*
 * 栠抣 : void															*
 * 揈梫 : H8S/2144(HD64F2144FA20)										*
 * 嶌惉 : 1999/10/16 Y.Sugawara											*
 ************************************************************************/
void itimer_init(void)
{
	int c;									// 僇僂儞僞
	unsigned short wk;						// 儚乕僋

	WDT1_TCNT_W = 0x5a00;					// 僞僀儅僇僂儞僞1僋儕傾
	wk = WDT1_TCSR_R;						// 僟儈乕儕乕僪
	WDT1_TCSR_W =
	   B16("1010010100100010");				// 僞僀儅僐儞僩儘乕儖僗僥乕僞僗儗僕僗僞
//			|--A5--|00000000 弶婜抣
//					|||||+++--- CKS2,1,0 僋儘僢僋慖戰 000:冇/2 001:冇/64
//					|||||		010:冇/128  011:冇/512   100:冇/2048
//					|||||		101:冇/8192 110:冇/32768 111:冇/131072
//					||||+--- RST/NMI 儕僙僢僩/NMI慖戰 0:NMI 1:儕僙僢僩
//					|||+--- PSS 僾儕僗働乕儔慖戰 0:冇 1:冇SUB
//					||+--- TME 僞僀儅僀僱乕僽儖 0:掆巭 1:摦嶌
//					|+--- WT/IT 僞僀儅儌乕僪慖戰 0:僀儞僞乕僶儖 1:僂僅僢僠僪僢僌
//					+--- OVF 僆乕僶僼儘乕僼儔僌 1:僆乕僶乕僼儘乕
	
	for(c = 0; c < T1MAX; c++)
	{
		t1tmt[c] = 0;						// 僞僀儅僇僂儞僞僥乕僽儖僋儕傾
		t1tmf[c] = 1;						// 僞僀儅摦嶌僼儔僌僙僢僩
	}
}


/************************************************************************
 * 奣梫 : 僀儞僞乕僶儖僞僀儅妱崬傒										*
 * 婡擻 : 妱崬傒枅偵僞僀儅乕僥乕僽儖傪 -1 偡傞							*
 * 堷悢 : void															*
 * 栠抣 : void															*
 * 揈梫 : H8S/2144(HD64F2144FA20)										*
 * 嶌惉 : 2001/03/24 Y.Sugawara											*
 ************************************************************************/
// 僐儊儞僩丗CLK=18.432MHz,T1MAX=10偱偺幚峴帪娫=27uSec(ROM壔丄幚應)
interrupt void IntTimer(void)
{
	int c;									// 僇僂儞僞


	//DEBUG
//	P8DR &= (~BIT6);					// 徚摂


// 僞僀儅乕僙僢僩

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -