多串口船舶导航数据转换器的低成本实现

时间:2009-10-30来源:网络
3.2单片机P89C669与AT89C2051通信程序的设计
单片机P89C669与AT89C2051之间的数据通信流程图如图3所示,具体实现如下。
(1)P89C669方面
①P89C669发送数据。首先,程序初始化后P89C669将AT89C2051有关的晶振信息、波特率等参数以命令字形式传送给AT89C2051,AT89C2051接收后查表求解进行串口波特率设置。然后P89C669将接收完毕的数据存入缓冲区,并检测 引脚,若为高电平则等待,直到变为低电平时通过并口将数据传给AT89C2051。在AT89C2051将接收缓冲区数据发送出去的同时检测缓冲区,如果缓冲区不满则将 引脚置低,反之则高。
②P89C669接收数据。AT89C2051接收到数据后用 引脚产生边沿信号向P89C669发出请求,P89C669收到请求信号后执行读取数据程序。


图3 P89C669方面的程序流程图

(2)AT89C2051方面
AT89C2051是作为IC芯片用来进行串口扩展的,在初始化阶段接收上位机传来的数据进行初始化设置,然后循环等待接收上位机发送的数据[6]。AT89C2051将并口传来的数据存在并口接收缓冲区,并复制到串口发送缓冲区,激活串口使用中断方式发送;将串口传来的数据存在串口接收缓冲区,并复制到并口发送缓冲区,同时改变 的电位,向上位机发出请求。在船舶导航数据转换器中,AT89C2051主要是用来串口发送电罗经信号,它与P89C669的通信流程图如图4所示。

4结束语
文中应用AT89C2051扩展串口后,系统共有三个串行口。其中,一个串口用来选择接收电罗经或者GPS信号用以数据转换;一个串口经过MAX3232实现TTL电平与RS-232电平转换后可连接微机的串行口,从而简单方便地实现单片机P89C669的在线编程,它同时也作为GPS信号的输出接口;另一个串口主要用来输出电罗经信号。
该电路与采用专用芯片的电路相比,并不复杂,而且编程设计较简单,综合考虑是一种比较经济实用的低成本设计方法。
创新点:
文章本着低成本的指导思想进行设计。首先,选用可在线编程的P89C669单片机为主处理器,省去编程器,降低了成本;其次,采用价格便宜的AT89C2051单片机与充分利用P89C669单片机丰富的IO口进行串口扩展。最终,实现了多串口船舶导航数据转换器的低成本实现。

1 2

关键词: 成本 实现 转换器 数据 船舶 导航 串口 转换器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版