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

📄 8ioin+8ioout.c

📁 包含2407全部外设功能试验的源程序
💻 C
字号:

//(2)	主程序
// 该程序用于8路开关量输入和8路开关量输出
#include  "register.h" 
int j,k;
main()                              // 初始化子程序
{
  	asm(" setc	SXM");				// 抑制符号位扩展
	asm(" clrc	OVM");				// 累加器中结果正常溢出
	asm(" clrc	CNF");			    // B0被配置为数据存储空间
	asm(" setc	INTM");				// 禁止所有中断
	SCSR1=0x81FE;					// CLKIN=10M,CLKOUT=4*CLKIN=40M
	WDCR=0x0E8;					    // 不使能看门狗,可以用软件禁止看门狗
	IMR=0x0000;						// 禁止所有中断
	IFR=0x0FFFF;					// 清除全部中断标志,"写1清0"
	MCRA=MCRA&0x00c7;		     	// IOPA3,IOPA4,IOPA5,IOPB端口配置为一般的I/O功能,	TMS320LF240x的
                                    // 端口均为8位,MCRA为16位因此控制了IOPA和IOPB的设置
    PBDATDIR=0x00ff;	     	    // IOPB端口设置为输入方式 
    PADATDIR=(PADATDIR&0x0FF00)|0x0FF28;	    //IOPA3,IOPA4,IOPA5 设置为输出方式,且IOINEN=1,选通8路开关量输入
	while(1)
   {
      PBDATDIR=PBDATDIR&0x00ff;
      k=PBDATDIR&0x00FF;
      if(k==0x00FF)   k=0;
      else k=1;
     	 if(k==1)
     	 {
       		 for(j=0;j<3000;j++) ;
       		 k=PBDATDIR&0x00FF;
        	 if(k==0x00FF)   k=0;
             else k=1;
         }
         if(k==1)
       	 {
   			 PADATDIR=(PADATDIR&0x0FF00)|0x0FF30;		
        	 PADATDIR=PADATDIR&0x0FF00;       //IOPA3,IOPA4,IOPA5 设置为输出方式,且IOOUTCLK=1,选通8路开关量输出
             PADATDIR=PADATDIR|0x0FF28;	   	  //IOPA3,IOPA4,IOPA5 设置为输出方式,且IOINEN=1,选通8路开关量输入
         }
	} 
}

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

⌨️ 快捷键说明

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