zoukankan      html  css  js  c++  java
  • 单片机第11课:串口通信查询方式---从计算机接受数据

    怎样用计算机给单片机发送数据,单片机怎样接收数据呢?

    JP3与P0口相连接。

    从计算机给单片机发送一个十六进制数据,然后看数码管的显示。

    #include<reg51.h>
    /*
    *给单片机发送一个十六进制的数据,用来显示数码管
    */
    void initSer();
    void main()
    {<span>	</span>initSer();
    	while(1)
    	{
    		//查询RI的值。假设是1,那么接收到了数据。此时应该软件清零。RI = 0
    		if(RI == 1)
    		{
    			RI = 0;
    			//从缓冲器中获取从计算机发过来的数据,赋值给P0
    			P0 = SBUF;	
    		}
    	}
    }
    
    //初始化函数
    void initSer()
    {
    	//让定时器T1工作在方式2下
    	TMOD = 0x20;
    	//赋值
    	TH1 = 0xfd;
    	TL1 = 0xfd;
    	//串口的工作方式为1
    	SM0 = 0;
    	SM1 = 1;
    	//同意串口接受
    	REN = 1;
    	// 启动定时器
    	TR1 = 1;
    
    	P0 = 0xc0;
    }
    串口通信查询方式步骤:

    1---确定定时器T1的工作方式

    2---给定时器的两个寄存器赋值

    3---启动定时器T1

    4---确定串口的工作方式

    5---假设单片机要从计算机获取数据,那么应该让REN = 1

    6---查询RI的值,假设是1,那么就接收到了数据,注意立即应该软件置RI = 0

  • 相关阅读:
    Java内存管理以及各个内存区域详解
    python数据的存储和持久化操作
    Redis的安装及配置
    POI使用详解
    遍历Map的几种方法
    Quartz的cronTrigger表达式
    Java对XML文档的增删改查
    Solr系列二:Solr与mmseg4j的整合
    cms STW 的两个阶段
    GROUP BY 和 ORDER BY 同时使用问题
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5118402.html
Copyright © 2011-2022 走看看