单片机 【串口通信】
一.了解单片机的串口通信





二.串行接口结构


三.串行接口寄存器





四.波特率计算


五.使用串行通信的步骤

注意:在串口通信中为什么都是定时器1呢,不感觉有问题吗,其实这是内部决定的,串口通信与T0没有关系了
六.代码
1 #include <reg52.h> 2 3 #define uchar unsigned char 4 #define uint unsigned int 5 6 uchar num; 7 void UART_init() 8 { 9 TMOD = 0x20; //T1¹¤×÷ģʽ2 8λ×Ô¶¯ÖØ×° 10 TH1 = 0xfd; 11 TL1 = 0xfd; //±ÈÌØÂÊ9600 12 TR1 = 1; //Æô¶¯T1¶¨Ê±Æ÷ 13 SM0 = 0; 14 SM1 = 1; //´®¿Ú¹¤×÷·½Ê½1 10λÒì²½ 15 REN = 1; //´®¿ÚÔÊÐí½ÓÊÕ 16 EA = 1; //¿ª×ÜÖÐ¶Ï 17 ES = 1; //´®¿ÚÖжϴò¿ª 18 } 19 void main() 20 { 21 UART_init(); //´®¿Ú³õʼ»¯ 22 while(1); 23 } 24 25 26 void UART() interrupt 4 27 { 28 if(RI) //¼ì²âÊÇ·ñ½ÓÊÕÍê³É 29 { 30 num = SBUF; //num È¡³ö½ÓÊÕ»º´æÆ÷µÄÖµ 31 P1 = SBUF; 32 num++; 33 RI = 0; 34 SBUF = num; 35 while(!TI); 36 TI = 0; 37 } 38 }
一个二次元的生物

浙公网安备 33010602011771号