打印

51单片机程序问题,为何我输入1时没有反应呢?输入什么也不行

[复制链接]
907|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myongk|  楼主 | 2016-10-27 13:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i;
uchar code table[]="i get";
void init()
{
        TMOD=0x20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        REN=1;
        SM0=0;
        SM1=1;
        EA=1;
        ES=1;

}
void main()
{
        init();
        while(1)
        {
                if(flag==1)
                {
                        ES=0;
                        for(i=0;i<6;i++)
                        {
                                SBUF=table[i];
                                while(!TI);       
                                TI=0;
                        }
               
                SBUF=a;
                while(!TI);
                TI=0;
                ES=1;
                flag=0;
                }
        }
}
void ser() interrupt 4
{
        RI=0;
        a=SBUF;
        if(a==1)
        flag=1;
}

相关帖子

沙发
zhangxiyi5277| | 2016-10-27 21:05 | 只看该作者
注意字符,,a=`1`试试,,

使用特权

评论回复
板凳
myongk|  楼主 | 2016-10-28 21:33 | 只看该作者
zhangxiyi5277 发表于 2016-10-27 21:05
注意字符,,a=`1`试试,,

还是不行噢 不知道为什么

使用特权

评论回复
地板
cjseng| | 2016-10-28 22:51 | 只看该作者
发送的字符要写成“01”,选用16进制发送,不能写成“1”

使用特权

评论回复
5
myongk|  楼主 | 2016-10-29 14:14 | 只看该作者
cjseng 发表于 2016-10-28 22:51
发送的字符要写成“01”,选用16进制发送,不能写成“1”

你说得没错,万分谢谢啊,不过为什么要这样呢

使用特权

评论回复
6
cjseng| | 2016-10-29 14:49 | 只看该作者
myongk 发表于 2016-10-29 14:14
你说得没错,万分谢谢啊,不过为什么要这样呢

串口调试工具就是这样做的,不能识别“1”

使用特权

评论回复
7
myongk|  楼主 | 2016-11-1 23:28 | 只看该作者
cjseng 发表于 2016-10-29 14:49
串口调试工具就是这样做的,不能识别“1”

好,谢谢了啊

使用特权

评论回复
8
PIC16F-key| | 2016-11-3 09:37 | 只看该作者
组数不支持0或1,只支持16进制

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

0

粉丝