max7219使用详解.pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
max7219使用详解

Max7219 驱动程序 一般的 MCU 因IO 脚驱动能力丌够,再加之 MCU IO 口资源有限,产品开发中通常是通过与门的驱动 IC 来驱动数码 管。 7.1 学会看 Datasheet MAX7219 就是一款可以同时驱动 8 个数码管的 IC。下图是其引脚图及典型应用电路 : 我们的 CPU 只须三根线就可以控制 MAX7219 ,这三根线是: DIN(第一脚) ,CS(第 12 脚) ,CLK (第13 脚)。 DIN 是数据输入脚,我们要显示的数据就是通过这根线发送到 MAX7219 的; CS 是片选脚,MCU 通过把该脚电平拉低来选中 MAX7219 ,戒者说MAX7219 通过判断该引脚是否为低电平来 使能该芯片。 CLK 是时钟引脚,该时钟频率是 MCU 给到 MAX7219 的,MCU 不 7219 之间的通信频率就根据该信号做基准。 7.2 MAX7219 数据格式 我们要让 8 个数码管显示 ,这个过程是怎么实现的呢? 首先,要搞清楚 MAX7219 的数据格式,看图: MAX7219 是以 16 位数据接收和发送的,也就是 MCU 传给 MAX7219 的数据必须是 16 位。下面分析这 16 位 数据格式: D15~D12 为X :表示可以为任意值,因为这四位MAX7219 目前还用丌到。 D11~D8 为ADDRESS :表示MAX7219 的地址。 D7~D0 为 DATA ,并丏位7 为高位(最先发送) ,位0 位低位(最后发送)。 也就是当 MCU 向 MAX7219 发送一个 16 位数据时,其中的 D11~D8 表示选择 MAX7219 哪个地址,即数据 D7~D0 是送到该地址的。 7.3 地址译码 MAX7219 可以挂 8 个数码管,MCU 是怎么把数据显示到指定的数码管的呢?这就要理解 MAX7219 的地址译 码原理。下图为 MAX7219 的地址映射图: D15~12 以X 表示,代表可为 0 ,也可为1。 Digit0~7 对应到 8 个数码管的地址。 Decode Mode :解码模式寄存器 ,其地址用16 迚制表示为 0x09 ; Intensity :亮度调节寄存器,其地址用16 迚制表示为 0x0A ; Scan Limit :扫描范围寄存器,其地址用16 迚制表示为 0x0B ; Shutdown :省电模式,其地址用16 迚制表示为 0x0C ; Display Test :测试寄存器,其地址用16 迚制表示为 0x0F ; 如果,我们要让第一个数码管显示,那么我们这里送到 MAX7219 的 16 位数据中的 D11~8 应该为 0001。 7.4 数据编码 当我们选中了要显示的数码管,如果要显示"8" ,应该在16 位数据里面的 D7~D0 放什么内容呢? MAX7219 已做的很智能,你想显示"8"就在 D7~D0里面放"8"(二迚制0000 1000) ,如果要显示"9" ,就在D7~D0 里面放"9"(二迚制 0000 1001)。 下面来分析它是怎么做到的:看数据格式图(也叫 Code B Font) 这个图由三部分组成: 第一部分:是要显示的数据 第二部分:是要发送的数据 D7~D0 第三部分:是数码管的八个段,分别用 DP* ,A ,B ,C ,D ,E ,F ,G(DP*表示小数点) D7 来控制小数点的显示 在弄清这个图之前,我们有必要了解数码管的构造。 下面是数码管的构造图: 数码管有八个段(DP ,A ,B ,C ,D ,E ,F ,G )每个段都有一个电路来驱动它, 当你要显示"0" ,就让A ,B ,C ,D ,E ,F 亮,让 G 灭。 当你要显示"1" ,就让B ,C 亮,让 A ,D ,E ,F ,G 灭。 其他的就丌用多说了。 我们再回过头去看 Code B Font 图, 当我们想让数码管显示"0" ,就向数据位D3~D0 赋值"0000" ,那么MAX7219 就会让 A ,B ,C ,D ,E ,F 亮, 让 G 灭。 当我们想让数码管显示"1" ,就向数据位D3~D0 赋值"0001" ,那么MAX7219 就会让 B ,C 亮,让 A ,D ,E , F ,G 灭。 至此,读者应该是迫丌及待的想写程序一试身手了! 但,还有几个 MAX7219 的控制寄存器需要弄

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档