• 单片机第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

  • 相关阅读:
    C++中substr函数的用法
    最小生成树-克鲁斯卡尔模板
    最小生成树-prim算法模板
    1064. 朋友数(20)
    1076. Wifi密码 (15)【模拟】
    二分搜索与二分答案
    HDU 1969 Pie【二分】
    1047. 编程团体赛(20)
    1057. 数零壹(20)
    L2-3. 悄悄关注【STL+结构体排序】
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5118402.html
Copyright © 2020-2023  润新知