全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

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

[复制链接]
2194 1

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

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

x
我想在串口调试助手输入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;
}

举报

回复

1 个评论

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

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表