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

📄 main.c

📁 力天电子 dsp源码
💻 C
字号:
/******************************************************************/
/*Copyright (C), 2008-2009, 力天电子,LiTian Tech.Co.Ltd.		  */
/*  Module Name   :  	        							  	  */
/*  File Name     : main.c	   									  */        
/*  Author   	  : 侯长波                                        */     
/*  Create Date   : 2009/12/27                                    */      
/*  Version   	  : 2.0                                           */          
/*  Function      : 			         					      */                       
/*  Description   : 								              */            
/*  Support       : www.LT430.com 				                  */             
/******************************************************************/

/*****************头文件********************/  
#include "DSP281x_Device.h"
#include "System.h"

/****************端口宏定义*****************/
#define LED_DIR GpioMuxRegs.GPBDIR.all
#define LED_DAT GpioDataRegs.GPBDAT.all 

/****************常量宏定义*****************/ 

/***************全局变量定义****************/
unsigned int temp;	//指示发光二极管的显示状态 

/****************函数声明*******************/ 
void Init_LED(void);
void Init_Timer1(void);
interrupt void Timer1_INT(void); 

/*------------------------------------------*/
/*形式参数:void                            */
/*返回值:void				                */
/*函数描述:主函数			                */
/*------------------------------------------*/ 
void main(void)
{
	InitSysCtrl();  // 系统初始化子程序,在DSP28_sysctrl.c中
	Init_LED(); //设置发光二极管端口输出
	Init_Timer1();
	temp=0x0001;
	while(1);   
} 

/*------------------------------------------*/
/*形式参数:void                            */
/*返回值:void				                */
/*函数描述:初始化发光二极管端口为输出       */
/*------------------------------------------*/ 
void Init_LED(void)
{
	EALLOW;
	LED_DIR |= 0x00FF;
	EDIS;
}  

/*------------------------------------------*/
/*形式参数:void                            */
/*返回值:void				                */
/*函数描述:初始化Timer0				        */
/*------------------------------------------*/ 
void Init_Timer1(void)
{
    CpuTimer1Regs.PRD.all  = 120000000;//设置定时器周期
    CpuTimer1Regs.TPR.all  = 0;
    CpuTimer1Regs.TPRH.all = 0;
    CpuTimer1Regs.TCR.bit.TSS = 1;//停止定时器
	CpuTimer1Regs.TCR.bit.TIE = 1;//使能定时器0中断
	DINT;   // 关闭总中断
	EALLOW;	// 解除寄存器保护
	XIntruptRegs.XNMICR.bit.SELECT=0; //Timer1连接到XINT13
	XIntruptRegs.XNMICR.bit.ENABLE=0; //禁止非屏蔽中断NMI
	PieVectTable.XINT13 = &Timer1_INT;//用Timer1中断函数入口更新PIE向量表
	EDIS;   // 使能寄存器保护 
    IER|= M_INT13;//使能M_INT13中断	    
   	EINT;   // 全局中断使能INTM
   	CpuTimer1Regs.TCR.bit.TRB = 1;//定时器重装
    CpuTimer1Regs.TCR.bit.TSS = 0;//启动定时器 
}  

/*------------------------------------------*/
/*形式参数:void                            */
/*返回值:void				                */
/*函数描述:Timer0中断处理函数				*/
/*------------------------------------------*/  
interrupt void Timer1_INT(void)
{
 	DINT;//关闭总中断
	CpuTimer1Regs.TCR.bit.TSS = 1;//停止定时器
	CpuTimer1Regs.TCR.bit.TIF = 1;//清零中断标志位
   	if(temp==0x0100)
		temp=0x0001;
	LED_DAT=(LED_DAT|0x00FF)&(~temp);
	temp<<=1;
	CpuTimer1Regs.TCR.bit.TRB = 1;//定时器重装
    CpuTimer1Regs.TCR.bit.TSS = 0;//启动定时器
	EINT;   //开总中断
}  


 

⌨️ 快捷键说明

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