单片机 【串口通信】





=====================================
================

================================串口通信工作模式============【SM】=================

===========================发送中断标志位==============================

======================接收中断标志位=============================

=======================ES中断【串口中断】==============================================

=========================波特率设置=========================
fosc为晶振频率
=============================程序=================================
1 void init() 2 { 3 TMOD = 0x20; //T1 8位 4 TH1 = 0xfd; 5 TL1=0xfd; //253 T初始 6 TR1 =1; //开启定时器 7 SM0 = 0; 8 SM1 = 1; //串口工作模式1 9 REN =1; //接收控制允许位 10 11 12 } 13 void main() 14 { 15 init(); 16 while(1) 17 { 18 19 while(!RI); //判断是否接收完成 1——————>完成 0--------->未完成 20 RI =0; 21 P1=SBUF; 22 23 24 25 } 26 27 }
1 #include<reg52.h> 2 #include<intrins.h> 3 4 typedef unsigned char uchar; 5 typedef unsigned int uint; 6 uint num; 7 void delay(uint z) 8 { 9 uint x,y; 10 for(x=z;x>0;x--) 11 { 12 for(y=114;y>0;y--); 13 14 } 15 16 } 17 18 void init() 19 { 20 TMOD = 0x20; //T1 8位 21 TH1 = 0xfd; 22 TL1 = 0xfd; 23 TR1=1; 24 SM0 = 0; 25 SM1 =1; 26 REN = 1; 27 28 29 30 } 31 void main() 32 { 33 init(); 34 while(1) 35 { 36 if(RI) 37 { 38 num=SBUF; //发送 39 P1=SBUF; 40 num++; 41 RI =0; 42 SBUF = num; //接收 43 while(!TI); 44 TI =0; 45 } 46 47 } 48 49 50 51 }
一个二次元的生物

浙公网安备 33010602011771号