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

📄 led.c

📁 ICETEK-LF2407-A板和教学实验箱使用说明书及开发板的所有实验例程
💻 C
字号:
#include "2407c.h"                    

ioport unsigned int port8000;
ioport unsigned int port8005;
ioport unsigned int port8007;

void interrupt xint(void);	/* 中断服务程序,外部中断调用 */
unsigned int uWork,nCount; 
int * pf;

main()
{
	int i; 
	
	*WDCR=0x6f;
	*WDKEY=0x5555;
	*WDKEY=0xaaaa;		/* 关闭看门狗中断 */

	*SCSR1=0x81fe;    	/* 设置DSP运行频率40m */
	(*MCRB)=0;
	asm(" setc INTM");  /* 关中断,进行关键设置时不允许发生中断,以免干扰 */
	uWork=(*MCRC);      /*  将PWM12/IOPE6设置成通用I/O口,以控制实验箱上指示灯 */
	uWork&=0x0ffbf;		
	(*MCRC)=uWork;
	
		
	*IMR=0x1;			/* 使能中断(INT1) */
	*IFR=0xffff;        /* 清除中断标志 */
	*XINT2CR=0x1;   //使能外部中断2
	
	port8000=0;		// 初始化ICETEK-CTR
	port8000=0x80;
	port8000=0;
	port8000=0x82;
	port8007=0;			// 关闭东西方向的交通灯
	port8007=0x40;	// 关闭南北方向的交通灯
	
	asm(" clrc INTM");  /* 开中断 */  
	for(;;);

}               


//	中断服务程序:响应INT2中断

void interrupt xint(void)		/* 中断服务程序定义,须使用interrupt声 */
{
   uWork=(*PIVR);		/* 读外设中断向量寄存器*/
   switch(uWork)
   {  
   		case 0x11:		
   		{
			    *XINT2CR=0x8001;//清除中断标志位
				uWork=(*PEDATDIR);	/* 设置指示灯状态翻转一次 */
				uWork|=0x4000;
				uWork^=0x0040;
				(*PEDATDIR)=uWork;
			  		   	break;
   		}
   }
}                       

⌨️ 快捷键说明

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