#include <reg51.h>
void uart_init(void);
void uart_send_byte(unsigned char c);
void delay1s(void) //誤差 -0.00000000024us
{
unsigned char a,b,c;
for(c=95;c>0;c--)
for(b=26;b>0;b--)
for(a=185;a>0;a--);
}
void main(void)
{
uart_init();
uart_send_byte('Y');
delay1s( );
}
void uart_init(void)
{
// 波特率9600
SCON = 0x50; // 串口工作在模式1(8位串口)、允許接收
PCON = 0x00; // 波特率不加倍
// 通信波特率相關的設置
TMOD = 0x20; // 設置T1為模式2
TH1 = 253;
TL1 = 253; // 8位自動重裝,意思就是TH1用完了之后下一個周期TL1會
// 自動重裝到TH1去
TR1 = 1; // 開啟T1讓它開始工作
ES = 1;
EA = 1;
}
// 通過串口發送1個字節出去
void uart_send_byte(unsigned char c)
{
// 第1步,發送一個字節
SBUF = c;
// 第2步,先確認串口發送部分沒有在忙
while (!TI);
// 第3步,軟件復位TI標志位
TI = 0;
}
圖一
IMG_20200904_170440.jpg (5.4 MB, 下載次數: 45)
下載附件
2020-9-4 17:06 上傳
1599210761107.jpg (4.81 MB, 下載次數: 48)
下載附件
2020-9-4 17:14 上傳
|