标题: 这个关于通过串口调试小助手来控制LED的单片机程序哪里出问题了 [打印本页]

作者: luogu34    时间: 2022-12-1 22:05
标题: 这个关于通过串口调试小助手来控制LED的单片机程序哪里出问题了
各位大佬们求助,输入1却无法点亮对应的灯是什么情况?请各位大佬解答。
单片机源程序如下:

#include <REGX51.H>
#include<stdio.h>

int flag=0;
unsigned char i=0;
//′初始化串口
void initserial()
{
    SCON=0X50;
    TMOD=0X20;
    TH1=0XFD;
    TL1=0XFD;
    TR1=1;
}
//接收来自串口调试小助手的信号
void sendnumber()
{
        if(RI==1){
    i=SBUF;
    RI=0;
                flag=1;
    if(i=='0'){
        P2=~0x01;
    }
    else if(i=='1'){
        P2=~0x02;
    }
                P2=i;
        }
}
//输出数字
void putnumber(int k)
{
        SBUF=k;
        while(!TI);
        TI=0;
}
//打印字符
void sendchar(unsigned char _char)
{
                SBUF=_char;
                while(!TI);
                        TI=0;
}
//′打印字符串
void putstring1()
{
        int j=0;
        unsigned char _string[]={"μãááμú"};
        while(_string[j]){
                sendchar(_string[j]);
                j++;
        }
}
void putstring2()
{
        int j=0;
        unsigned char _string1[]={"¸öμÆ!\n"};
        
        while(_string1[j]){
                sendchar(_string1[j]);
                j++;
        }
}
void main()
{
  initserial();
        putstring1();
  while(1){
    sendnumber();
                        if(flag==1){
                                putnumber(i+1);
                          putstring2();
                    flag=0;
                          break;
                }
  }
}

屏幕截图 2022-12-01 220321.png (320.7 KB, 下载次数: 64)

屏幕截图 2022-12-01 220321.png

屏幕截图 2022-12-01 215737.png (28.66 KB, 下载次数: 63)

屏幕截图 2022-12-01 215737.png

作者: heicad    时间: 2022-12-2 16:28
仿真工程呢?
作者: luogu34    时间: 2022-12-2 19:30
heicad 发表于 2022-12-2 16:28
仿真工程呢?

只给了个图。。我看看怎么加大佬。
作者: glinfei    时间: 2022-12-3 09:07
多了一句P2=i,所以永远是1 5 6亮
作者: luogu34    时间: 2022-12-3 12:48
glinfei 发表于 2022-12-3 09:07
多了一句P2=i,所以永远是1 5 6亮

为什么这样子就156是亮的捏?大佬,不应该全亮吗?如果输入1的话

作者: yanhuijian11    时间: 2022-12-3 13:34
具体的工程呢
作者: SouKaQiMa    时间: 2022-12-3 16:26
输入0  P2=00110000   输入1 P2=00110001




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1