📄 uart.c
字号:
#include <C8051F020.H>
#include"intrins.h"
#include"UART.h"
/*************************************************************************
使用一部外设时一定要设置交叉开关和通用口,将外设映射到通用口,如UART
*************************************************************************/
void delay_us(unsigned int us)
{
while(us--)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
void delay(uint8 ms)
{
uint8 i;
unsigned int j;
for(i=0;i<ms;i++)
for(j=0;j<12250;j++);
}
void PORT_Init(void)
{
XBR0|=0X14; //TX0,RX0连到P0.0和P0.1 CEX0、CEX1连接到P0.2和P0.3
P0MDOUT|=0X0D;
XBR2=0X40;
}
void ClkInit() //选外部晶振作为时钟
{
//OSCXCN|=0X77; //系统时钟晶振二分频
OSCXCN|=0X67; //系统时钟晶振不分频
delay_us(500);
while(!XTLVLD);
OSCICN=0X08;
}
void UartInit()
{
TMOD=0X20; //选择定时器1,8位自动重装方式
SM00=0; //UART0选择方式1
SM10=1;
TCLK0=0; //选择定时器1作为时钟源
RCLK0=0;
CKCON|=0X10; //T1M=1,定时器1不12分频
PCON|=0x80; //SMOD0=1,禁止 UART0 的波特率/2 功能,PCON控制字属于电源管理
TH1=0XFA;
TL1=0XFA;
TI0=0;
TR1=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -