首页 理论教育 串行口接收数据:电脑与设备的串口通信

串行口接收数据:电脑与设备的串口通信

时间:2026-01-23 理论教育 晴浪 版权反馈
【摘要】:要求:通过串行口的工作方式1把数据从电脑发送到单片机,并通过共阴极数码管显示出来。通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。表2.6.4常用波特率与定时器T1的参数关系串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器T1、串行口控制和中断控制。

1.任务及要求

任务:设计一个程序借助串口调试助手从电脑发送8个单字符数据(0~9)给单片机,并通过8位数码管显示出来。该实验使用的单片机晶振频率是11.0592MHz。

要求:通过串行口的工作方式1把数据从电脑发送到单片机,并通过共阴极数码管显示出来。

2.实验接线

把单片机和电脑用USB转串口线连接即可。

3.程序流程图及参考程序

(1)程序流程图

略。

(2)参考程序

图示

图示

知识补充 波特率的计算

在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。

串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。

方式0的波特率=fosc/12(https://www.xing528.com)

方式2的波特率=(2SMOD/64)·fosc

方式1的波特率=(2SMOD/32)·(T1溢出率)

方式3的波特率=(2SMOD/32)·(T1溢出率)

当T1作为波特率发生器时,最典型的用法是使T1工作在自动重装载的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的计数值。

T1溢出率=fosc/{12×[256-(TH1)]}

在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。所以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系如表2.6.4所示。

表2.6.4 常用波特率与定时器T1的参数关系

图示

串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器T1、串行口控制和中断控制。具体步骤如下:

(1)确定T1的工作方式(编程TMOD寄存器);

(2)计算T1的初值,装载TH1;

(3)启动T1(编程TCON中的TR1位);

(4)确定串行口控制(编程SCON寄存器);

(5)如果串行口在中断方式工作时,要进行中断设置(设置IE、IP寄存器)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈