89c669uart.c

来自「简单实用的keilc p89c669uart 传口通讯程序.已通过工程使用」· C语言 代码 · 共 38 行

C
38
字号
#include
#include 
#define FOSCCLK 11059200 //单片机外部时钟 
#define BAUD 9600 //波特率设置 
unsigned int BRATE; 
void Uart1Init( void ) //UART1 初始化函数 
{ 
  S1STAT = 0x20 ; // 区分接收和发送中断 
  S1CON = 0x00 ; //串口控制寄存器清零 
  REN_1 = 1 ; //允许接收中断 { //进入8 位UART 模式设置 SM0_1 = 0 ; SM1_1 = 1 ; //设定串口通讯方式为模式1 } 
  BRGCON = 0X00 ; //关闭波特率发生器,从而设置波特率 
  BRGR1 = BRATE >> 8 ; 
  BRGR0 = BRATE & 0x0ff ; 
  BRGCON = 0X01 ; //开启波特率发生器 
  ES1R = 1 ; // 开放UART1 接收中断 
  EA = 1 ; // 使能所有中断 
} 

void Uart1SendCrt( unsigned char crt ) //UART1 发送数据函数 
{ 
  S1BUF = crt ; 
  while( TI_1 == 0 ) ; 
  TI_1 = 0 ; 
} 

main() 
{ 
unsigned int count ; 
BRATE=FOSCCLK/BAUD-16; 
Uart1Init( ) ; //初始化串口参数 
count = 0x0ff ; 
while( count--) ; //延时 
while(1) { 
  Uart1SendCrt( 'A') ; //发送字符A 
  count = 0x0ff ; 
  while( count--) ; //延时 
 }
} 

⌨️ 快捷键说明

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