找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1492|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)串口通信,程序如下,如何調(diào)試串口調(diào)試助手發(fā)數(shù)據(jù)使得LED燈亮

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1008194 發(fā)表于 2022-5-29 10:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg51.h>            
#include <intrins.h>

typedef unsigned int u16;      
typedef unsigned char u8;

sbit led=P2^2;


void UsartInit()
{
    SCON=0x50;//串口工作方式1,REN=1:打開(kāi)串口允許位
    PCON=0x80;//倍頻

    TMOD=0x20;    //定時(shí)器T1,工作方式2
    TH1=0xF3; //波特率為4800=(2*32)/T1溢出率,所以T1溢出率=76800
    TL1=0xF3; //T1溢出率=12M/{12*(256-TH1)}  TH1=243

    EA=1;
    ES=1;
//    ET1=1; 不打開(kāi)定時(shí)中斷
    TR1=1;

}

void UsartSendbyte(u8 byte)
{

    SBUF=byte;
    while(!TI);
    TI=0;

}

void UsartSendchar(u8 *c)
{
      while(*c!='\0')
      {
             UsartSendbyte(*c);
          c++;

      }


}

void main()
{
   UsartInit();
   while(1);


}

void Usart() interrupt 4
{
     u8 receiveData;
    u8 a[]="I receive\r\n";

    if(RI)
    {
         RI=0;
         receiveData=SBUF;
        if(receiveData=='1')
        {
             led=0;

      }
        else
        {
             led=1;

        }

    }
    UsartSendchar(a);
   if(TI)
   {

        TI=0;

}

}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表