找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 935|回复: 0
打印 上一主题 下一主题
收起左侧

单片机串口通信,程序如下,如何调试串口调试助手发数据使得LED灯亮

[复制链接]
跳转到指定楼层
楼主
ID:1008194 发表于 2022-5-29 10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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:打开串口允许位
    PCON=0x80;//倍频

    TMOD=0x20;    //定时器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; 不打开定时中断
    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 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表