单片机 【串口通信】

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

 

 

二.串行接口结构

 

 

三.串行接口寄存器

 

 

四.波特率计算

 

 

五.使用串行通信的步骤

 

注意:在串口通信中为什么都是定时器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 }
串口通信

 

posted @ 2018-01-21 11:20  Justice-V  阅读(235)  评论(0)    收藏  举报