📄 sysinitial.c
字号:
#include "2407.h"
#include "System.h"
int KeyFlag = 0;
int CodeJuge = 0;
int PageNum = 0;
int CsrFlagPage0 = 0;
int IsControl=0 ;
int IsFlashData=0;
int ReCacuPWM=0;
void SysInit(void)
{
asm(" setc SXM ");
asm(" clrc OVM ");
asm(" clrc CNF ");
*SCSR1 = 0x004D; // 0100 1101
// *SCSR1 = 0x020D; // 20M
*WDCR =0X0E8; /*使能EVA,EVB两个时间管理器,晶振频率40M*/
//使能SCI模块
WSGR = 0X01FF; //软件等待
/*//*********************
*MCRC = (*MCRC&0x0ccff)|0x0200;
*PFDATDIR = (*PFDATDIR&0x8200)|0x8200;
KeyDelay();
KeyDelay();
*PFDATDIR = (*PFDATDIR&0x8200)|0x8202;
//*****************/
// *IMR = 0x00; /*中断禁止*/
// *IFR = 0x0FFFF; /*清除中断标志*/
// asm(" setc INTM ");
*IMR = 0x3A; //中断禁止,开INT6->AD转换完成中断,INT2定时器3下溢中断
//INT4,caption中断信号,INT5串口中断 0011 1010
*IFR = 0x0FFFF; //清除中断标志*/
*XINT1CR = 0x8002; //使能XINT1,低优先级
asm(" setc INTM "); //清除可屏蔽中断
}
void KeyInitial() {
*MCRA = (*MCRA&0XFF07)|0X0007; //
*PADATDIR = (*PADATDIR&0XC0FF)|0XC0FF;
}
void T3PWM_128(void) {
*MCRC = *MCRC | 0x0C7E; //IOPE1-IOPE6,被配置为基本功能方式,PWM7-PWM12
*GPTCONB = 0x0049; //比较输出允许,T3PIN低有效;
// *T3PR = 0x1869; //设置定时器3的周期寄存器
*T3PR = 0x0C33;
*ACTRB = 0x0666; //PWM12,10,8低有效,PWM11,9,7高有效
*DBTCONB = 0x00; //不使能死区控制
*T3CMPR = 0x0619; //比较寄存器用来产生倍频信号
*CMPR4=0x1F;
*CMPR5=0x2F;
*CMPR6=0x3f; //比较积存器设初值
*T3CNT = 0;
*EVBIFRA=0x0FFFF;
// *EVBIMRA=0x0080;
*EVBIMRA=0x0200;
*COMCONB = 0x08200; //使能比较操作
*T3CON = 0x8842; //100 01000 0100 0010
}
void SCI_Init() //串行通信初始化
{
*MCRA|=0X0003 ; //配置为SCI
*SCICCR=0x0007 ; //空闲线模式,8位数据位,1位停止位
*SCICTL1=0x0013; //禁止休眠模式,发送,接受使能
*SCICTL2=0x0002; //接受中断使能
*SCIHBAUD=0x0002; //CPU时钟频率为40M,波特率为9600
*SCILBAUD=0x0008;
*SCIPRI=0x68 ; //低优先级 0110 1000
*SCICTL1=0x0033; //完成串口设置
}
void Timer2_Init() //定时采样中断
{
*T2PR=0x1869; //20ms中断一次
*T2CNT=0 ;
*T2CON=0x9740 ; //100 10111 0100 0000 ,128分频
*EVAIFRB=0x0000 ;
*EVAIMRB=0xffff; //禁止中断
*CAPCONB=0x2040;
*EVBIMRC=0x01; //Caption4中断
}
void Caption_Init()
{
//IO口初始化
*MCRC = *MCRC | 0x0080;
*T4PR=0xfff; //20ms中断一次
*T4CNT=0 ;
*T4CON=0x9740 ; //100 10111 0100 0000 ,128分频
*EVAIFRB=0x0FFFF ;
*EVAIMRB=0x0000; //禁止中断
*CAPCONB=0x2040;
*EVBIMRC=0x01; //Caption4中断
*EVBIFRC=0x0FFFF ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -