打印
[国产单片机]

串行口通讯与显示

[复制链接]
1312|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhoupengju|  楼主 | 2013-6-24 23:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhoupengju 于 2013-6-28 14:05 编辑

{
unsigned char dat;
while(RI==0);
RI=0;
dat=SBUF;
return dat;
}



        while(1)
        {        
                a=receive();
                P1=a;
                lcd_wdat((a/10)+0x30);//lcd1602显示,当串口输入大于0X10时l,cd显示为48。
                delay(5);
                lcd_wdat((a%10)+0x30);
                delay(5);
        }      
为什么a的值在大于0X10时,lcd显示为乱码?比如a=0X10时,lcd显示为48;                  


相关帖子

沙发
胡斯哲| | 2013-6-24 23:26 | 只看该作者
串口发送大于0x10后从48开始显示吧  我觉得没得问题呢

使用特权

评论回复
板凳
胡斯哲| | 2013-6-25 21:26 | 只看该作者

使用特权

评论回复
地板
zhoupengju|  楼主 | 2013-6-27 21:53 | 只看该作者
胡斯哲 发表于 2013-6-25 21:26

这是什么情况
没有人进来

使用特权

评论回复
5
xyz549040622| | 2013-6-27 22:02 | 只看该作者
无头无脑。。没问什么问题,贴出一大堆程序

使用特权

评论回复
6
胡斯哲| | 2013-6-29 00:02 | 只看该作者
xyz549040622 发表于 2013-6-27 22:02
无头无脑。。没问什么问题,贴出一大堆程序

有问题啊   就是串口通信  在键盘输入0-f的16进制码 在单片机上显示是0-15  然后输入10(16进制)显示的就是48了 11为49   版主不这样不待见新人啊

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
zhoupengju + 1 很给力!
7
谈的元| | 2013-6-29 18:01 | 只看该作者
本帖最后由 谈的元 于 2013-6-29 18:03 编辑

先测试:在程序中添加一句:a=0x10;

看显示什么,把问题定位一下

如果正常显示,就是输入的问题,否则检查显示程序

使用特权

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

本版积分规则

14

主题

52

帖子

0

粉丝