max7219工作原理简介_第1页
max7219工作原理简介_第2页
max7219工作原理简介_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MAX7219工作原理简介 MAX7219是一个采用 3线串行接口的 8位共阴极 7段 LED显示驱动器。 本文分析了 MAX7219各个寄存器的功能,并结合 MAX7219的工作时序, 给出了 MAX7219在 Motorola MC68HC908单片机系统中的一个应用实例。 关键词: MCU;MAX7219;LED Motorola MC68HC908 MAX7219工作时序及其寄存器 MAX7219是一个高性能的多位 LED显示驱动器,可同时驱动 8位共阴极 LED或 64个独立的 LED。其内部结构框图如图 1所示,主要包括移位寄 存器、控制寄存器、译码器、数位与段驱动器以及亮度调节和多路扫 描电路等。 MAX7219 采用串行接口方式,只需 LOAD、DIN、CLK 三个管脚便可实现 数据传送。DIN 管脚上的 16位串行数据包不受 LOAD状态的影响,在每 个 CLK的上升沿被移入到内部 16位移位寄存器中。然后,在 LOAD的上 升沿数据被锁存到数字或控制寄存器中。LOAD 必须在第 16个时钟上降 沿或之后,但在下一个时钟上升沿之前变高,否则数据将会丢失。DIN 端 的数据通过移位寄存器传送,并在 16.5个时钟周期后出现在 DOUT端, 随 CLK的下降沿输出。 MAX7219 的操作时序如图 2所示。 MAX7219的串行数据标记为 D15D0,其中低 8位表示显示数据本身,最 高的 4位 D15D12未使用,寻址内部寄存器的地址位占用 D11D8,选择 14个内部寄存器,见表 1。 图 1 MAX7219内部结构框图 图 2 MAX7219的数据传送时序 MAX7219 内部具有 14个可寻址数字和控制寄存器。其中的 8个数字寄 存器由一个片内 88双端口 SRAM实现。它们可直接寻址,因此可对单 个数进行更新并且通常只要 V+超过 2V数据就可保留下去。除 8个数 位寄存器之外,还有无操作、译码方式、亮度调整、扫描位数、睡眠模 式和显示器测试 6个控制寄存器。 无操作寄存器用于多片 MAX7219级联,在不改变显示或不影响任意控制 寄存器条件下,它允许数据从 DIN传送到 DOUT。 睡眠模式控制寄存器用于节省电源消耗,延长显示器的使用寿命。当睡 眠模式控制寄存器控制字节中的最低位 D0=0时,为睡眠模式;D0=1 时, 为正常操作模式。上电时所有的控制寄存器都复位,显示器都熄灭,芯 片进入睡眠模式。睡眠模式下的各个寄存器保留原数据而不更新,消耗 的电流少于 250mA。 显示器测试寄存器有正常与测试两种设定模式,数据字节的 D0位置 0 为正常模式,D0 置 1为测试模式。测试时以 31/32或 15/16的占空比扫 描全部数位段,使得所有显示器的所有段以最大的亮度点亮。 图 3 显示器与寄存器数据位的对应关系 译码方式控制寄存器可以设置每个数位工作于 BCD译码方式,或者非译 码方式,控制字节的 8位正好对应 8个数位,该位为 1表示该数位工作 于 BCD码方式,为 0 表示该数位工作于非译码方式。当采用代码 BCD译 码方式时,对 10个数字“09”和 5个字符“-,E,H,L,P”,译码器仅针 对数字寄存器中数据的低四位 D3D0,而不考虑 D6D4位。设置小数点 (SEG DP)的 D7与编码方式,点亮时,D7 置“1“,熄灭时,D7 置“0”即可。 表 2是 BCD码的字符编码。 当选择不译码方式时,数据位 D7D0对应于 LED的段线如图 3所示。 显示器的亮度可以通过模拟与数字两种方式进行调整,模拟方式是在 Vcc与 ISET引脚之间外接一个电阻 RSET,这时段驱动器提供的峰值电 流约为 ISET引脚电流的 100倍,调整该电阻的大小即可改变显示器亮 度,电阻的最小值为 9.53KW,此时提供的段驱动电流典型值为 40mA。 亮度的数字化调整是使用亮度调整寄存器,此时芯片内启用一个脉宽调 制器,它受亮度调整寄存器低半字节 D3D0的控制,产生 16种占空比不 同的输出脉冲,形成 16级亮度调整,此时以 RSET设定峰值电流。寄存 器数据为0H 时,脉冲占空比为 1/32,表示 MAX7219驱动的段点亮时间 仅为整周期的 1/32,这是最暗的情况。数据从0H 变化到FH,表示脉 冲占空比由 1/32变化到 31/32 (注意这里的分子只有奇数),此时扫描 消隐期按比例递减,亮度线性递增。因此寄存器数据为FH 时最亮,消 隐期仅为 1/32。 图 4 MAX7219应用连接图 MAX7219 有驱动 8个数码管的能力,但实际应用中不一定恰好是 8个。 扫描位数寄存器用于设置显示器数码管的实际扫描个数,由扫描位数寄 存器的 D2D0设定,其数据为0H 时,表示仅扫描数位 0,数据为 01H时,扫 描数位 0与数位 1,如此类推,直至数据为7H,表示 8个全扫描。8 个 全部扫描时,扫描速率为 800Hz,只扫描 N个时,扫描速率为 8fOSC/N。 应注意扫描的位数变化对亮度有明显影响。当扫描的数码管等于或少 于 3个时,单个数位驱动器将消耗较大的功率,因而必须依据使用的数 码管实际数量调整电阻 RSET的大小,限制消耗的电流。 显示器测试寄存器有正常与测试两种设定模式,数据字节的 D0位置 0 为正常模式,D0 置 1为测试模式。测试时,以 31/32的占空比扫描 MAX7219全部数位段,使得所有显示器的所有段以最大的亮度点亮。 MAX7219与 MC68HC908GP32接口应用 MAX7219 采用串行通信,只需通过 CLK、LOAD、DIN 三根线便可与多种 MCU接口。M68HC908 系列单片机是新一类 Motorola高性能的 8位单片 机,具有速度高、功能强和价格低等特点,其指令码与 M68HC05完全兼 容。Motorola 自 1999年推出该系列单片机以来,至今已推出了三十余 种不同型号的 MC68HC908单片机。本文以 Motorola在中国大力推广的 通用型芯片 MC68HC908GP32为例,介绍 MAX7219与 MC68HC908系列单片 机的接口电路,如图 4所示。由于 MC68HC908系列的单片机都具有一定 数量的 I/O管脚,所以该应用实例同样适用于其它型号的 MC68HC908单 片机,具有一定的代表性。 图中 MC68HC908GP32的 PORTB口工作于输出方式,并结合 MAX7219的工 作时序,对 MAX7219进行控制。WRI_INSTRU 为 MAX7219控制子程序,它 在 CLK管脚产生 8个时钟脉冲,并将入口参数 A中的 8位值在 CLK的上 升沿串行输出到 DIN。LED_WR 为 MAX7219控制主程序,它首先置 LOAD 为低电平,然后通过两次调用 WRI_INSTRU完成向 MAX7219写入 16位串 行数据,最后再置 LOAD为高电平,产生一个上升沿脉冲以满足 MAX7219 的数据传送时序。 结语 MAX7219 能够驱动 8个 LED,可方便地对每位 LED进行单独控制、刷新, 不需重写整个显示器寄存器,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论