|
重寫了完整的代碼,試一下
本帖最后由 STCSTC 于 2017-9-15 13:01 編輯
#include<reg51.h>
unsigned char SendTemp[7];
void UartInit(void) //4800bps@11.0592MHz
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFA;
TL1 = TH1;
PCON = 0x00;
TR1 = 1;
}
void Delay100ms() //@11.0592MHz
{
unsigned char i, j;
i = 180;
j = 73;
do
{
while (--j);
} while (--i);
}
void UsartSend(unsigned int temp)
{
unsigned char i;
SendTemp[0]=temp/10000 + 48; //百位
SendTemp[1]=temp % 10000 / 1000 + 48; //十位
SendTemp[2]=temp % 1000 / 100 + 48; //個位
SendTemp[3]='.';
SendTemp[4]=temp % 100 / 10 + 48; //十分位
SendTemp[5]=temp % 10 + 48; //百分位
SendTemp[6]='\n';
for(i=0;i<7;i++)
{
SBUF=SendTemp;
while(!TI); //等待發送完成
TI=0;
}
}
void main()
{
UartInit();
while(1)
{
UsartSend(12345);
Delay100ms();
}
}
|
|