找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 763|回复: 2
打印 上一主题 下一主题
收起左侧

单片机与pc通信程序问题求助 显示结果不对

[复制链接]
跳转到指定楼层
楼主
ID:866357 发表于 2021-4-12 15:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如下所示是代码,发现发送16进制的数据0x30,接收到的也是0x30.但是单片机的显示不是0x30,而是显示0xc0。为了验证这个,加了if判断发送0x30时是否在单片机内部数据为0xc0,结果真的是这样。请问一下这是怎么回事??

#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
uchar ch;

void main (void)
{
    SCON = 0x50;
    PCON = 0x00;               
    TMOD = 0x20;         
    TH1  = 0xfd;
          TL1  = 0xfd;
    TR1   = 1;                        
    EA    = 1;            
    ES    = 1;                 
while (1)   ;                  
}

void serial(void) interrupt 4
{
        ES=0;
        RI=0;
        ch=SBUF;
        SBUF=ch;
        while(TI==0);
        TI=0;
        if(ch==0xc0)
        {
        P1=0xfe;
        }
        else
        {
        P1=0x00;
        }
        ES=1;        
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

板凳
ID:390416 发表于 2021-4-12 16:58 | 只看该作者
串口1打印程序 可以打印3个十六位的变量 波特率9600 http://www.51hei.com/bbs/dpj-201660-1.html

串口发送 不需要while死等 串口接收执行软件复位 http://www.51hei.com/bbs/dpj-200927-1.html
回复

使用道具 举报

沙发
ID:866357 发表于 2021-4-12 15:39 | 只看该作者
按上面这个程序,我发送0x30,接受到的是0x30,但单片机显示的0xfe
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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