以用8255、8155等芯片来扩展,但是这种扩展控制复杂,成本高,小范围扩展使用较好,对于驱动LED,需要的I\\O口太多。并行扩展就不能很好的发挥作用。另一种是用数据串入并出的方法来实现,就是用串入并出移位寄存器来实现对LED的驱动。这种办法的优点就是占用的I\\O口少,数据传递只需要一位端口和几个控制端口。但是这种方法的数据传递速度比并行发差距很大,不过,用在显示上很是可以的。
(三)硬件电路搭建
综合考虑,硬件电路的搭建用串入并出的方法实现对LED的驱动。74HC595是一款较好的8位串入并出移位寄存器芯片,具有可控的输入,输出,清零端和级联口,可以通过级联实现更多的并行输出。设计共有32列,计划用4片74HC595级联形成对列线的控制。由于单片机实现的功能比较单一,单片机的控制行线由P0、P2两个并行端口控制。测温芯片的连接比较容易,占用一根总线。
电源
温度 采集 AT89C51 显示 报警 6
控制系统原理框图 3.3~5V DS18B20 MCU DS18B20与微处理器的连接图 外接电源3.3~5V 详细设计: 本系统采用AT89C51单片机作控制器,整个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路、温度测试电路等部分组成。 1.1 单片机控制电路 本设计由AT89C51构成单片机最小应用系统.同时配有12 MHz晶振和上电复位电路等。 1.2 16x32点阵显示器的设计 图2是一种8x8的LED点阵单色行共阳模块的内部结构图,其单点工作电压Uf为1.8 V,正向电流IF为8~10 mA。当某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行列交叉的点为暗;当某一行线为低电平时,无论列线如何,对应这一行的点全部为暗。 7
8
图中,将(A)和(B)的8列、(C)和(D)的8列分别对应相连,同时将(A)和(C)的8 用四个8x8点阵显示可构成16x16点阵显示器,其连接方法如图3所示。行、 (B)和(D)的8行分别对应相连。即可形成一个16行(每一行有16个LED)、16列(每一列也有16个LED)的16x16点阵显示器,可将这256个点称为一页,这样,显示字符时。只要对一页中对应的亮灭进行控制即可。 如果需要,也可以把2个16x16点阵显示器相连从而构成16x32的点阵显示器。 2、 LED点阵显示器的扫描驱动(行码驱动) LED显示屏驱动电路的设计应与所用控制系统相配合。驱动通常分为动态扫描型及静态锁存型驱动二大类。静态锁存要求每一个点都要有一根控制线路,在此很显然是很难实现的,电路搭建以动态扫描型驱动电路的设计。动态扫描型驱9
动方式是指显示屏上的16行发光二极管共用一组列驱动寄存器,然后通过行驱动管的分时工作,来使每行LED的点亮时间占总时间的1/16。只要每行的刷新速率大于50 Hz,利用人眼的视觉暂留效应,人们就可以看到一幅完整的文字或画面。 AT89C51单片机有四个I/O口(P0、P1、P2、P3),每个I/O口有8位,如果都采用并行输出,显然不能满足要求,因此,本设计中的行扫描驱动采用并口输出,而场扫描驱动使用串入并出移位寄存器来实现数据的串行输出和并行控制列线。 2.1 行扫描驱动 由于16x32点阵显示器有16行,为充分利用单片机的接口,设计计划用P0、P2两个端口形成16位行控制输出端口,运行时让16位中的一位置位,其余清10