微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > 上位机和51单片机串口通信程序超详细

上位机和51单片机串口通信程序超详细

时间:10-02 整理:3721RD 点击:
                  上位机和51单片机串口通信程序超详细                                                      



#include                            
#define uchar unsigned char
#define uint unsigned int
uchar flag,a,i;
uchar code table[]="I get:";
void init()//串口初始化
{
    TMOD=0x20;
          TH1=0xFd; //波特率9600
        TL1=0xFd;
        TR1=1;        //开波特率
        REN=1; //允许串口接收数据
        SM0=0;//串口工作方式1,8位数据传送
        SM1=1;
        EA=1;//开总中断       
        ES=1; //串口中断开
}

void main()
{
        init();        //串口初始化
        while(1)//如果WHILE(1)打分号就不返回数据给电脑
        {

            if(a==1) P1=0x7f;
                if(a==2) P1=0xff;

                if(flag==1)        //如果接收完成 电脑开始接收数据
                {
                        ES=0;        // 应为 开始 接收数据 所以 需关闭 发送中断 ES  
                        for(i=0;i<6;i++)
                        {
                                SBUF=table;        //单片机发送table【1】给电脑
                                while(!TI);         //发送等待  如果 没有发送 完成TI会一直处于1直到发送完成
                                TI=0;                 //软件清零   同RI
                        }

                        SBUF=a;                //发送
                        while(!TI);                  //发送等待
                        TI=0;ES=1;                  //软件清零  打开接送中断
                        flag=0;                          // 标志位清零
                }
        }
}

void ser() interrupt 4
{
        //如果不需要返回数据就直接把控制硬件程序写在这里
        a=SBUF;        //发送数据 a给单片机 sbuf  的书功能寄存器
         RI=0;        //接收中段标志位  但接受完成后 必须 软件 清零
        flag=1;        //接收完成标志位
}                                 

、。完全看不出哪里详细了

我也完全没看出来哪里详细了

谢谢分享,看看

谢谢小编的分享,希望能够学习

文章与标题不符合啊

不是很详细啊。

没有硬件说明,连线说明,学习了

感谢小编,这正是我所需要的

谢谢!

谢谢!

、。完全看不出哪里详细了

、。完全看不出哪里详细了

谢谢小编的分享,希望能够学习

、。完全看不出哪里详细了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top