基于PIC12C508单片机的LED显示电路

时间:2010-12-18来源:网络

  0 引 言

  LED显示以其使用方便,价格低廉等优点而得到广泛应用。它的显示接口按驱动方式可分为静态显示和动态显示两种。静态显示虽然亮度高,无闪动,但具有功耗大,占I/O口多,成本高等缺点。在I/O口紧张的情况下大多采用动态显示方式。目前,市场上有许多专用的动态显示接口芯片可供选择。但是,这些芯片价格普遍较高,而不适合在廉价系统中应用。有些专用芯片(如MC14489)采用硬件译码方式,显示的信息量有限,难以满足各种要求,影响了它的应用。在此介绍一种价格低廉,效果良好的LED动态显示电路,通过软件译码,串行显示方式,节省大量I/O线,不仅能显示数字,而且可以显示大部分英文字母。

  1 硬件说明及工作原理

  主要硬件包括:单片机PIC12C508,2片移位寄存器74HC595,8个LED数码管,8个220 Ω左右的限流电阻。

  1.1 PIC12C508的介绍

  PIC12C508是MICROCHIP公司开发的具有低价格、低功耗、高性能、8位、全静态等特点的CMOS单片机。它采用RISC结构,有着广泛的应用范围,尤其适用于便携式电子产品。

  PIC12C508引脚图(见图1)说明如下:

  1.2 74HC595的介绍

  74HC595具有8位移位寄存器,1个存储器和三态输出功能。移位寄存器为串行输入,8位并行(或串行)输出。移位寄存器和存储器分别是时钟、数据在SR-CLK上升沿的输入并移位:Q0→Q1→Q2→…→Q7,在RCLK上升沿进入存储寄存器。当E为低电平时,存储寄存器的数据输出到总线。74HC595引脚图(见图2)功能如下:

引脚图

  1.3 硬件电路设计

  在电路中,两片74HC595,一片作为段码驱动A,另一片作为位码驱动B,采用级联方式连接。单片机PIC12C508的GP0,GP1和GP2端口模拟数据输出端和时钟输出端。段码驱动A的串行数据输入端(SER)和移位寄存器时钟端 (SRCLK)分别接12C508的GP0和GP1端口,存储寄存器时钟端(RCLK)接GP2。位码驱动B的SER和SRCLK端分别接段码驱动A的级联输出端(Q7')和12C508的GP1端口,RCLK端接GP2。同时,两片74HC595的E端接地(见图3)。

硬件电路设计

  在显示过程中,通过译码表确定要显示字符的段码值,根据字符在LED中的显示位置(假定为最低位)确定其位码值为FEH(1111 1110)。先将位码值在SR-CLK脉冲的作用下送入段码驱动A;接着取字符段码值,同样送入段码驱动A。此时,位码值已通过级联端Q7'送入位码驱动 B。然后,让GP2输出一上升沿,使移位寄存器中的值输出至存储寄存器,进而从8个并行输出端输出。延时2 ms,字符就可在预定位置显示。若要求在低二位显示时,位码变为FDH(1111 1101),再译得第二个字符的段码值,重复上述过程即可。这样,在主程序中循环调用显示程序,交替发送段码和位码,就可使LED达到理想的显示效果。

  2 程序流程及编写

  主程序流程图如图4所示,以下程序实现数字0~7的显示:

主程序流程图

  3 结 语

  在此介绍一种新型LED显示电路,采用串行方式,极大地节省了单片机I/O口,所用芯片体积小,价格低廉,软件译码方式增大显示信息量,且简化了硬件电路,故该模块特别适用于低价格的便携式系统。

关键词: PIC12C508 74HC595 LED数码管 动态显示 串行显示

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版