DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 651|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 18:22:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  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)说明如下:

  •   GP0:双向输入/输出端口/串行编程数据端;
  •   GP1:双向输入/输出端口/串行编程时钟端;
  •   GP2:双向I/O端口;
  •   GP3:输入端口;
  •   GP4:双向I/O端口;
  •   GP5:双向I/O端口。

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

  •   Q0~Q7:并行数据输出端;
  •   Q7':级联输出端;
  •   SRCLK:移位寄存器的时钟脉冲输入端;
  •   RCLK:存储寄存器的时钟脉冲输人端;
  •   SER:串行数据输入端;
  •   E:输出有效(低电平);
  •   SRCLR:主复位(低电平)。




  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口,所用芯片体积小,价格低廉,软件译码方式增大显示信息量,且简化了硬件电路,故该模块特别适用于低价格的便携式系统。
                                
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 06:06 , 耗时 0.081937 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表