📄 89c52init.c
字号:
#include <c8051f020.h>
void SYSCLK_Init (void)
{
unsigned int i;
OSCXCN = 0x67;
for (i=0; i < 255; i++) ;
while (!(OSCXCN & 0x80)) ;
OSCICN = 0x88;
//OSCICN = 0x96;
}
void PORT_Init (void)
{
XBR0 = 0x45; // 01000100
// TX0-------P0.0
// RX0-------P0.1
// SDA-------p0.2
// scl-------p0.3
// T5(ECI)---P0.6
XBR1 = 0x2E; // 00111110
// T2-------P1.2
// T1-------P1.1
// INT0-----P1.0
// T0-------P0.7
EIE1 =0x80;////允许比较起1上升沿中断
EIP1=0xC0; //设置比较器1的上升沿和下降沿为高优先级中断
XBR2 = 0x4c; // 11001100
// 弱上拉全局使能
// 交叉开关允许
// T4-------P1.3
// TX1------P0.4
// RX1------P0.5
EIP2=0x00; //设置uart1为低优先级中断
EIE2=0x01; //开T3中断
P0MDOUT = 0x00; // TX0、TX1接有上拉电阻配置为漏极开路
P1MDIN = 0xFF; // 11100111
// P1.3、P1.4为模拟AD转换输入
P1MDOUT = 0x00;
P2MDOUT = 0x80; // P2.7为推挽,其余为漏集开路
P2 = 0xff;
P3MDOUT |= 0x00; // 00000000 漏集开路
P3=0xff;
P3IF |= 0x00; // INT6、INT7为下降沿触发
P74OUT =0x30; //P5为漏集开路,P6为推挽
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -