专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »汇编语言 » 单片机数码管:51单片机数码管显示的好帮手---MAX... »正文

单片机数码管:51单片机数码管显示的好帮手---MAX...

来源: 发布时间:星期五, 2008年12月26日 浏览:2次 评论:0
、51单片机和MAX7219集成电路连接起来能干什么
俗话说“个篱笆 3个桩个好汉 3个帮”单片机这个“好汉”虽然发展已十分成熟但仍需要很多“热心肠”帮助才能发挥其强大功力而MAX7219集成电路就是来帮助单片机输出显示我们知道单片机输出显示最常用是发光 2极管和数码管就是通常所说LED显示技术(数码管就是用 8个发光 2极管搭造型)拿数码管显示为例分为静态显示和动态显示静态显示需要占用很多I/O口资源所以动态显示很受欢迎但当单片机在做些较复杂工程时尤其是有多个数码管显示时动态显示也显得占用了较多I/O口资源以 8个数码管(共阴极)显示输出为例即使是用3-8译码器对公共端进行选择加上数据端口仍然需要11个I/O口往往使单片机不堪重负功能大打折扣如图所示
:单片机和 8个数码管(共阴极)连接线
图中共用了单片机11根I/O口如果用MAX7219帮忙只用 3根根I/O口就可以完成任务就是这样神奇
2、MAX7219外形及管脚功能
MAX7219封装常见是DIP24外形如图 2其中A图是实物图B图是逻辑图


图 2:MAX7219外形
其管脚功能如下: 1)VCC:+5V电源端 2)GND:接地端 3)ISET:LED段峰值电流提供端它通过只电阻和电源相连以便给LED段提供峰值电流帮助位选信号显示
4)SEGA~SEGG:LED 7段显示器段驱动端 5)SEGDP:小数点驱动端 6)DIG7~DIG0:8位数值驱动线输出位选信号从每个LED公共阴极吸入电流 7)DIN:串行数据输入端在CLK上升沿数据被装入到内部16位移位寄存器中 8)CLK:串行时钟输入端最高输入频率为10MHZ在CLK上升沿数据被移入内部移位寄存器;在CLK下降沿数据被移至DOUT端 9) LOAD:装载数据控制端在LOAD上升沿最后送入16位串行数据被锁存到数据或控制寄存器中
10)DOUT:串行数据输出端进入DIN数据在16.5个时钟后送到DOUT端以便在级联时传送到下片MAX7219

3、MAX7219时序图(DIN CLK LOAD原理)

这个图很简单就是告诉大家 3个端口是如何合作传送数据其中DIN是串行数据输入端CLK和LOAD实际上是充当了组织者针对单片MAX7219介绍下数据传送过程:
首先在CLK下降沿无效在CLK上升沿位 2进制数据被移入内部移位寄存器然后CLK再出现下降沿无效然后CLK再出现上升沿第 2位 2进制数据被移入内部移位寄存器就这样工作十 6个周期完成十 6个 2进制(前 8个是地址后 8个是数据)传送这当中LOAD直是低电平当完成十 6个 2进制传送后把LOAD置成高电平产生上升沿把这16位串行数据锁存到数据或控制寄存器中完成装载然后再把LOAD还原为低重复开始动作周而复的……
例如:把数据09H传送到地址0AH(亮度控制寄存器)即设定LED为十 6级亮度第10级编程如下:

MOV A#OAH ;亮度控制寄存器地址以数据形式送累加器A
START:
CLR LOAD
MOV R6#O8H ;循环次数
LOOP:
CLR CLK
RLC A
MOV DINC
SETB CLK
DJNZ R6LOOP
MOV A#09H ;亮度控制码送累加器A
LJMP START
4、AT89S515类工作寄存器
它主要由8个数位寄存器和6个控制寄存器组成: 1)数位寄存器7~0:它决定该位LED显示内容 2)译码方式寄存器:地址为09H它决定数位寄存器译码方式位对应个数位其中1代表译码方式;0表示不译方式比如00H表示都不译码若用于驱动LED数码管般都设置为译码方式方便编程;当用于驱动条形图显示器时应设置为不译码方式 3)扫描位数寄存器:地址为0BH设置显示数据位个数该寄存器D2~D0(低 3位)指定要扫描位数支持0~7位比如要显示数据位个数为 3则应送往地址0BH数据就应为03H各数位均以1.3kHz扫描频率被分路驱动 4)亮度控制寄存器:地址为0AH该寄存器通常用于数字控制方式利用其D3~D0位控制内部脉冲宽度调制DAC占空比来控制LED段电流平均值实现LED亮度控制D3~D0取值可从0000~1111对应电流占空比则从1/32变化到31/32共16级D3~D0值越大LED显示越亮而亮度控制寄存器中其他各位未使用可置任意值前面已经举例 5)显示测试寄存器:地址为0FH当D0置为1时LED处于显示测试状态所有8位LED段被扫描点亮电流占空比为31/32;若D0为0则处于正常工作状态D7~D1位未使用可任意取值简单来说就是D0为1时点亮整个显示器为0时恢复原数据用来检测外挂LED数码管各段好坏 6)关断寄存器:地址为0CH又叫待机开关用于关断所有显示器当D0为0时关断所有显示器但不会消除各寄存器中保持数据;当D0设置为1时正常工作剩下各位未使用可取任意值 7)无操作寄存半
标签:

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: