⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c51_8250.c

📁 PC机与单片机之间进行通讯连接的C51代码和PC机的VC++代码
💻 C
字号:
/*************************************/
/*8250 Module Subroutine---c51_8250.c*/
/*************************************/

#define UartBase 0x6000
#define UartData XBYTE[UartBase+0x0000]
#define UartDLL XBYTE[UartBase+0x0000]
#define UartIER XBYTE[UartBase+0x0001]
#define UartDLM XBYTE[UartBase+0x0001]
#define UartIIR XBYTE[UartBase+0x0002]
#define UartLCR XBYTE[UartBase+0x0003]
#define UartMCR XBYTE[UartBase+0x0004]
#define UartLSR XBYTE[UartBase+0x0005]
#define UartMSR XBYTE[UartBase+0x0006]
#define UartSCR XBYTE[UartBase+0x0007]



/* for UART routine */
data char uart_rx_char;
data bit uart_rx_ready;


void UartInit(void); /* Photo type of routine */
void UartInit()
{
  UartLCR = 0x80; /* Change to Baud Gen. mode*/
  UartDLL = 0x0c; /* Baud = 1.8432M /16 /0x0c*/
  UartDLM = 0x00;
  UartLCR = 0x03; /* Change to N,8,1*/
  UartIER = 0x01; /* 0000 0001 - Int When Rx data */

  Uart2LCR = 0x80; /* Change to Baud Gen. mode*/
  Uart2DLL = 0x0c; /* Baud = 1.8432M /16 /0x0c*/
  Uart2DLM = 0x00;
  Uart2LCR = 0x03; /* Change to N,8,1*/
  Uart2IER = 0x01; /* 0000 0001 - Int When Rx data */
}

void UartSend(char); /* Photo type of routine */
void UartSend(char c)
{ UartData = c; /* Tx the char.*/
   UartCrcCalc(c);
   while((UartLSR&0x20)==0);
}

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -