📄 main.c
字号:
#include <reg52.h>
#include <intrins.h>
#include "inc/CPUIO_DEF.H"
#include "inc/PUBLIC_VARIABLE.H"
#include "inc/candul.H"
#include "inc/common.H"
void main(void)
{
//关键变量初始化
bitRstFlg = 0;
bitMidoFlg = 0;
bitLastFlg = 0;
MOTONOFF = 1; //马达关闭
bitSysAllowWork = 0;
//CPU初始化
SJA_RST = 1; //CAN总线复位管脚
SJA_CS = 0; //CAN总线片选有效
//定时器0初始化
//AUXR &= 0x1f; //定时器00011100兼容标准51 ,进行12分频 ,
TMOD |= 0X11; //T0模式1,T1模式1
TL0 = 0Xcc; //2ms定时中断22.1184mhz
TH0 = 0XF8 ;
TL1 = 0X0 ; //
TH1 = 0X0 ;
TR0 = 1; //启动定时器0
TR1 = 0; //停止定时器1
//6、串口初始化
// SCON = 0XF0 ; //串口模式1,SM2=0;
PCON = 0;
// EX1 = 1;//外部中断0负边沿触发
// IT1 = 1;
IT0 = 0;//CAN总线接收中断电平触发
EX0 = 1;//打开外部中断0
// ES = 1; //开串口中断
ET0 = 1; //定时器0
ET1 = 1; //定时器1
// IE = 0x03;
EA = 1; //打开总中断
SJA_CS = 1; //CAN总线片选无效,保证数据线上的变化不会影响SJA1000
//CPU初始化
CAN_init(); //SJA1000初始化,对 SJA1000寄存器的读写是采用外部寄存器寻址方式,所以不需要程序单独控制片选有效无效
_nop_();
_nop_();
SysReadyInit(); //系统自检初始化函数
while(1)
{
MotControl(); //马达控制
Rxd_deal(); //数据处理
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -