首页 百科知识 串口应用实例

串口应用实例

时间:2022-10-27 百科知识 版权反馈
【摘要】:串行口的波特率有两种方式,分别为固定波特率和可变波特率.当使用可变波特率时,应先计算T1的计数初值,并对T1进行初始化;如使用固定波特率(方式0、方式2),则此波特率可省略.即对SCON寄存器设定工作方式,如果是接收程序或双工通信程序,需要置REN=1(允许接收),同时将TI,RI进行清零.查询方式和中断方式,TI和RI是一帧发送完否或一帧数据到齐否的标志,可以用于查询;如果设置允许中断,则可引起

六、串口应用实例

当串行通信的硬件连接好后,要编写串行通信程序.串行通信的编程要点归纳如下:

(一)定好波特率

串行口的波特率有两种方式,分别为固定波特率和可变波特率.当使用可变波特率时,应先计算T1的计数初值,并对T1进行初始化;如使用固定波特率(方式0、方式2),则此波特率可省略.

(二)填写控制字

即对SCON寄存器设定工作方式,如果是接收程序或双工通信程序,需要置REN=1(允许接收),同时将TI,RI进行清零.

(三)串行通信可采用两种方式

查询方式和中断方式,TI和RI是一帧发送完否或一帧数据到齐否的标志,可以用于查询;如果设置允许中断,则可引起中断.

下面分别介绍2种方式的发送和接收过程:

1.查询方式发送程序:(先发后查)

发送一个数据→查询TI→发送下一个数据

2.查询方式接收程序:(先查后收)

查询RI→读入一个数据→查询RI→读下一个数据

3.中断方式发送程序:

发送一个数据→等待中断,在中断中再发送下一个数据.

4.中断方式接收程序:

等待中断,在中断中再接收一个数据.

两种方式中,当发送或接收数据后都要注意软件对TI或RI清零.

(1)查询方式.

【例4-1】在单片机内部数据存贮器20H~3FH单元中共有32个数据,要求采用方式1串行发送到另一单片机中,要求传送速率为1200波特,设fosc=12MHz.

img67

图4-7 查询方式程序流程图

(2)中断法.

中断法对TI和SCON的初始化同查询法,不同的是要置位EA(中断总开关),置位ES(允许串行中断),中断方式的发送和接收的流程如图4-8、图4-9所示.

【例4-2】将例4-1用中断方式编程实现.

中断方式的初始化部分同查询方式,具体程序清单如下:

中断方式发送程序:

img68

图4-8 中断方式发送程序

img69

图4-9 中断方式接收程序

img70

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

我要反馈