1.实践要求与方案设计
(1)要求
将嵌入式开发板与计算机通过串口相连,使用SCI模块实现字符数据输出,要求在计算机端使用串口调试软件显示单片机所发送的字符。例如,单片机发送字符串为“Hello world!”。
(2)方案设计
硬件上通过RS-232C电平转换芯片,将HCS08 MCU的SCI接口与计算机的通信端口COM口(这里为DB9接口)连接。软件方面,HCS08系列CPU工作频率为8MHz,波特率设为9600,正常8位模式,无奇偶校验位,1个停止位。计算机端的串口调试软件设置需与单片机的设置相同,如采用相同的波特率、奇偶校验方式、数据位和停止位等。可使用Windows自带的超级终端或下载串口调试助手等工具软件检测所接收到的字符串。
2.硬件电路设计
SCI接口硬件电路示意图如图10-9所示,由于MC9S08AC16单片机的SCI接口是TTL电平,而使用RS-232C标准进行串口通信需要EIA电平,因而需要外接电路实现电平转换芯片。本例中使用美信公司的MAX232转换芯片实现电平的转换,与其连接的是单片机的SCI2模块。
图10-9 SCI接口硬件电路示意图(www.xing528.com)
3.软件设计与调试
按照设计方案,SCI2模块设定为正常操作,8位数据格式,无奇偶校验位,1个停止位,使能发送器,采用查询方式发送数据,禁止所有SCI模块中断,波特率设为为9600,根据总线频率4MHz,,得到SBR[12:0]取值为26,此时实际波特率为9615.4bit/s,比特率误差为0.16%,在SCI模块波特率错配率±4.5%以内,符合设计要求,其初始化代码如下:
在发送控制中,采用查询方式,软件通过不断查询SCI2S1寄存器的TDRE位是否为1来判断当前发送缓冲区是否为空,若为1,则将表明前一字符已移至发送移位寄存器,可以将当前所需发送的字符放入数据寄存器,若为0,则继续等待直至发送缓冲区为空。发送字符串则是调用单个字符发送函数并通过判断结束标记“\0”来控制。具体代码如下。
主函数则负责程序流程控制,代码如下,其中delay()延时函数请自行编写。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。