key.c

来自「dsp的C语言程序,各个模块基本上齐全,很适合你的编程参考」· C语言 代码 · 共 52 行

C
52
字号

//(2)	主程序
// 该程序用于实验演示模板上的8个LED的循环显示
#include  "register.h" 
int	temp,i; 
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&0x00FF;		    	// IOPB端口配置为一般的I/O功能,TMS320LF240x的
                                    // 端口均为8位,MCRA为16位因此控制了IOPA,
                                    // 和IOPB的设置
	MCRC=MCRC&0x00FF;
	
/*	PBDATDIR=0x0FFFF;	        	// IOPB端口设置为输出方式
	PADATDIR=PADATDIR&0x0FFEF;	    // IOPA4=0
	PADATDIR=PADATDIR|0x1010;		// IOPA4 设置为输出方式,且IOPA4=1
	PADATDIR=PADATDIR&0x0FFEF;	    // IOPA4=0  
*/
	while(1)
	{
		PBDATDIR=0x0FF00;		        // IOPB端口设置为输出方式 
		PFDATDIR=PFDATDIR|0x040C;		// IOPF2 设置为输出方式,且IOPF2=1
		PFDATDIR=PFDATDIR&0x0F7FB;	    // IOPF2=0 
		temp=PFDATDIR&0x0008;
		if(temp!=0x0008)
		{  
		asm(" nop");
		}
		PBDATDIR=PBDATDIR|0x0001;		// 
		PFDATDIR=PFDATDIR|0x0404;		// IOPF2 设置为输出方式,且IOPF2=1
		PFDATDIR=PFDATDIR&0x0FFFB;	    // IOPF2=0
		                                // 以上的操作产生一个脉冲,使LED全部熄灭
		
	}
	
}

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

⌨️ 快捷键说明

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