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

📄 8ledxunhuan.txt

📁 该程序用于实验演示模板上的8个LED的循环显示
💻 TXT
字号:
// 该程序用于实验演示模板上的8个LED的循环显示
#include  "register.h"  
// 初始化子程序
initial()
{
  	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保护位复位后的缺省值为1,故可以用
		      					// 软件禁止看门狗
	*IMR=0x0000;					// 禁止所有中断
	*IFR=0x0FFFF;					// 清除全部中断标志,"写1清0"
	*MCRA=*MCRA&0x0FF;			// IOPB端口配置为一般的I/O功能,	TMS320LF240x的
// 端口均为8位,MCRA为16位因此控制了IOPA,和IOPB的设置
	*PBDATDIR=*PBDATDIR|0x0FF00;	// IOPB端口设置为输出方式
	*MCRC=*MCRC&0X0FBFF;		// 把IOPF2端口配置为一般I/O端口
	*PBDATDIR=*PBDATDIR&0x0FF00;	// 熄灭全部的LED灯
	*PFDATDIR=*PFDATDIR|0x0404;	// IOPF2 设置为输出方式,且IOPF2=1
	*PFDATDIR=*PFDATDIR&0x0FFFB;	// IOPF2=0
	// 以上的操作产生一个脉冲,使LED全部熄灭	
}
// 主程序
main()
{
	int led;						 // 定义一个局部变量	
	int i,k;						 // 定义其它一些临时变量
	initial( );						 // 系统初始化
while(1)
{
	for(led=0x0080,i=0;i<8;led=led>>1,i++)	
		{
		*PBDATDIR=*PBDATDIR&0x0FF00; // 首先屏蔽IOPB的各位
		*PBDATDIR=*PBDATDIR|led;		// 把需要显示的值赋给IOPB端口
		*PFDATDIR=*PFDATDIR|0x0404;	// IOPF2 设置为输出方式,且IOPF2=1
		*PFDATDIR=*PFDATDIR&0x0FFFB;	// IOPF2=0,这两句语句给一个脉冲,
     // 使LED上显示IOPB端口的值
		for(k=0;k<0x0ffff;k++)
		k=k;                       		// 为了保证显示时间,给一定时间的延时
		} 
	}
}
// 直接返回中断服务程序
void interrupt nothing( ) 
{
 	return;
}

⌨️ 快捷键说明

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