为什么我的程序只能发送一个字节到上位机

2019-07-15 13:54发布

#include<reg52.h>

unsigned char flag,a,i;
unsigned char table[]="I get ";
void main()
{
        SCON = 0x50;
        TMOD = 0x20;
        PCON = 0x80;
        TH1 = 0xf3;
        TL1 = 0xf3;
        TR1 = 1;
        EA = 1;
        ES = 1;

        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;
        flag = 1;       
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
zy1996
1楼-- · 2019-07-16 16:06
Mr.DHG 发表于 2016-5-20 17:19
TMOD是什么模式,自动重装载吗

是的.........................
zy1996
2楼-- · 2019-07-16 18:31
jinyi7016 发表于 2016-5-20 14:16
TI = 0;     这句是不是有问题

是什么问题呢?                                   
张大猛
3楼-- · 2019-07-16 22:47
这是郭天祥的程序吧   

一周热门 更多>