您当前的位置:五五电子网电子知识单元电路接口电路基于80C196KC微处理器的高速串行通讯 正文
基于80C196KC微处理器的高速串行通讯

基于80C196KC微处理器的高速串行通讯

点击数:7537 次   录入时间:03-04 11:52:58   整理:http://www.55dianzi.com   接口电路

        ldb  temp,   #20h ;设置临时寄存器

        1db   baud _rate,  #0  ch ;设置 串行通讯 波特率56700

        1db  baud _rate,  #80h

        1db  sp  _con,  #19h ;设置串行通讯方式1,不设奇偶校验

        clrb  int  _mask ;清除中断屏蔽寄存器和中断悬挂寄存器

        clrb  int  _pend

        clrb  int _mask 1

        clrb  int  _pend 1

        orb  int  _mask 1,#03h ;置中断屏蔽寄存器1,容许发送和接收中断

        1d  count,   #N ;设置通讯数据块大小

        ei ;开中断

        ………

        1db    d1,   [ t_buf] +

        1db  sbuf,   dl

        ………

        接收中断子程序 :org  2200h

        pushf ;保护现场

        1db  d1,   sbuf   ;接收并保存数据

        stb  d1,   [ r_buf]+

        djnz  count,  exit  1 ;未接收完数据,退出等待下一次接收中断

          ………

www.55dianzi.com

        exit 1:   popf   ;出栈

        ret

        发送中断子程序:org  2250h

        pushf ;保护现场

        orb  int  _mask1,#01h  ;置中断屏蔽寄存器1,容许发送中断

        1db  d1,   [ t _buf]+ ;发送数据

        1db  sbuf,  d1

        djnz&nbs p; count,  exit2

         ………

        exit2:  pop ;恢复现场出栈

        ret

  3 串行通讯 应注意的几个问题

  用户在串行通讯设计时应注意,串行口中断不要与接收中断、发送中断同时打开,只能开放二者中的一个,设计中通常采用接收中断和发送中断,实现全双工串行口的功能;由于访问状态寄存器SP_STAT后,其中内容即被清除,因此,必须用其它寄存器保存SP_STAT的内容;另外,当利用发送器的双缓冲器特点发送数据时,不应把串行口中断屏蔽掉,否则可能会漏记被发送的字节数;此外,当串行口两端采用不同的晶振频率或链路的一端是80C196KC串行口,另一端为其他系统时,应认真考虑两者的匹配问题,若发送端和接收端的波特率完全一致,则接收端对每一数据位的采样都发生在位周期的中点,能够可靠通讯;若发送端和接收端的波特率不一致,则在数据的连续传输过程中,接收端对数据位的采样点将愈来愈偏离位周期的中点,产生累积误差,最终导致通讯紊乱。所以,用户在串行口设计中,必须考虑波特率误差带来的影响。通讯方式,通讯数据量,握手方式等通讯协议的内容,必须通过实验测试加以验证。

  4 80C196KC串行通讯的应用

  某雷达仿真平台的控制电路中采用了80C196KC 微处理器 作为核心芯片,利用串行口完成目标坐标诸元数据和命令的交换。其中,80C196KC微处理器的串行口采用通讯模式1,波特率为57600,接收采用中断方式,发送采用查询方式。串行通讯内容分为数据和命令两类,各由HEAD和BODY两部分组成,80C196KC每次接收到串行口上的信息时,产生接收中断。在中断服务程序中,完成对接收到的信息的识别和处理,检查标志并提取其中的有效部分,若为指令,则执行;若为数据,则存入接收数据缓冲区。若从串口发送数据时,按照通信协议的格式,将发送数据送入发送缓冲区,以查询方式将数据写入SBUF,直至发完全部数据。 目前,该串行口运行良好,实现了计算机同微处理器之间的高速(57600和115200两种波特率)通讯,达到了系统的设计要求。

  参考文献

  1 涂时亮姚志石.单片微机MCS—96/98实用子程序.上海复旦大学出版社1991年9月

  2 张幽彤陈宝江.MCS8098系统实用大全.北京:清华大学出版社1993年9月

  3  朱晓强姚志石 .8096/8098单片机原理及应用.上海:复旦大学出版社 .1993年5月

  4 孙涵芳 .lntel  16位单片机.北京:北京航空航天大学出版社1995年11月

  5 鲍可进.一种实用的单片机系统的RS—232接口.实验室研究与探索.1997;(5):75~78



上一页  [1] [2] 


本文关键字:微处理器  接口电路单元电路 - 接口电路