第一步、确定寄存器的取值。
sfr SCON = 01010001
/*SM0,SM1=01, 工作方式1,REN=1,允许接收,TI=0,不允许发送中断,RI=1,允许接收中断*/
sfr PCON = 0
/*波特率不加倍*/
sfr IE = 10010000
/*中断总允许,允许串行中断*/
第二步、波特率计算:
波特率 = 1/32 * 定时器1溢出率,
计数溢出周期= 12/fosc*(256-x), fosc为晶振频率。
定时器暂时不管。
第三步、在RI中断来时,读取SBUF的值。
第四步、接收中断服务程序的写法。
五个中断:外时外时串。3B3B3。03H,0BH,23H.
#include <reg51.h>
void com_int () interrupt 4 using 1
{
}
第五步、连接PC机的VC测试程序。
使用MSCOMM控件。VARIANT--->COLESAFEARRAY-->BYTE-->CSTRING,才可在编辑框显示。
---------《单片机数据通信技术从入门到精通》
还有龚建伟编写的一本书,专讲单片机通信。下次到长沙找一找。