打印

PC向1602发清屏信号,光标不能移动了

[复制链接]
1730|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jzhsh2007|  楼主 | 2013-1-7 23:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void uart() interrupt 4
{

        RI=0;
        temp=SBUF;
        if(num==0)
        {
                if(temp!=0xff)
                        num=1;
        }       
        if(num!=0)
        {       
                        if(temp==0x01);
                                i=0;                       
                        if(i<16)
                        {
                                write_lcdcmd(0x80+i);
                                write_lcddata(temp);
       
                        }       
                        if(i>15&&i<32)
                        {
                                write_lcdcmd(0x80+0x40+i-16);
                                write_lcddata(temp);
                               
                        }
                        flag=1;
                        i++;
                        if(i>31)
                                i=0;
        }
}

void main()
{
        init();
        while(1)
        {         
                if(flag==1)
                {
                        flag=0;
                        ES=0;
                        SBUF=temp;
                        while(!TI);
                        TI=0;
                        ES=1;
                }       
        }
}

==========================================================
1602能和PC机通过串口通讯,想给1602发送个0x01让其能够清屏,可是发送完0x01之后光标
就不在加1了,总是在显示屏第一个位置显示。没有if(temp==0x01);i=0;这两条语句时都是
正常的,有了光标就不动了,什么原因啊?
还有个问题:向1602发送字符串时,只能是两个两个的发送,如发送hello,显示屏就只显示
he,mcu发到PC的数据也只是一个字母e,什么原因呢?

相关帖子

沙发
lzqxs89| | 2013-1-8 22:03 | 只看该作者
1、你可以尝试下在清屏后再设置下光标的模式;
问题2我没明白是什么意思,可以说清楚点不?是你发送“hellow”,LCD只能显示“he”,还是····?

使用特权

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

本版积分规则

2

主题

5

帖子

1

粉丝