PIC单片机与PC机异步串行通信的设计
单片机发送数据程序框图
用RB5引脚作为发送引脚,单片机发送数据程序框图如图4所示。当有数据要从单片机发往PC机时,单片机调用发送子程序。在发送子程序中,首先设置发送计数器内容为8,然后发送起始位,起始位应持续104μs。因此要调用延时子程序,延时子程序执行完后,RB5上的信号并未立刻变成第一位数据的值,这是因为还要执行几条指令,如右移TRS_R、置位等RB5上的信号才会变化。假设延时104μs,那么加上几条指令的执行时间,起始位就比104μs宽了。因此,延时子程序少于104μs,根据具体的程序定为97μs。然后,右移发送数据寄存器TRS_R,将其最低位即要发送的数据位移入C中,再根据C中的内容将RB5清零或置1,然后将发送计数器内容减1,并判断其是否为0。若为1,则说明未发送完毕,继续发送;否则,发送停止位。最后,退出发送子程序。
图4 单片机发送数据程序框图
VB6.0提供了串行通讯MSComm(电话盒)控件来为应用程序提供串行通信,它将串口设备当作一个目标封装起来,容易操作,编程很方便,其良好的用户界面、简单方便的串行通信和实用性强的优点,无需借用其他语言就可以开发出优秀的通信软件,因而PC机软件采用VB6.0语言编写。
MSComm控件的调出及其主要属性如下。
(1)MSComm控件的调出
VB6.0的MSComm控件并不会主动出现在工具箱中,当需要它时,让它出现在工具箱中的步骤如下:
①选择菜单上的“工程”;
②在“工程”菜单中选择“部件”;
③出现对话框后,在可勾选的项目中勾选Microsoft Comm Contro l6.0;
④按下“确定”按钮,即可在工具箱中见到“电话盒”的图标,就可以将此控件加载进行串行通信。
评论