公文高手,超级方便的公文写作神器! 立即了解


将AT89C52用作多功能外围器件使用

摘要:介绍利用at89c52单片机作为多功能可编程接口的方法。该接口具有1个键盘/显示接口,2个16位定时/计数器和1个全双工异步串行通信口。其模块化的设计,可以给用户使用带来许多方便。关键词:多功能接口串行通信软件译码

at89c52(简称89c52)的广泛使用,使单片机的价格大大下降。目前,89c52的市场零售价已经低于8255、8279、8253、8250等专用接口芯片中的任何一种;而89c52的功能实际上远远超过以上芯片。因此,如把89c52作为接口芯片使用,在经济上是合算的。在本人设计的系统中,将89c52设计为多功能可编程接口,其相关程序固化在片内的flashrom中。该芯片(以下简称多功能接口)具有如下功能:①有1个专用的键盘/显示接口;②有1个全双工异步串行通信接口;③有2个16位定时/计数器。这样,1个89c52芯片,承担了3个专用接口芯片的工作;不仅使成本大大下降,而且优化了硬件结构和软件设计,给用户带来许多方便。

1硬件结构

把89c52当作接口使用,接口自身必须尽可能地少占用硬件资源,与主系统之间的连接线也应尽可能少,这样才能少占主机引脚,把更多的资源留给系统。本设计中,主机与多功能接口之间采用串行通信。主机与多功能接口之间有四根连接线:ce、clk、dat、intr。ce用于作片选信号输入端。此引脚为低电平时,主机能与多功能接口进行数据传送。clk为时钟输入端,当主机向多功能接口发送指令时,此引脚电平上升表示数据有效。dat为串行数据输入/输出端。intr为多功能接口输出端。当多功能接口内的数据准备好时,由intr向主机发低电平,通知主机,数据已准备就绪,可以进行读操作。该信号可供主机查询,也可用作发向主机的中断请求信号。

89c52的p0、p1、p2口用作键盘/显示接口。用程序扫描的方法进行键盘输入和显示输出。p0口作为字段口,p1口作为键盘的列输入口,p2作为显示器的字位口以及键盘的行扫描输出口。由于显示器字位口电流较大,p2口需进行电流驱动。该多功能接口最多可连接8个led显示器和1个8×8链盘矩阵。其硬件原理如图1所示。

p3.2、p3.3、p3.6、p3.7分别用作ce、clk、dat和intr信号;而p3.0、p3.1用作异步串行通信数据线rxd和txd;p3.4、p3.5分别是out0/t0和out1/t1信号线。该引脚在定时器工作于连续脉冲方式时,可输出通断比与频率可编程的连续脉冲;工作在计数器方式时,该引脚作为外部计数脉冲输入端输入计数脉冲。

图1

2通信协议

实现多功能接口的关键是主机和多功能接口之间的通信。在本设计中,采用主从方式进行通信,所有的操作都由主机发出操作指令。多功能接口在收到主机发来的操作指令后,对操作码进行软件译码。根据操作码的内容转入相应的工作通道,并从操作数部分获取所需要的数据。

多功能接口采用串行方式与主机通信。串行数据从dat引脚送入芯片,并由clk端同步。当片选信号ce变低后,dat引脚上的数据在clk引脚的上升沿被写入多功能接口的寄存器中。

串行接口的时序如图2所示。

图2


(未完,全文共4226字,当前显示1304字)

(请认真阅读下面的提示信息)


温馨提示

此文章为6点公文网原创,稍加修改便可使用。只有正式会员才能完整阅读,请理解!

会员不仅可以阅读完整文章,而且可以下载WORD版文件

已经注册:立即登录>>

尚未注册:立即注册>>

6点公文网 ,让我们一起6点下班!