📄 init.c
字号:
//////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
#include "c8051.h"
void SYSCLK_Init (void)
{
CLKSEL =0x01 ;
OSCICN=0x00 ;//将系统时钟由内部振荡器切换到外部振荡器
}
/////////////////////////////////////////////////////////////////////////////////////
void PORT_Init ( )
{
P0SKIP=0xCF;
P1SKIP=0x3F;
XBR0=0x01;
XBR1=0x40;
}
////////////////////////////////////////////////////////////////////////////////////
void Timer2_Init (int counts)
{
TMR2CN = 0x00; // Stop Timer2; Clear TF2;
// use SYSCLK/12 as timebase
CKCON &= ~0x60; // Timer2 clocked based on T2XCLK;
TMR2RL = -counts; // Init reload values
TMR2 = 0xffff; // set to reload immediately
ET2 = 1; // enable Timer2 interrupts
TR2 = 1; // start Timer2
}
////////////////////////////////////////////////////////////////////
void UART0_Init ( )
{
//设置终端,定时器。用于设置通信中断,定时中断产生波特率//
SCON0=0x90; /*串口通讯3,允许接受*/
PCON=0x00;
TMOD=0x21;/* */
CKCON=0x02; // 定时器T1所用时钟源为系统时钟的48分频,这样配置可实现波特率为1200Bps
TH1=0xa0; //波特率为1200//
TL1=0x01;
TR1=1;
}
///////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -