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

📄 mcu_uart.c

📁 AT89C51SND1C是AT89C51核心的处理器
💻 C
字号:
/*  Copyright (C) 1996-2005 Brilliant Ideal Electronics. All rights reserved.
	MP3_Player+USB_Disk V3.0 Edit by JMBIE STUDIO 2005.03
*/


#include "AT89C51SND1_REG.H"
#include "MCU_UART.H"

char hex[16]  = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};

void init_uart(int fre)
{  
	if (fre == 1200)	 //only support 1200 Baud rate
	{   CKCON |=0x04;
		TMOD = 0x20;
		TH1  = 0xa9;
		TL1  = 0xa9;
		SCON = 0x50;
		PCON = PCON|0x80;
		TR1  = 1;
 	}
}


void printu(char * str)	
{	
    char *ct = str;
	while (*ct != '\0')
	{
		if (*ct == '\n')
		{
			SBUF = 13;
			while (!TI);
			TI = 0;
		}
		SBUF=*ct;
		while (!TI);
		TI = 0;
		ct++;
	}
}


void printuf(char *str, unsigned char cb) 
{
	char *ct = str;
	char cx1;
	char cx2;

	while (*ct != '\0')
	{
		if (*ct == '%')
		{	
			if (*(ct + 1) == 'x')              
			{
				ct += 2;
				cx1 = cb / 16;
				cx2 = cb % 16;
				SBUF = hex[cx1];
				while (!TI);
				TI = 0;
				SBUF = hex[cx2];
				while (!TI);
				TI = 0;
				continue;
			}
			if (*(ct + 1) == 'c')              
			{
				ct += 2;
				SBUF = cb;
				while (!TI);
				TI = 0;
				continue;
			}
			
		}
		if (*ct == '\n')
		{
			SBUF = 13;
			while (!TI);
			TI = 0;
		}
		SBUF = *ct;
		while (!TI);
		TI = 0;
		ct++;
	}
}

⌨️ 快捷键说明

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