📄 mcu_uart.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() // Baud rate 9600
{
/*Using the T1 as Baud Rate Generater.
CKCON |=0x04;
TMOD = 0x20;
TH1 = 0xf5;
TL1 = 0xf5;
SCON = 0x50;
PCON = PCON|0x80;
TR1 = 1;
*/
//Using Internal Baud Rate Generater.
CKCON |=0x10;
SCON = 0x50;
PCON = PCON|0x80;
BRL = 0xbf;
BDRCON |=0x0c; //TBCK=1,RBCK=1
BDRCON |=0x02; //SPD=1
BDRCON |=0x10; //BRR=1,enable BRG
}
/*
char uart_getch()
{
while (!RI);
RI = 0;
return SBUF;
}
void uart_putch(char ch)
{
SBUF = ch;
while (!TI);
TI = 0;
}
*/
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;
while (*ct != '\0')
{
if (*ct == '%')
{
if (*(ct + 1) == 'x')
{
ct += 2;
SBUF = hex[cb/16];
while (!TI);
TI = 0;
SBUF = hex[cb%16];
while (!TI);
TI = 0;
continue;
}
if (*(ct + 1) == 'd')
{
ct += 2;
if(cb/100)
{SBUF = cb/100+0x30;
while (!TI);
TI = 0;}
if(cb/10)
{SBUF = (cb%100)/10+0x30;
while (!TI);
TI = 0;}
SBUF = cb%10+0x30;
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 + -