📄 main.c
字号:
#include <hidef.h> /* for EnableInterrupts macro */
#include <MC68HC908GZ16.h> /* include peripheral declarations */
typedef unsigned char uchar;
typedef unsigned int uint;
uint MsCount=0,Ms100Count=0;
uchar Ga,Gear_Flag,Key,Key_Change_Flag,Err_Flag;
void Delay_ms(uint count)
{
MsCount=0;
while(MsCount<=count);
}
void Init_MCU(void)
{
PCTL = 0x00; //禁止锁相环
COPCTL = 0x00; //写COPCTL,feeds the dog
//配置寄存器初始化
CONFIG1=0x09; //初始化配置COP,LVI
CONFIG2=0x08; //外部振荡器 8MHz
//TBM Init
TBCR = 0x16; //8MHz,时基中断允许,8192分频,1.024ms 8M/8192
//MSCAN Init
CMCR0 = 0x01; //MSCAN08处于软复位状态
CMCR1 = 0x00; //MSCAN08使用CGMXCLK/2作为时钟源
CIDAC = 0x00; //单个32位验收滤波器,滤波器0匹配
CIDAR0 = 0x67; //0x0cf1e403(自身标识符)
CIDAR1 = 0x9b;
CIDAR2 = 0xc8;
CIDAR3 = 0x06;
CIDMR0 = 0xff; //标识符屏蔽寄存器,不忽略,全部验收
CIDMR1 = 0xff;
CIDMR2 = 0xff;
CIDMR3 = 0xff;
CBTR0 = 0x81; //8MHz,SJW=3,3个Tq周期,BRP=2,波特率预定标器
CBTR1 = 0x14; //8MHz,ONE SAMPLE,P_SEG=3,PHASE1=2,PHASE2=2 //0x25; //TSEG1=6,TSEG2=3
CMCR0 = 0x00; //Start the device
CRIER = 0x01; //允许接收终端
//IO Init
DDRB_DDRB3=1; //设置CS_A为输出
DDRE_DDRE0=1; //设置DATA0为输出
DDRD=0xff; //设置DATA1-DATA7为输出
DDRA_DDRA0=0; //设置键盘为输入
DDRA_DDRA1=0;
DDRA_DDRA2=0;
DDRA_DDRA3=0;
//KeyBoard Init
INTKBSCR_MODEK=0; //选择触发方式为下降沿
INTKBSCR_IMASKK=1; //屏蔽键盘中断
INTKBIER_KBIE=0x0f; //PTA0、PTA1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -