邹彩梅 叶振华
随着应用对象的扩大和微电子技术、软件技术的发展,嵌入式系统逐渐从单片机发展到高性能嵌入式微处理器和嵌入式操作系统。传统的微处理器的TTL电平控制模式正在被具有图形界面的控制模式所取代。而现有的一些具有图形界面控制的自动化设备,大多采用高端的PC机,其显示处理设备的成本占去了整个系统成本的绝大部分,硬件平台的性能和成本制约这些高新技术的推广和应用,无法适应某些特殊行业(如:自动售货机、公安、消防、地名数据采集、野外探险导航等)的应用。本文介绍一种新的微处理器控制方案:掌上电脑与89C51的串口通信来实现图形界面的控制。
硬件结构
1. 掌上电脑
市场上较多见的掌上电脑是Palm系列产品,它使用的操作系统为Palm OS。Palm OS是一种32位的嵌入式操作系统,是一套开放性极强的系统,开发者向用户免费提供Palm OS的开发工具,允许用户利用该工具,在Palm OS系统的基础上方便地编写、修改相关软件。该系统是专门为掌上电脑编写的操作系统,编写时充分考虑了掌上电脑内存相对较小的情况,本身所占内存极小,基于Palm OS编写的应用程序所占空间也很小,通常只有几十KB。而且基于Palm OS的掌上电脑,虽然只有几兆的存储空间,却可以存储众多的应用程序。支持Palm OS产品的另一大特点是系统耗电量极小,以Palm Ⅲx为例,在正常情况下2节7号碱性电池,可使用2个月。Palm提供了串行通讯接口和红外线传输接口,利用它可以方便地与其它外部设备通讯、传输数据。本系统设计方案采用是PALM公司的Palm IV掌上电脑。
2.串行通信的硬件连接
RS-232信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电平转换。在此使用的集成电平转换芯片MAX232为RS-232C/TTL电平转换芯片。它只使用单+5V为其工作,配接4个1μF电解电容即可完成RS-232电平与TTL电平之间的转换。转换完毕的串口信号TXD、RXD直接和AT89C51串行口连接。硬件连接如图1所示。
由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。在设计本系统中使用DB-9连接器连接,作为掌上电脑与MAX232芯片串行接口的连接器,它提供异步通信的9个信号。DB-9连接器引脚功能和结构如图2所示。
软件编程
89C51微处理器与掌上电脑通信软件的实现由两个模块组成:微处理器的通信软件和掌上电脑的通信软件。
1. 单片机通信软件的设计
AT89C51与8051系列单片机是兼容的。所以编程、仿真和调试都可采用8051的开发工具。AT89C51单片机通信程序采用ASM51汇编环境下编写,在MCS-51单片机仿真调试软件下调试成功。
AT89C51单片机通过中断方式接收掌上电脑发送过来的字符,并回送确认信号给掌上电脑。程序协议:波特率设置为T1方式2工作,计数常数为F3H,SMOD=1,波特率为9600b/s;
串行口初始化为方式1,允许接收;中断服务程序入口地址为0023H。图3为程序流程框图。
2.掌上电脑串口通信软件设计
目前针对Palm环境的开发工具主要有CodeWarror C、JAVA、AppForgePersonal(Basic)等等。由于Palm平台与微机硬件、软件平台有着本质的差异,为了减少开发人员的培训费用,提高开发速度,我们采用CodeWarror C语言作为系统开发工具,只要熟悉C语言的编程者,都能在极短时间内熟练掌握CodeWarror C编程。
掌上电脑串口通信的实现遵循以下原则来管理串行口:打开和关闭串行口;读写缓冲区数据;查询缓冲区有字节数并读入内存;设置选项。
在本刊的网站上给出了单片机通信软件及掌上电脑串口通信实现的源程序,供读者参考。
3.通信协议
89C51微处理器与掌上电脑的通信协议读者可以采用自定义的协议,在定义通信协议时要注意考虑信号传输的可靠性。也可以采用TCP/IP的协议形式,一是可以提高传输信号的可靠性,二是可以方便以后系统的功能扩展,但编程相对复杂。限于篇幅关系,这里不再作详细介绍。
本文介绍的掌上电脑与单片机89C51的串口通信软件可以嵌入到大部分的Palm OS的程序中,很好地完成现串口通信的基本任务。该串口通信软件现已集成在一家国外公司的自动售卡机产品中,且已投入使用。