理论教育 零点起步:异步发送模式下的程序设计示例

零点起步:异步发送模式下的程序设计示例

时间:2023-10-19 理论教育 版权反馈
【摘要】:设置异步发送模式,建议遵循以下操作步骤。编程实现控制单片机在USART异步通信模式下以9600bit/s的波特率循环发送字符'A'。图9-8 USART异步通信实验电路图题意分析●在图9-8中,VT1是Proteus ISIS软件提供的虚拟仪器—虚拟终端,它与Windows操作系统中的超级终端功能类似,能够与ISIS中的模拟单片机系统进行异步串行通信,会以字符形式接收或发送符合RS-232协议的异步串行数据,便于观察程序运行结果,在没有显示设备的系统中通常用做调试信息的输出通道。

零点起步:异步发送模式下的程序设计示例

设置异步发送模式,建议遵循以下操作步骤。

1)选择合适的波特率和BRGH,对SPBRG寄存器进行初始化

2)将SYNC位清零、SPEN位置1,使能异步串行端口。

3)若需要中断,将TXIE、GIE和PEIE位置1。

4)若需要发送9位数据,TX9位置1。

5)将TXEN位置1,使能发送,这也将自动置位TXIF位。

6)若选择发送9位数据,第9位数据应该放在TX9D中。

7)把数据送入TXREG寄存器(自动启动发送)。

8)当程序判断TXIF或TRMT为1时,说明发送完毕。

9)重复执行前两步即可发送多个字节数据。

下面通过一个简单的例子来演示如何使用USART发送一个字节数据。

【例9-2】电路图如图9-8所示。单片机主频是4MHz。编程实现控制单片机在USART异步通信模式下以9600bit/s的波特率循环发送字符'A'。

电路图在光盘位置:“\Example\Chapter9\S092\uartsend.DSN”。

978-7-111-33274-9-Chapter09-27.jpg(www.daowen.com)

图9-8 USART异步通信实验电路图

题意分析

●在图9-8中,VT1是Proteus ISIS软件提供的虚拟仪器—虚拟终端,它与Windows操作系统中的超级终端功能类似,能够与ISIS中的模拟单片机系统进行异步串行通信,会以字符形式(用个人计算机显示器)接收或(用个人计算机的键盘)发送符合RS-232协议的异步串行数据,便于观察程序运行结果,在没有显示设备的系统中通常用做调试信息的输出通道。

●图9-8仅仅是用来在单片机和ISIS中的虚拟终端通信的电路图。在实际应用中,单片机跟不同系统使用USART通信,其连接方式也有所不同。

●请读者注意单片机与虚拟终端的连接方式。单片机的TX引脚应该与虚拟终端的RXD引脚相连。

设计过程

1)新建一个MPLAB项目S092,语言工具选择为“HI-TECH Universal Toolsuite”,保存在“C:\S092”文件夹下。

2)向项目中加入一个新建的main.c文件,输入以下内容(本项目所有内容参考光盘“\Example\Chapter9\S092”文件夹内容)。

978-7-111-33274-9-Chapter09-28.jpg

3)把项目保存后成功编译出目标文件。然后用调试工具Proteus VSM加载uartsend.DSN来运行程序。程序运行后会弹出一个虚拟终端窗口并会显示迅速地输出多个字符'A',如图9-9所示。这是因为程序是死循环不停地通过USART向外发送字符'A',虚拟终端VT1收到后就直接显示在其窗口中了。

978-7-111-33274-9-Chapter09-29.jpg

图9-9 虚拟终端运行时截图

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

我要反馈