MAX7219在单片机系统显示电路中的应用

合集下载

MAX7219在MC68HC908系统中的应用

MAX7219在MC68HC908系统中的应用

MAX7219在MC68HC908系统中的应用电子设计应用2003 年第5 期摘要:MAX7219 是一个采用3 线串行接口的8 位共阴极7 段LED 显示驱动器。

本文分析了MAX7219 各个寄存器的功能,并结合MAX7219 的工作时序,给出了MAX7219 在Motorola MC68HC908 单片机系统中的一个应用实例。

关键词:MCU;MAX7219;LED Motorola MC68HC908MAX7219 工作时序及其寄存器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 的串行数据标记为D15~D0,其中低8 位表示显示数据本身,最高的4 位D15~D12 未使用,寻址内部寄存器的地址位占用D11~D8,选择14 个内部寄存器,见表1。

图1 MAX7219 内部结构框图图2 MAX7219 的数据传送时序MAX7219 内部具有14 个可寻址数字和控制寄存器。

其中的8 个数字寄存器由一个片内8tips:感谢大家的阅读,本文由我司收集整编。

仅供参阅!。

显示驱动芯片MAX7219在单片机中的应用

显示驱动芯片MAX7219在单片机中的应用

《自动化技术与应用》2009年第28卷第10期Techniques of Automation & Applications | 121从Din脚串行输入,在CLK的每一个上升沿一位一位地送入芯片内部16位移位寄存器,而不管Dout脚的状态如何。

Load脚必须在第16个CLK上升沿出现的同时或之后,但在下一个CLK上升沿之前变为高电平,否则移入的数据将丢失。

操作者只需编程发送16位数据包,就能简单地操作LED的位选以及段选,设置和改变MAX7219的工作模式。

16位数据包的数据格式如下[3]: 经验交流Technical Communications显示驱动芯片MAX7219在单片机中的应用王喜军,姜 军,孙福东,贾云婷(辽河油田总机械厂自动控制研究所,辽宁 盘锦 124209)摘 要:阐述了新型显示驱动芯片MAX7219的基本工作原理和软件设计方法。

该芯片功能强大、编程简单、控显可靠,可广泛用于工业控制器等方面的数码显示驱动。

并且运用P18高端系列的单片机进行程序测试。

关键词:SPI;MAX7219;单片机中图分类号:TP216 文献标识码:B 文章编号:1003-7241(2009)10-0121-03The MAX7219 Display Driver Chip for MCUWANG Xi-jun, JIANG Jun, SUN Fu-dong, JIA Yun-ting( The Automatic Control Research Institute of LiaoHe Petroleum Exploration Bureau Ceneral Machinery Plant, PanJin 124209 China )Abstract: This paper introduces the software design of the display driver chip MAX7219. An application example is also presented.Key word: SPI; MAX7219; Single-chip收稿日期:2009-04-011 引言MAX7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器。

max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例)

max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例)
SPI1_InitStructure.SPI_Mode=SPI_Mode_Master;//设置SPI工作模式;设置为主SPI
SPI1_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB; //高位MSB在先
SPI1_InitStructure.SPI_CPOL = SPI_CPOL_High; //选择了串行时钟的稳态,时钟悬空高
*功能:STM32_SPI1硬件配置初始化
*入口参数:无
*出口参数:无
*说明:STM32_SPI1硬件配置初始化,使用3V3
****************************************************************************/
void SPI1_Init(void)
SPI1_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;//数据捕获于第二个时钟沿
SPI1_InitStructure.SPI_NSS = SPI_NSS_Soft;CPolynomial = 7;//CRC值计算的多项式
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOA,GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;//SPI1相关引脚

MAX7219及其与AT89C2051的串行应用

MAX7219及其与AT89C2051的串行应用

●新特器件应用MA X7219及其与A T89C2051的串行应用湖北省环保所姜永年摘要:MA X7219是一种高性能八位串行接口L ED 驱动芯片。

本文主要介绍其内部结构、应用要点及与A T89C2051串行接口的编程方法。

关键词:MA X7219L ED 显示器串行驱动A T89C2051节电运行亮度控制图1引脚排列图2内部结构MA X7219是一种高性能的八位串行接口L ED 显示器驱动芯片,采用共阴极动态扫描方式。

其峰值段电流可达40mA ,最高串行时钟速率为10M Hz ,典型扫描速率为1300Hz (V +=5V ,八位扫描)。

作为MCS 251系列单片机串行接口,仅占用了3根I/O 口线,除峰值段电流设定电阻R SET 外,无需外接其他任何元件,即可驱动八位共阴L ED 显示器。

与其他八位L ED 显示器驱动芯片(如ICM7218)相比,综合性能指标高得多。

尤其是,当工作于关闭(SHU TDOWN )方式时,不仅单片机仍可对其传送数据和修改控制方式,而且芯片耗电仅为150μA ,故该L ED 显示器可用于电池供电的便携式仪表中。

若零售价格降至30元以下(目前为49元),该芯片将会在国内各行各业广泛应用。

鉴于文[1]已对MA X7219的工作原理和内部寄存器的使用作了较详细介绍,本文仅就其未尽之处和应用要点及与A T89C2051串行接口的编程方法作进一步说明。

1、MA X7219的内部结构MA XIM 公司提供了两个级别(商业及和工业级)、五种型号的MA X7219芯片。

其中,商业级24脚窄型塑封D IP型号为MA X7219CN G (0~70℃,4V ~6V电源,P max =0.87W )。

其引脚排列和内部结构分别如图1和图2所示。

从图2可知,MA X7219内含一个16bit 移位寄存器(以串行方式接收待显示位的数表1 M A X 7219管脚说明引 脚符 号功能说明19V +电源端(4~6V ,典型值5V ±10%)4,9GND 地18I SET 经电阻R SET 与V +相连,以设定段电流峰值。

用MXA7219接驱的8位LED显示器

用MXA7219接驱的8位LED显示器

用PIC单片机驱动MXA7219的子程序MAX7219是一个高性能多价位的LED显示驱动芯片,其接口采用流行的三总线结构,其串行时钟频率最高可达5MHz,可与任何一种CPU接口,并可同时驱动8位LED显示器(或64只独立的LED)其内部具有15*8RAM功能控制寄存器,可灵活进行显示格式的调整及控制:a可方便寻址,对每位数字可独立控制、刷新,而不需要重写整个显示器;b还可用程序控制亮度、显示测试格式、自由选择显示数字的位数、关闭显示以达到减小整个系统的功耗的目的;c可直接按位输入要显示的数字的十进制数字而由程序控制其内部的硬件显示译码电路进行BCD到段码的译码工作工作,也可直接输入要显示数字的段码而关闭内部的译码电路。

以下是一段用PIC16系列单片机E口驱动4位LED显示器的程序及相用电路图如图1(只使用低4位)其中9.53K电阻可用来调整显示电路的电流,电阻越大,电流越低,相应亮度越低。

MAX7219的控制表如表1。

X1到X8为8个显示器的数据地址,只用低4位,最高位为小数点位,为1时点亮小数点;X9到XF为控制字地址,X0为无效位。

list p=16f877#include <p16f877.inc> w_temp EQU 0x70 status_temp EQU 0x71 DATA1 EQU 0X20DATA2 EQU 0X21DATA3 EQU 0X22DATA4 EQU 0X23 CONTL EQU 0X24 CONTH EQU 0X25 COUNT EQU 0X26ORG 0x000clrf PCLA THgoto mainORG 0x004movwf w_tempmovf STATUS,wmovwf status_tempmovf status_temp,wmovwf STATUSswapf w_temp,fswapf w_temp,wretfiemainBANKSEL TRISECLRF TRISEBANKSEL CONTHMOVLW 0X09MOVWF CONTHMOVLW 0XFFMOVWF CONTLCALL DISPLAYMOVLW 0X0AMOVWF CONTHMOVLW 0X0CMOVWF CONTLCALL DISPLAYMOVLW 0X0BMOVWF CONTHMOVLW 0X07MOVWF CONTLCALL DISPLAYMOVLW 0X0CMOVWF CONTHMOVLW 0X01MOVWF CONTLCALL DISPLAY MOVLW 0X01 MOVWF DA TA1 MOVLW 0X02 MOVWF DA TA2 MOVLW 0X83 MOVWF DA TA3 MOVLW 0X04 MOVWF DA TA4 CALL SEND_TIM SEND_TIMMOVLW 0X04MOVWF CONTHMOVF DA TA4,wMOVWF CONTLCALL DISPLAYMOVLW 0X03MOVWF CONTHMOVF DA TA3,wMOVWF CONTLCALL DISPLAYMOVLW 0X02MOVWF CONTHMOVF DA TA2,wMOVWF CONTLCALL DISPLAYMOVLW 0X01MOVWF CONTHMOVF DA TA1,wMOVWF CONTLCALL DISPLAYRETURNDISPLAYBANKSEL PORTEBCF PORTE,0BCF PORTE,1MOVLW 10HMOVWF COUNT C1 RLF CONTL,1RLF CONTH,1BSF PORTE,2BTFSS STATUS,CBCF PORTE,2NOPNOPNOPBSF PORTE,0NOPNOPBCF PORTE,0DECFSZ COUNT,1GOTO C1BSF PORTE,1NOPNOPRETURNEEEND。

8位串行接口数码显示驱动器MAX7219及其应用

8位串行接口数码显示驱动器MAX7219及其应用

8位串行接口数码显示驱动器MAX7219及其应用潍坊高等专科学校 王瑞兰LED数码管的应用已十分广泛,用于数码管显示的驱动电路种类较多,但大致可分为静态显示驱动和动态扫描显示驱动两大类别。

本文所要介绍的MAX7219芯片就是 用于动态扫描显示驱动的芯片。

该芯片的特点是利用一块芯片就能完成8位字数据和8位线数据的驱动,使得电路紧凑。

多芯片级联时,采用串行输入输出,可节省CPU的口线和接口芯片。

与数码管联接时无需限流电阻,8位显示的电流可通过一个外部电阻进行调节。

显示亮度也可通过程序进行控制。

片内具有,可以对输入的数据先进行译码再驱动输出,也可以将输入的数据直接驱动。

一、管脚功能MAX7219采用24管脚DIP和SO两种封装形式,管脚排列如图1所示,各引脚功能见表1。

二、MAX7219内部结构MAX7219的内部功能框图如图2所示。

16位移位寄存器所存数据为D0~D15,见表2。

D8~D11为寄存器地址,D0-D7为数据,D12-D15为不关心位。

片内有14个寄存器,其中8个数据寄存器,寄存着与DIG 0-DIG 7对应的显示数据,地址依次为×1H-8H;6个控制寄存器,即译码控制寄存器(Decode Mode)、显示亮度控制寄存器(Intensity)、扫描频率限制寄存器(Scan Limit)、消隐控制寄存器(Shutdown)、显示测试寄存器Display Test)及无操作寄存器(No-Op),其地址依次为×9H-CH、×FH、×0H。

数据寄存器为8×8双指针SRAM。

因为各寄存器可直接寻址,所以寄存器的数据可分别进行修改。

寄存器的数据可以保存到电源电压降低到2V。

三、控制寄存器1. Shutdown 寄存器Shutdown 寄存器写入×××××××0B数据时,将呈现消隐状态。

串行接口8位LED显示驱动器MAX7219

串行接口8位LED显示驱动器MAX7219

表 2 串行数据格式( 16 位)
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
X XXX
地址
数据
寄存器
空操作 位0 位1 位2 位3 位4 位5 位6 位7
译码模式 强度 限扫 关闭
显示测试
D15~ D12
表 3 寄存器地 址控制字
地址
D11
达。串行输入数据通过移位寄存器传输, 在以 D15( 如表 2 所列) , D8~ D11 为移位寄存器地
址, D0~ D7 为数据, D12~ D15 是无 关 位。第一位接收到的位 是最高位
D15。D7 为数据最高有效位, D0 为数 据最低有效位。
2. M AX 7219 控制字
图 2 M A X 7219 的功能框图
显示检测寄存器有两种操作模式: 一般测 试和显示测试。显示测试模式时所有的 L ED 点亮, 方法是将所有控制字寄存器( 包括关闭寄 存器) 置成无效。在显示测试模式下扫描 8 位的
表 5 软件译码数字对应的段笔划
寄存器数据 D7 D6 D5 D4 D3 D2 D1 D0 对应的段笔划 DP A B C D E F G
串行接口 8 位 LED 显示驱动器 MAX7219
- 29-
新特器件应用
串行接口 8 位 L ED 显示驱动器 M AX7219
山西省医疗器械研究所 张志清
摘要: M AX7219 是一种高集成化的串行输入/ 输出共阴极显示驱动器, 具有软件译码、硬 件译码功能, 单一位数据能被寻址更新, 可广泛应用于工业控制、仪器仪表的柱状图、7 段 码 L ED 矩阵显示。本文介绍了该驱动器的引脚功能、工作原理, 并给出了应用实例。 关键词: 串行数据 控制字 译码器 驱动器 L ED 显示

MAX7219与51单片机的驳接

MAX7219与51单片机的驳接

MAX7219与51单片机的驳接
MAX7219 是一种高集成化的串行输入/输出的共阴极LED 显示驱动器。

每片可驱动8 位7 段加小数点的共阴极数码管,可以数片级联,而与微处理器的连接只需3 根线。

MAX7219 内部设有扫描电路,除了更新显示数据时从单片
机接收数据外,平时独立工作,极大地节省了MCU 有限的运行时间和程序资源。

MAX7219 芯片上包括BCD 译码器、多位扫描电路、段驱动器、位驱动器和用于存放每个数据位的8 乘以8 静态RAM 以及数个工作寄存器。

通过指令设置这些工作寄存器,可以使MAX7219 进入不同的工作状态。

1管脚说明
图1 是MAX7219 的管脚分布图。

其中:
(1)DIN为串行数据输入端。

当CLK 为上升沿时,数据被载入16 b 内部移位寄存器。

(2)CLK为串行时钟输入端。

其最大工作频率可达10 MHz。

(3)LOAD为片选端,当LOAD 为低电平时,芯片接收来自DIN 的数据,
接收完毕,LOAD 回到高电平时,接收的数据将被锁定。

(4)DIG0~DIG7为吸收显示器共阴极电流的位驱动线。

其最大值可达500 mA,关闭状态时,输出+VCC。

(5)SEGA~SEGG,DP为驱动显示器7 段及小数点的输出电流,一般为40 mA 左右,可软件调整,关闭状态时,接入GND。

(6)DOUT为串行数据输出端,通常直接接入下一片MAX7219 的DIN 端。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:介绍8位串行LED显示驱动 ̄MAX7219的特性,并给出了单片机系统中MAX7219与MCS--51的硬件接口设计,以及相应的软件流程图和编程实现。

关键词:MAX721;单片机;显示电路
单片机系统通常需要有LED对系统的状态进行观测,而很多工业控制用单片机FIMCS51系列本身并无显示接口部分,需要外接显示的译码驱动电路。

在MCS51单片机的控制系统中,采用MAxIM公司的MAX7219构成显示接口电路,仅需使用单片机3个引脚,即可实现对8位LED数码管的显示控制和驱动,线路简单,控制方便。

1MAx7219与单片机的连接
MAX7219与MCS一51单片机连接时可根据具体的系统要求和系统资源占用情况选用2种驱动方式:串行口移位驱动MAX7219或I/0口模拟三线协议时序驱动MAX7219。

通常单片机系统的串口要用作其他用途,比如和上位机联机通信等。

故本系统利用单片机的I/O口来模拟MAX7219的时序,应用电路如图1所示。

其中,P2.0作串行数据输出,连接 ̄IDIN端,P2.1和P2.2连扫描电路选通某字时,相引脚DIG×为低电平。

显示接至CLK和LOAD,通过程序分别模拟MAX7219的时钟数据串行输入MAX7219,移位存入数字寄存器,片内多脉CLK及数据加载LOAD信号。

ISET管脚接l0kQ电阻路扫描电路顺序扫描,分时选通各字,被选通字的引脚
用于限定峰值段电流。

置为低电平,LED发光显示数字,未选通的字引脚保持本系统的设计中,只需要5个LED,所以DIG5~DIG7高电平。

未用悬空。

显示电路中,所有LED显示器的同名段(a~f,系统设计中,应用MAX7219芯片时需要注意如下dp)连接在一起并与MAX7219的同名段引脚(SA~SG,几个关键问题:
SDP)H连,各LED显示器的共阴极分别与MAX721的相(1)3根信号线。

应字引脚(DIG0一DIG4)相连,以实现位选,当MAX7219在强干扰环境中,如大功率电机的启停或高压发生过程中,干扰源可能通过供电电源或3根信号线串入显示电路,造成显示器的不稳定,从而出现段闪烁、显示不全、甚至全暗或全亮的现象。

为此,可以通过在3根信号线上对地接人一个1.000pF的瓷片电容来有效地滤除因为空间干扰而引起的尖脉冲。

(2)亮度控制电阻。

MAX72199以根据亮度寄存器的数据,由软件来能信号有效调节亮度。

还可通过硬件来调节,即通过参考电压V+Y和ISETI脚之间所接的外部电阻RSET来控制亮度。

通寄存器地常来自驱动器的峰值电流为ISET允许值的100倍,当MAX72l9使能尢效RSET取最小值9.53k时,段电流为37mA,显示亮度达到H钟线为低最。

通过移位操作1通过移持作送一位数据l送Ⅱ一位数据
(3)工作电源。

为了防止微机系统电源及其干扰源对显示电路图2MAX7219显示程序数据输入流程图造成影响和避免RSET太小而使峰值段电流增火(从而引起单片机系统的供电电压低于监控电压而使系统数码管数量进行初始化,限制显示位数,即给显示位数长期复位),同时为丫给显示电路提供足够的电源功限制寄存器送相应的数值;第五,将所有的显示打开,率,在实际设计中,对显示电路单独供电,并在即给MAX7219芯片的OCH单元送01H。

这样就完成厂整MAX7219的电源(V+)与地(GND)之间并联一个0.1F的个初始化过程。

去耦电容和一个10F/5V的电解电容,以有效提高其初始化后,系统便进入正常工作状态,等待输入。

工作可靠性。

MAX7219内部寄存器可分为控制寄存器和显示寄存进行电路板设汁时,尽可能使MAX7219芯片和器,控制寄存器和显示寄存器的结构和数据读写方式所驱动的LED显示器靠近主控芯片,以防止高频信号相同,只是各自地址不同,这就使得控制寄存器的初始的干扰。

当MAX7219距离单片机距离很近时,可以不化和显示RAM的读写可使用同一个数据读写子程序。

加去耦电容和电解电容。

MAX7219所能直接驱动的是所以对MAX7219进行初始化和控制显示的操作方式可共阴极小电流LED显示器,不能直接驱动共阳极LED显使用同一个程序。

XCMAX7219内部寄存器进行渎写时,示器,否则会损坏器件。

先使能MAx
7219,根据操作时序,向MAX7219送出寄存2MAx7219软件编程器的地址,再送出相应的控制字或数据即可,每一位串行数据的输入输出时序都是相同的。

由于MAX7219的控制寄存器和显示寄存器均独相应的程序设汁如下:立编址,显示程序实际上就是AT89S52在P2.2(LOAD),主程序P2.I(CLK)时序的酉己合卜不断通过P2.0(DIN)向MAX72l90RG0000H的相应控制寄存器和数据显示寄存器写入16位二进制数据包的过程。

所以问题的关键在于编写一个通用LCALLMAX0;MAX7219初始化程序的写入子程序,将数据内容从高位到低位在P2.1(CLK)LOOP:LCALLDISP;显示程序的作用下依次移入移位寄存器,最后由P2.2的上升沿SJMPLOOP重复(LOAD信号)锁存到相应的内部控制寄存器和数据显示寄存器。

选择显示位数AT89S52向MAX7219写人数据的程序流程图如图2MOVR2,#04HL;LED为5位(可根据显示位数确定)所示。

程序主要分为功能初始化、接收及数据传送子程序3个部分。

选择显示亮度初始化时,首先将MAX72194‘片的显示关掉,即给根据亮度选择数据大小MAX72194>片 ̄JOCH单元送OOH;其7,,对MAX7219芯片的每一一显示位进行初始化,选择相应的显示方式
进行初始化,选择相应的显示电流(即占空比),即给亮度寄存器送相应的数值。

相关文档
最新文档