找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机单片机串口通信,单片机接收到的数据怎么转换成10进制

[复制链接]
跳转到指定楼层
楼主
ID:449517 发表于 2019-4-27 10:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么用串口发送0-225控制不同的LED点亮

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:361354 发表于 2019-4-27 14:24 | 只看该作者
http://www.51hei.com/sp/4305.htm
你可以去看这个郭天祥的视频,里面讲的很详细
回复

使用道具 举报

板凳
ID:523056 发表于 2019-4-27 17:00 | 只看该作者
while(1) { i=串口接收函数得到的值; if(i==0) 灯灭; if(i==1) 灯亮; while(i==2) { 闪烁; i=串口接收函数得到的值; if(i!=2) break; } } 大体上就是这个形式,
回复

使用道具 举报

地板
ID:384252 发表于 2019-4-30 16:31 | 只看该作者
可以参考下这个

#include<STC15F2K60S2.h>

/***********位定义************/
sbit LED0 = P0^0;                // LED0
sbit LED1 = P0^1;                // LED1
sbit LED2 = P0^2;                // LED2
sbit LED3 = P0^3;                // LED3
sbit LED4 = P0^4;                // LED4
sbit LED5 = P0^5;                // LED5
sbit LED6 = P0^6;                // LED6
sbit LED7 = P0^7;                // LED7

sbit LED127 = P3^7;                // LED127

void main(void)
{
        P0M1 = 0x00;
        P0M0 = 0xff;
        P0   = 0x00;
       
        P3M1 = 0x03;
        P3M0 = 0xfe;
        P3   = 0xc3;
       
        SCON = 0xf0;                                // 8位数据+1位起始位,可变波特率
        AUXR |= 0x04;                                // 定时器2时钟为Fosc,即1T
        T2L  = 0x8f;                                // 设定定时初值
        T2H  = 0xfd;                                // 设定定时初值
        AUXR |= 0x10;                                // 启动定时器2
        ES   = 1;                                        // 允许串口中断
        while(1)
        {
                switch(SBUF)
                {
                        case 0x00:        LED0 = on;        break;        // LED0灯亮
                        case 0x01:        LED0 = off;        break;        // LED0灯灭
                        case 0x02:        LED1 = on;        break;        // LED1灯亮
                        case 0x03:        LED1 = off;        break;        // LED1灯灭
                        case 0x04:        LED2 = on;        break;        // LED2灯亮
                        case 0x05:        LED2 = off;        break;        // LED2灯灭
                        //        以下省略
                       
                        case 0xfe:        LED127 = on;break;        // LED127灯亮
                        default:        LED128 = off;                // LED127灯灭
                }
        }
}

void UartRcv(void) interrupt 4
{
        if(RI)
        {
                RI = 0;
        }
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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