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

📄 initial.h

📁 这是我做的一个项目的DSP控制器软件的源代码
💻 H
字号:
#ifndef _INITIAL_H_
#define _INITIAL_H_

inline void disable()				/*屏蔽所有中断*/
{
	asm(" SETC INTM");
}

inline void enable()				/*开启所有中断*/
{
	asm(" CLRC INTM");
}

inline void inial_dsp()				/*dsp初始化*/
{
	asm(" CLRC SXM");				/*抑制符号位扩展*/
	asm(" CLRC OVM");				/*累加器中结果正常溢出*/
	asm(" CLRC CNF");				/*B0被配置位数据存储空间*/
	asm(" CLRC INTM"); 				/*开启所有中断*/
	
	* IMR = 0x0000;					/*禁止所有中断*/
	* IFR = 0x0FFFF;				/*清除全部中断标志写"1"清"0"*/
	* SCSR1 = 0x8306;				/*CLKIN=20M,CLKOUT=2 * CLKIN=40M*/        
	WSGR = 0x0000;					/*禁止所有的等待状态*/
	
}

inline void inial_timer()			/*时钟初始化*/
{
	* EVAIMRA = * EVAIMRA | 0x0080;	/*允许定时器1的周期中断*/
	* EVAIFRA = * EVAIFRA & 0x0080;	/*清除定时器1的周期中断标志*/
	* T1CON = 0x00F9;				/*Timer1为连续增计数模式,预分频值为64,使用内部时钟*/
	* T1PER = 0x027A;				/*Timer1的周期寄存器的值根据0.4ms延时和预分频值确定*/
	* T1CNT = 0x00;					/*Timer1的计数器清零*/
	
}

inline void inial_ad()				/*系统板AD/DA初始化*/
{
	ADC_RC_LOW;						/*初始化ADC_RC为低*/
	ADC_STS_LOW;					/*初始化ADC_STS为低*/
	DAC_CS_LOW;						/*初始化DAC_CS为低*/
	DAC_OE_HIGH;					/*初始化DAC_OE为高*/

}

inline void inial_io()				/*系统板扩展I/O初始化*/
{
/*初始化OP端口,OP为系统预留I/O输出端口*/
	* PADATDIR |= 0x0303;				/*初始化OP_7,OP_6为高*/
	* PCDATDIR |= 0x3C3C;				/*初始化OP_5~OP_2为高*/
	* PBDATDIR |= 0x8080;				/*初始化OP_1为高*/
	* PEDATDIR |= 0x4040;				/*初始化OP_0为高*/

/*初始化IP端口,IP为系统预留I/O输入端口*/
	* PEDATDIR |= 0x000F;				/*初始化IP_7,IP_6,IP_5,IP_2为高*/
	* PFDATDIR |= 0x0003;				/*初始化IP_4,IP_0为高*/
	* PCDATDIR |= 0x0040;				/*初始化IP_3为高*/
	* PADATDIR |= 0x0010;				/*初始化IP_1为高*/
			
}

inline void inial_pc()				/*系统板PC接口的初始化*/
{                                             
	IOC_RD = 0x00;					/*初始化IOC_RD为低*/
	IOC_WR = 0x01;					/*初始化IOC_WR为高*/
}

void inial_system()					/*系统初始化程序*/
{
	inial_dsp();
	inial_timer();
	inial_ad();
	inial_io();
	inial_pc();
} 

#endif

⌨️ 快捷键说明

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