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

📄 key.c

📁 2407DSP开发应用程序实例(有14个常用模块程序)
💻 C
字号:

//(2)	主程序  (实现按K1键加1并在LED上显示)

#include  "register.h" 
int	m=0x0001; 
main()                                    // 初始化子程序
{
  	asm(" setc	SXM");					// 抑制符号位扩展
	asm(" clrc	OVM");					// 累加器中结果正常溢出
	asm(" clrc	CNF");					// B0被配置为数据存储空间
	asm(" setc	INTM");					// 禁止所有中断
	SCSR1=0x81FE;					// CLKIN=6M,CLKOUT=4*CLKIN=24M
	WDCR=0x0E8;					    // 不使能看门狗,因为SCSR2中的WDOVERRIDE
		     						// 即WD复位后的缺省值,故可以用
		      						// 软件禁止看门狗
	IMR=0x0000;						// 禁止所有中断
	IFR=0x0FFFF;					// 清除全部中断标志,"写1清0"
	MCRA=MCRA&0x0FF00;			    // IOPB端口配置为一般的I/O功能,TMS320LF240x的
                                    // 端口均为8位,MCRA为16位因此控制了IOPA,
                                    // 和IOPB的设置  

	
	PBDATDIR=0x0FF00;		        // IOPB端口设置为输出方式    
	MCRC=MCRC&0x0FF00;  
	PFDATDIR=PFDATDIR|0x0404;		// IOPF2 设置为输出方式,且IOPF2=1
	PFDATDIR=PFDATDIR&0x0FFFB;	// IOPF2=0  */
	while(1)
	{        
	int j,k;
	j=PFDATDIR&0x0008;   
	if(j==0x0008)
	j=0;
	else j=1;
	if(j==1)
	{
	 for(k=0;k<0x0ffff;k++)
		{}
	 j=PFDATDIR&0x0008;   
	if(j==0x0008)
	j=0;
	else j=1;	
	}
	 j=PFDATDIR&0x0008;
	 if(j==0)
	 PBDATDIR=(PBDATDIR&0x0FF00)+m++;
	 else
	 PBDATDIR=PBDATDIR;
	 PFDATDIR=PFDATDIR|0x0404;		// IOPF2 设置为输出方式,且IOPF2=1
	 PFDATDIR=PFDATDIR&0x0FFFB;	    // IOPF2=0  
				
	                                // 以上的操作产生一个脉冲,使LED全部熄灭  
	  
   }	
}

// 直接返回中断服务程序
void interrupt nothing( ) 
{
 	return;
}

⌨️ 快捷键说明

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