找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1238|回复: 0
收起左侧

关于单片机串口通信的问题,为什么这个程序不能显示返回值啊

[复制链接]
ID:421426 发表于 2019-3-17 14:36 | 显示全部楼层 |阅读模式
为什么这个程序不能显示返回值啊
#include<reg52.h>
unsigned char flag,a;
void main()
{

        TMOD=0x20;         //设置定时器1为工作方式2
        TH1=0xfd;         
        TL1=0xfd;         //波特率9600
        TR1=1;                 //定时器1开启
        REN=1;                 //串口允许接受
        SM0=0;                 //        方式1
        SM1=1;                  // 方式1
        EA=1;          //开启总中断
        ES=1;           //串行口中断                                                                                                   //用定时器的时候不需要用到循环里面的部分
        while(1)
                {
                        if(flag==1)
                        {
                                ES=0;
                                flag=0;
                                SBUF=a;
                                while(!TI);
                                TI=0;
                                ES=1;
                        }
                }
}
void ser() interrupt 4                        //单片机的第五个中断操控串口的中断
{
        RI=0;
        P1=SBUF;  
    a=SBUF;
        flag=1;
}  


回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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