text.c
来自「c8051f020单片机的例程」· C语言 代码 · 共 78 行
C
78 行
#include "c8051f020.h"
sbit led=P3^7;
bit flag=0;
unsigned char data1;
void SYSCLK_Init();
void PORT_Init();
void UART0_Init();
void SYSCLK_Init()
{
unsigned int i;
OSCXCN=0X67; //0X67=0110,0111
for(i=0;i<256;i++); //等待>1ms
while(!(OSCXCN&0X80)); //等待XTLVLD变为1
OSCICN=0X88; //时钟失效监测器,选择外部时钟源作为系统时钟
}
void PORT_Init()
{
XBR0 = 0x04;
XBR1=0X00;
XBR2=0X40;
}
void UART0_Init()
{
SCON0=0x50; //串口方式1
TMOD=0X20; //选用定时器1作为波特率发生器
TH1=0xF4; //波特率为4800
TL1=0xF4;
ES0=1; //开启串口中断0
TF1=0;
TR1=1; //定时器启动
PCON=0X00;
TI0=1;
}
void UART0_ISR() interrupt 4 using 1
{
if(RI0)
{
RI0=0;//中断接收标志清零
data1=SBUF0;//接收数据
SBUF0=data1;//发送数据
led=!led;
while(TI0==0);
TI0=0;//发送标志清零
}
}
main()
{
WDTCN=0XDE;
WDTCN=0XAD;
SYSCLK_Init();
PORT_Init();
UART0_Init();
EA=1;
while(1);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?