📄 sysini.c
字号:
#define SYSINI_GLOBALS
#include "includes.h"
//******************************************************************************************//
/******************** 系统函数 ********************/
// 端口初始化
void PortInitialization ( void ) {
//*******************************//
//PXDIN : 0=模拟输入;1=数字输入.//
//*******************************//
//*******************************//
//PXDOUT : 0=漏极开路;1=推挽输出.//
//*******************************//
XBR0 = 0X00;
XBR1 = 0X84; //SYSCLK连出来,INT0连出来
XBR2 = 0X80; //关闭弱上拉
EMI0CN = 0; //
EMI0CF = 0X2c; //外部存储器高端复用方式
EMI0TC = 0Xcf; //时序选择,地址建立时间很重要哦
P3MDOUT = 0X00; //
P2MDOUT = 0X00; //
P2=0xff;
XBR2 |= 0X40; //交叉开关使能
P0MDOUT = 0Xf0; //
P0=0xff;
P74OUT = 0XF0; //推挽输出,总线上都接上拉电阻;
//如果漏开则不行因为1将其置为高阻
}
// 将系统时钟设置为外部时钟 24 MHZ
void ExternalClock ( void ) {
unsigned int i;
OSCXCN = 0x67; // 定义外部时钟,并使能
for (i = 3000;i > 0;i--); // 等待 1 ms,使外部时钟稳定
while ((OSCXCN & 0x80) == 0); // 检测时钟准备好标志
OSCICN = 0x08; // 禁止内部时钟,选择外部时钟
}
void ExternIntInit(void){ //中断初始化
P3IF = 0X00; //下降沿触发,中断向量为18 中断标志
EIE2 |= 0X11; //允许EX6中断 定时器3中断
IE |=0X00;
EIP2=0x00;
IT1 = 1;
}
void Timer3Init(){ //定时器3初始化
TMR3CN = 0X00;
TMR3RLL = 0X30; //1ms定时
TMR3RLH = 0XF8;
TMR3L = 0X30;
TMR3H = 0XF8;
EIE2 |= 0X01; //ET3 = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -