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 + -
显示快捷键?