普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3481|回复: 2

利用串口通信控制LED小灯亮灭

[复制链接]

22

主题

24

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2021-1-10 22:49:27 | 显示全部楼层 |阅读模式
/*  功能:利用串口通信控制LED小灯的亮灭
    欢迎各位交流单片机学习心得和技巧  QQ 30777103

*/

#include<reg52.h>
#define uchar unsigned char

sbit led1=P2^7;
sbit led2=P2^6;
sbit led3=P2^5;

void UartInit()
{
        TMOD=0x20;
        TH1=0XF3; TL1=0XF3;
        TR1=1;
        SCON=0X50;
        PCON|=0X80;
        ES=1;
        EA=1;
}

void Uart() interrupt 4
{
        uchar srdata;
        srdata=SBUF;
        RI=0;
        if(srdata=='1')
    led1=~led1;
        if(srdata=='2')
        led2=~led2;
        if(srdata=='3')
        led3=~led3;
        SBUF=srdata;
        while(!TI);
        TI=0;

       
}

void main()
{
        UartInit();
        while(1);
}
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-2-25 21:33:29 | 显示全部楼层
我跟你的代码一样,波特率都是4800,但为啥我的有时候输出和接受到的不一致,而且只能输入和接受十六进制,发送个位数接收不到
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-24 04:59 , Processed in 0.091452 second(s), 33 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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