您当前的位置:五五电子网电子知识单片机-工控设备源码-程序8031单片微机串行口的应用 正文
8031单片微机串行口的应用

8031单片微机串行口的应用

点击数:7462 次   录入时间:03-04 11:43:15   整理:http://www.55dianzi.com   源码-程序

  WAIT: JNBTI,WAIT    ;等待应答信号发送完毕

  CLR T1

  RETUNE, POP A    ;恢复现场

  MOV RO,A

  POP A

  RETI    ;中断返回

  三、8031串行口与IBM-PC机组成二级通讯系统 IBM-PC机的串行通讯适配器是采用可编程通讯用异步收发器UART8250芯片。我们可以使用宏汇编语言设计程序直接操作UART各寄存器,以中断方式与8031串行口进行通讯。

  1.硬件结构

  IBM-PC机的串行通讯适配器与8031的串行口组成的两级系统如图3所示。由于串行输出芯片1488无高阻态,必须经二极管隔离后再并联。

  2.通讯协议

  a.数据代码程和功能代码

  数据代码是通讯过程必须传送的目的代码,功能代码是通讯过程中的应答信号,以及表征数据特征和数量的代码。

  每组数据的结构见表l,协议规定数据的数量和特征代码放在数据代码的前端,代码和字节提供给对方检验通讯过程是否有误码。

  b.具体规定;

  我们规定通讯过程为PC机发出“向8031发数”的发数令牌(该令牌中包含某- 8031的地址)。收到应答码后开始发送过程,并由8031机回送“是否误码”的代码。PC机发出“允许8031机发效的收数令牌(该令牌包含某- 8031的地址),收数令牌按机号顺序定时发出,使每台8031有平等的发数机会。令牌中的地址和机号相同的8031机取得通讯权。为使发数比收数有更高的优先权,只在无数据发送时才发“收数令牌”。

  3.软件设计

  a.对lBM-PC通讯程序的要求

  为使IBM-PC机和多台8031机的通讯有条不紊的进行,IBM-PC机应有完善的调度能力,我们可以编制一段调度程序,它的功能是;①处理数据输入和输出缓冲区;②进行串行口资源调度,确定是收数还是发数;③能使串行中断服务程序执行发数任务和收数任务。发数任务和收数任务分别由各自的中断服务程序来完成;④调度程序以令牌方式分配通讯权。只有取得通讯权的某台8031才能接收和发送数据(程序从略)。

  b.8031机通讯程序

  8031机系统主程序完成串行口初始化,准备输出数据和处理输入数据等与通讯有关的工作。它定义串行口为工作方式3,允许串行中断,允许接收,置位多机通讯位及设置与PC机UART(异步通讯收发器)相同的波特率等。

  8031机与PC机的数据通讯串行中断服务程序框图见图d。该中断服务程序由“令牌激活”,在一次中断服务过程中完成整组数据的接收或发送。关中断是防止高级中断干扰而丢失数据,这样数据的收发用查询R1或TL状态的方法连续地进行。复位多机通讯位是为了能收到除“令牌”外第九位是“0”的各类数据或代码(第九位是“1”为令牌地址信号)。向PC发送过程中,两次发数之间有时间延时,延时量略大于PC机串行中断和更高级中断服务时间,以免PC机接收时丢失数据。此外,程序还负责功能代码的收发。PC机在收到全部数据后,仅当发现了误码才发送“请重发数”代码。



上一页  [1] [2] 


本文关键字:单片  源码-程序单片机-工控设备 - 源码-程序