tic832.c

来自「Example codes for ADuC8xx CPU family」· C语言 代码 · 共 72 行

C
72
字号
//********************************************************************
//
// Author        : ADI 
//
// Date          : December 2001
//
// File          : tic832.c
//
// Hardware      : ADuC832
//
// Description   : This program demonstrates the TIC functions TicCfg(), TicGo(), TicVal(), TicHr(),
//				 TicMin(), TicSec() and TicHth().
//		
//********************************************************************


#include<ADuC832.h>			//SFR definition file.
#include"../../lib832.h"  	//Function and variable declaration file.
#include<stdio.h>

char	cTFlag;		//Flag set by TIC interupt.

void ticint(void) interrupt 10 using 0
	{
	cTFlag = 1;
	T0 = !T0;
//	TIMECON &= 0x0fb;	//Clear interupt flag.
	}

void main(void)
	{
	UrtCfg(0x03,0x8508);	//UrtCfg configures UART (2400 baud).
	PllWcd(0);		//PllWcd writes CD bits (2).

	printf("\n\nADuC831 TIC Demonstration Program\n");
	printf("=======================================\n");
	TicCfg(0);
 	printf("255 hour mode selected and ");
 	TicGo(23, 59, 55, 00);
	printf("time set to 23h59m55,00\n");
	printf("\tTime now: %02bdh%02bdm",TicHr(),TicMin());
	printf("%02bd,%02bd.\n",TicSec(),TicHth());
	printf("Wait for 10.5s\n");
	PllDly(10500);
	printf("\tTime now: %02bdh%02bdm",TicHr(),TicMin());
	printf("%02bd,%02bd.\n",TicSec(),TicHth());
 	TicVal(10,1);
	printf("Interupt enabled at 10 counts of SEC counter. ");
 	cTFlag = 0;
	printf("Interupt flag set to 0. Wait 7s.\n");
	PllDly(7000);
	printf("\tInterupt flag is now %bd.",cTFlag); 
	printf("\tTime now: %02bdh%02bdm",TicHr(),TicMin());
	printf("%02bd,%02bd.\n",TicSec(),TicHth());
	printf("Wait 4s for interupt.\n"); 
	PllDly(4000);
	printf("\tInterupt flag is now %bd.",cTFlag); 
	printf("\tTime now: %02bdh%02bdm",TicHr(),TicMin());
	printf("%02bd,%02bd.\n",TicSec(),TicHth());
	TicCfg(1);
	printf("Timer stop.\n");
	printf("\tTime now: %02bdh%02bdm",TicHr(),TicMin());
	printf("%02bd,%02bd.\n",TicSec(),TicHth());
	printf("After further 4s delay time stays 0.\n");
	PllDly(4000);
	printf("\tTime now: %02bdh%02bdm",TicHr(),TicMin());
	printf("%02bd,%02bd.\n",TicSec(),TicHth());
	printf("\n\n\tThe End.\n\n\n");
	while(1)
		{
 	}	}

⌨️ 快捷键说明

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