原创 16

2007-11-21 21:04 2704 5 5 分类: MCU/ 嵌入式
摘自“中原孔海洋”
单片机的IO接口扩展按其扩展方式可以分为简单IO扩展、可编程IO接口芯片扩展以及串口扩展。下面我们将分别进行讲述。
 
1.    简单IO扩展 
简单IO扩展主要是使用TTL或者CMOS系列锁存器和三态门进行扩展。这种扩展方式比较简单,尤其当系统资源较为丰富时,我们经常可以采用这种方式。 
此种扩展方式中一个较为常见的例子是使用P0口扩展8个按键和8个LED,当一个按键按下的时候,使与其对应的LED发光。由于比较简单,此处不再赘述。 
2.    可编程IO接口芯片扩展 
由于在Proteus中只能仿真8250和8255A两个可编程接口芯片,其他的如8155、8279等均不能仿真,所以本节我们将以8255A为重点进行叙述。事实上,如8155、8279等芯片在实际应用中早已被淘汰,所以Proteus不能仿真这些芯片并非其弱点。 
8255A是一种可编程并行IO接口芯片,它有3个8位的并行IO口,而且有3种工作方式,可以通过编程很方便地改变其功能,使用灵活,通用型强。本节只就该芯片简单地举一例来说明,关于它的详细使用方法请参阅相关文献。 
例.使用8255扩展AT89C51的并行IO口,并在扩展的8255的PA、PB口上分别接上8位数码管的段码和位码,显示数字从0到7的循环变化。 
本例采用8位数码管的目的是为了说明8255扩展IO口的作用,即使用一个P0口就实现了原来需要用两个口才能实现的功能,节省了系统资源。 
例子比较简单,源文件如下图: 

点击看大图
编辑好源文件以后,我们就可以编译、连接并生成相应的源代码以供我们的仿真实例使用。 
下面我们来绘制电路图。本例电路图不算复杂,元器件也不多,但是AT89C51与8255之间、8255与8位数码管之间以及电路中的其他元器件之间的连线较多,使得电路图的布局不很方便。所以,在本例的电路图中我们再次使用了总线连接方法。因为总线在电路图中的重要性,所以关于总线的知识,以及总线画法,请参阅相关书籍,最好能做到熟练掌握。最后绘制好的电路图如下图所示: 

绘制好电路图以后,我们就可以将上面生成的源代码装入单片机进行仿真了。此例仿真和大多数实例完全一样,不再赘言。仿真中的一个画面如上图所示。 
3.    使用串口扩展IO口 


使用串口来扩展IO接口,主要牵涉到两种芯片,分别是:串入并出移位寄存器74LS164和并入串出移位寄存器74LS165。关于这种通过串口来扩展IO口的方法,我们在前面关于串口的文章中已经做过详细的介绍和举例,此处不再叙述。

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /5 下一条