[摘要]led显示技术在 工业 仪表中应用十分广泛,它能直观地显示运行系统的实时状态。同时pic单片机由于功能强,成本低的优势在各种仪表中应用广泛。对pic单片机控制点阵led显示技术进行研究。
[关键词]pic单片机 led 控制
一、点阵led的结构
使用的led为14*15点阵,由六片7*5点阵led拼接而成,先分别用三片led横向组成两个7*15点阵,再用两个7*15上下排列,组成需要的14*15点阵。当某一个led所在的行驱动为低,列驱动为高时,这个发光管被点亮。
二、静态显示电路的构成
74ls164为ttl单向8位移位寄存器,可实现串行输入,并行输出。其中a、b(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算 规律 输入信号,共一个输入信号时可并接。clk(第8脚)为时钟输入端,可连接到串行口的同步时钟输出端。每一个时钟信号的上升沿加到clk端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74ls164中。在给出了8个脉冲后,最先进入74ls164的第一个数据到达了最高位,再来一个脉冲,第一个脉冲就会从最高位移出。4片74ls164首尾相串,而时钟端则接在一起。
只要我们对每片led上7位行驱动中的一位输入低电平,这行中相应列驱动为高的点就会被点亮。如此反复向每一行送入低电平,同时在相应的行被选中时,在列送入相应的数据,并反复的扫描,由于人眼存在视觉暂留效应就可以看到预期的画面信息。wWw.133229.COm
三、编码方式
编码方式是由硬件设计方式决定的。因为送入下排三个led中最后一片最后一位的列驱动是最先进入74ls164的数据,所以字模的编码顺序和在led显示顺序正好相反。而且pic16f877做串行输出时,串行输出寄存器sspbuf中的8位数据的最高位是最先送出的,所以每行8个点是右面为高位,左面为低进行编码。后面的类推,要显示一个完整的14*15点阵共需要28组的8位2进制字模数据。
四、pic16f877与led电路的连接
pic16f877中提供了两个串行通信模块,分别是同步串行口和通用同步异步接收发送器。其中mssp模块又提供了两种工作方式,一种是串行外围接口(spi),另一个工作方式是芯片间通信总线(iic)。ssp模块主要用于单片机和其他外围接口或微处理器芯片间的串行通信,像串行eeprom、显示控制器、模拟数字转换器等,都属于电路板上众多器件间的串行通信接口。usart则属于和电路板外部设备串行通信的接口,简单地说就是rs232接口,可以与pc通信。所以,我们选择spi同步串行通信方式送入行选编码。spi工作方式提供8位数据的传输,sck引脚上的时钟速度决定数据的传输速度。在连接的器件中,由主控器件来产生时钟,其他器件以此外界的时钟为标准。因此在使用spi方式时,必须确定那个器件为主控器件,其它则为从控器件。本电路使用pic16f877作为主控器件,ssp模块工作在主控方式下。sck引脚的时钟由单片机自己产生,因此可以在任何时候数据的传送,传送在有写入sspbuf缓冲器的动作时开始,我们用sck引脚输出串行输出同步时钟。本电路中的spi模块中用来输入出数据,那么sdi引脚可以关掉不用,这时ssbuf寄存器里的内容全根据设定的时钟一位的由sdo引脚移出。在设置使用mssp模块的spi工作方式前第一件事是初始化mssp模块,sspcon寄存器包含了要设置的相关位,在设置完成后,置mssp模式使能位sspen,便可以开始spi方式的工作。同时,要复位ssp模块,只要先将sspen位清除0,然后重新设置sspcon,再将sspen设置为1就可以。设定好sspcon就相当于设定了sdo,sck,sdi,ss 为串行通信用的引脚,因此除了sspcon寄存器的设置外,对spi工作方式用到的引脚也要设置。sdo和sck为输出引脚,因此trisc<3>和trisc<5>必须清零。
portd端口寄存器读出的是相应的i/o引脚上的电平状态,而写portd