智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1424|回复: 2
打印 上一主题 下一主题

51串口助手问题求助

[复制链接]

11

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
803
QQ
威望
431
贡献
228
兑换币
258
注册时间
2014-6-28
在线时间
72 小时
毕业学校
宁津县第一中学
跳转到指定楼层
1#
发表于 2014-7-21 19:03:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,想用串口助手给单片机发送指令控制数码管的移位,开发板的位选是P2口通过38译码器控制。但是不知道为什么需要发送两次才移位,第一次发送返回的是上一次的值。打什么能不能帮忙看看程序该怎么改。十分感谢
#include<reg52.h>
unsigned char A;
void init()
{
        TMOD=0X20;
        TR1=1;                 //开定时器1,设置工作方式2
        SCON=0X50;         //开串口接收,设置工作方式1
        TH1=0XFD;
        TL1=0XFD;         //波特率9600
        EA=1;
        ES=1;                 //开总中断,串口中断
}
void main()
{       
        init();
        while(1)
        {
                A=SBUF;                 //串口助手给A赋值
                while(!RI);
                RI=0;
                P2=A;                 //A的值通过38译码器控制哪一位数码管亮
                SBUF=A;               
        }
}

回复

使用道具 举报

11

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
803
QQ
威望
431
贡献
228
兑换币
258
注册时间
2014-6-28
在线时间
72 小时
毕业学校
宁津县第一中学
2#
 楼主| 发表于 2014-7-21 19:47:17 | 只看该作者
不知道为什么   调了一下顺序就好了
        while(1)
        {
                A=SBUF;                 //串口助手给A赋值
                P2=A;                 //A的值通过38译码器控制哪一位数码管亮
                SBUF=A;       
                while(!RI);
                RI=0;               
        }
回复 支持 反对

使用道具 举报

5

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2926
QQ
威望
1520
贡献
1054
兑换币
1012
注册时间
2015-3-8
在线时间
176 小时
毕业学校
中国单片机大学
3#
发表于 2015-3-8 15:21:28 | 只看该作者
这就是 c语言的麻烦之处
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 12:07 , Processed in 0.042856 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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