📄 initial.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 + -