新闻中心

EEPW首页>嵌入式系统>设计应用> 80C196KB与PC机之间的远程通讯系统设计

80C196KB与PC机之间的远程通讯系统设计

作者: 时间:2012-03-14 来源:网络 收藏

3.1 下位机部分

串行口的波特率取决于16位波特率寄存器的内容。该寄存器应以连续2个字节进行装载,低位字节优先。寄存器的最高位用于选择波特率发生器的输入时钟源,最高位为1,选用XTAL1(即晶体振荡器)信号为源信号,否则选用自T2CLK引脚的信号为源信号。

的内部时钟信号是经2分频获得的。若以BAUD-REG表示波特率寄存器的装载值,那么在同步模式0时,BUAD-REG=XTAL1/(2×波特率)- 1或T2CLK/波特率;而在异步模式1、2和3时,其BAUD-REG=XTAL1/(16×波特率)-1或T2CLK/(8×波特率)。

的通信方式设定为异步方式1时,可进行全双工通讯,其格式为每10位构成一串行帧,其中包括1位起始位,8位数据位和1位停止位。

在本系统中,80C196KB的晶振为12MHz,因此,为使波特率达到9600,需将波特率寄存器赋值为804EH。

表2列出了采用XTAL1作为时钟源时,异步模式下一些常用波特率所对应的波特率寄存器值。应注意,表中所列的值是根据上述公式计算所得的值再加上最高位“1”后得到的。

表2 常用波特率对应的波特率寄存器值
57.jpg

3.2 上位机部分

微机数据采集系统中的一个关键问题是要在Windows环境下编写相应的通信程序。Windows应用编程接口(API)所提供的有关串行通讯的16个函数可以实现完整的通讯功能,但其应用较为复杂。而VB中有一个通讯控件MSComm,通过改变其属性设置和编写相应的程序,就能在Windows环境下方便地实现不同用户的串行通讯要求。

利用下面的语句可以方便地设置传输波特率,MSComm1.Settings=“9600,N,8,1”

表明波特率为9600,无奇偶校验位,8位数据位,1位停止位。

4 80C196KB和中央控制机的通讯

在本系统中,下位机为主叫端,上位机为应答端,它们通过公用电话网进行数据传输。其数据链路的建立、数据传输及结束通信的全过程如表3所列。

表3 数据传输过程表
58.jpg



评论


相关推荐

技术专区

关闭