串口通信Nebula Pi评测报告·

Nebula Pi 开发板评测报告(八)——串口通信功能测试

ii11nnocent

ii11nnocent

139 0

串口通信可以实现单片机和外部设备之间的数据传输,利用下面的程序可以实现电脑发送特定指令(0、1等)控制LED灯的亮、灭:

#include "reg52.h"  
  
sbit LED = P1^0;    //位定义P1.0引脚  
  
void Usart_Init(void)  
{  
    SCON = 0x50;    //设置串口工作方式为方式1  
    TMOD = 0x20;    //定时器工作方式为方式2  
    PCON = 0x00;    //波特率不加倍  
    TH1 = 0xFD;  
    TL1 = 0xFD;     //11.0592MHz晶振的通信波特率为9600  
    ES = 1;             //开串口中断  
    EA = 1;             //开总中断  
    TR1 = 1;            //开定时器1  
}  
      
  
void main(void)  
{  
    Usart_Init();       //串口初始化  
    while(1)  
    {  
        ;         
    }  
}  
  
void Usart(void)    interrupt 4 using 1  
{  
    unsigned char Receive;  //定义接收变量  
      
    Receive = SBUF; //接收到的指令存储在Receive中  
    RI = 0;                 //清除接收标志位     
    if( Receive  == '0' )  
    {  
        LED = 0;        //接收为"0"时点亮LED灯  
    }  
    if( Receive  == '1' )  
    {  
        LED = 1;        //接收为"1"时熄灭LED灯  
    }     
    SBUF = Receive; //接收到的数据传回电脑  
    while(!TI);         //检测发送是否完毕  
    TI = 0;                 //发送完毕后清空发送标志位  
      
}

所属系列

从当前文章继续阅读它所在合集中的前后内容。

相关文章

优先推荐同专题、同标签和同作者内容,补足热门文章。

评论 0

登录 后参与评论

评论

成为第一个评论的人