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

📄 em78p372n_tcc.c

📁 义隆EM78P372N资料
💻 C
字号:
//*****************************************************************************
//范例:利用TCC溢位中断来实现在P5.1送出脉冲波形,可以接一个LED检测
//*****************************************************************************
//MCU:EM78P372N
//Oscillator:IRC 4MHz
//Clock:2
//WDT: Disable
//编译软件:eUIDE version 1.02.09.07

#include "EM78P372N.H"       //EM78P372N的头文件
#define DISI()  _asm{disi}
#define WDTC()  _asm{wdtc}
#define NOP()   _asm{nop}
#define ENI()   _asm{eni}
#define SLEP()   _asm{slep}
#define uchar  unsigned char
unsigned int COUNTER;
extern int IntVecIdx; //occupied 0x10:rpage 0
void main()
{
	WDTC();
	DISI();
	COUNTER=0;
	SCR=0X7F;			//选择4MHz
	P5CR=0X02;			//P51设为输出
	P51=1;	
	_asm
	{
		mov		a,@0x0c
		contw
	}
	TCC=6;				//tcc赋初值
	IMR=1;				//使能TCC中断
	ISR2=0;
	ENI();				//开总中断
	while(1);
}
void _intcall ALLInt(void) @ int 
{     
  switch(IntVecIdx)
  {
    
    
    case 0xA:
    if	(TCIF==1)		//TCC中断吗?
    {
    	ISR2&=0XFE;		//清TCC中断标志
    	TCC=6;			//TCC赋初值
    	COUNTER++;
    	if	(COUNTER==250)
    		{
    			COUNTER=0;
    			PORT5^=0X02;//P51输出取反
    		}
    }
    break;

  
  } 	
}



void _intcall TCC_l(void) @ 0x09:low_int 2
{
 _asm{MOV A,0x2};
}

⌨️ 快捷键说明

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