找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

高手帮忙指点一下我写的程序

[复制链接]
初来乍到 发表于 2011-8-26 10:50:15 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我想在串口调试助手输入1是显示girlfriend,输入2是显示boyfriend,但是程序输入后没反应,不知道哪错了,高手帮忙指点一下啦

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="girlfriend";
uchar code table1[]="boyfriend";
uchar flag,i,a;

void init()
{
        TMOD=0x20;
        TH1=0xf3;
        TL1=0xf3;
        TR1=1;
        REN=1;
        SM0=0;
        SM1=1;
        EA=1;
        ES=1;

}

void main()
{
        init();
        while(1)
        {
                if(flag==1)
                {
                        switch(SBUF)
                        {
                                case 1:
                                ES=0;
                                for(i=0;i<10;i++)
                                {
                                        SBUF=table;
                                        while(!TI);
                                        TI=0;
                                        ES=1;
                                        flag=0;
                                }
                                case 2:
                                ES=0;
                                for(i=0;i<10;i++)
                                {
                                        SBUF=table;
                                        while(!TI);
                                        TI=0;
                                        ES=1;
                                        flag=0;
                                }
                        }
/*                        if(a==1)
                        {
                                ES=0;
                                for(i=0;i<10;i++)
                                {
                                        SBUF=table;
                                        while(!TI);
                                        TI=0;
                                        ES=1;
                                        flag=0;
                                }

                        }
                        if(a==2)
                        {
                                ES=0;
                                for(i=0;i<9;i++)
                                {
                                        SBUF=table1;
                                        while(!TI);
                                        TI=0;
                                        ES=1;
                                        flag=0;
                                }

                        }
*/
                }
        }       
}

void ser() interrupt 4
{
        RI=0;
        flag=1;
}
admin 发表于 2012-7-23 12:25:37 | 显示全部楼层
你这程序毛病很多啊 条件语句后面要跟break 中断里要把TI清零 中断里要用IF判断是TI还是RI 用串口调试助手发送数据的时候要设置好显示模式和发送模式
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 10:50 , Processed in 0.059894 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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