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

📄 uart.c

📁 硬件是8051f340+cp2200。插上网线
💻 C
字号:
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: Uart.C
* 文件标识: none
* 适用器件: C8051F340
* 
* 摘 要:串口通讯模块
* 
* 当前版本:1.0
* 作 者:张宁强
* 完成日期:2006年5月29日
*
* 历史版本:
* 原作者:
* 完成日期:
*************************************************************************************/
#include "CP2200DK.H"

#define SYSCLK      12000000
#define BAUDRATE        9600

void Uart0Init(void)//串口初始化
{
   SCON0 = 0x10;//允许接收

   /*if (SYSCLK/BAUDRATE/2/256 < 1) {
      TH1 = -(SYSCLK/BAUDRATE/2);
      CKCON &= ~0x0B;                  // T1M = 1; SCA1:0 = xx
      CKCON |=  0x08;
   } else if (SYSCLK/BAUDRATE/2/256 < 4) {
      TH1 = -(SYSCLK/BAUDRATE/2/4);
      CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 01                  
      CKCON |=  0x01;
   } else if (SYSCLK/BAUDRATE/2/256 < 12) {
      TH1 = -(SYSCLK/BAUDRATE/2/12);
      CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 00
   } else {
      TH1 = -(SYSCLK/BAUDRATE/2/48);
      CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 10
      CKCON |=  0x02;
   }
	  */
	  TH1 = -(SYSCLK/BAUDRATE/2/4);
      CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 01                  
      CKCON |=  0x01;
   TL1 = TH1;
   TMOD &= ~0xf0;
   TMOD |=  0x20;
   TR1 = 1;
   TI0 = 1;
}

unsigned char Uart0Get(void)//UART0接收一个字节
{
	while(RI0==0);
	RI0=0;
	return SBUF0;
}

void Uart0Send(unsigned char Dbyte)//UART0发送一个字节
{
	TI0=0;
	SBUF0=Dbyte;
	while(TI0==0);
}

void Uart0SendString(unsigned char *StrHead,unsigned char Number)//UART0发送一组数据
{
	unsigned char n;
	for(n=0;n<Number;n++)
	{
		Uart0Send(StrHead[n]);
	}
}

⌨️ 快捷键说明

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