MAX7219工作原理简介

合集下载

max7219资料及电路图

max7219资料及电路图

MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219可驱动8个7段(包括小数点共8段)数字LED、LED条线图形显示器、或64个分立的LED发光二级管。

该芯片具有10MHz传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED的段电流。

它的操作很简单,MCU只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。

此外它还支持多片7219串联方式,这样MCU就可以通过3根线(即串行数据线、串行时钟线和芯片选通线)控制更多的数码管显示。

MAX7219的外部引脚分配如图1所示及内部结构如图2所示。

图1 MAX7219的外部引脚分配图2 MAX7219的内部引脚分配各引脚的功能为:DIN:串行数据输入端DOUT:串行数据输出端,用于级连扩展LOAD:装载数据输入CLK:串行时钟输入DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流SEG A~SEG G DP 7段驱动和小数点驱动ISET:通过一个10k电阻和Vcc相连,设置段电流MAX7219有下列几组寄存器:(如图3)MAX7219内部的寄存器如图3,主要有:译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。

编程时只有正确操作这些寄存器,MAX7219才可工作。

图 3 MAX7219内部的相关寄存器分别介绍如下:(1)译码控制寄存器(X9H)如图4所示,MAX7219有两种译码方式:B译码方式和不译码方式。

当选择不译码时,8个数据为分别一一对应7个段和小数点位;B译码方式是BCD译码,直接送数据就可以显示。

实际应用中可以按位设置选择B译码或是不译码方式。

图4 MAX7219的译码控制寄存器(2)扫描界限寄存器(XBH)如图5所示,此寄存器用于设置显示的LED的个数(1~8),比如当设置为0xX4时,LED 0~5显示。

MAX7219

MAX7219

多功能LED译码显示驱动IC PS7219 1 引言PS7219是由力源公司自行研制、开发的一款新型多功能8位LED显示驱动IC。

接口采用三线SPI方式,用户只需简单修改内部相关的控制或数字RAM,便可很容易地实现多位LED显示。

在性能上PS7219与MAXIM 公司的MAX7219完全兼容,并增加了位闪等功能。

PS7219具有多个级联特性,为大屏幕LED显示提供了方便。

在理论上,只需三根用户I/O口控制线,便可以实现无穷多的LED级联显示。

在实际应用中,已实现了149片PS7219级联,可以控制1192位LED 显示。

2 PS7219特点与引脚说明PS7219的特点:★ 串行接口(16位控制字);★ 8位共阴级LED显示驱动;★ 显示位数1~8,可数字调节;★ 按位进行BCD译码/不译码数字制;★ 16级亮度数字控制;★ 上电LED全熄;★ 提供位闪功能;★ 多个PS7219级联可实现任意多的LED显示;★ 宽24脚双列直插模块封装。

PS7219引脚图如图1所示。

引脚功能说明见表1。

3 PS7219内部结构如图2 所示,PS7219由六部分组成。

图2 PS7219内部组成框图图1 PS7219引脚排列3.1 串行输入缓冲部分主要功能是与外部控制信号接口,将控制命令串行读入,并进行串并转换,供控制器读取。

3.2 控制器是整个IC的核心部分。

它先将输入缓冲部分的控制字读入处理,根据其地址值送到相应的控制RAM或数字RAM,同时将数据送入串行同步输出部分,以便在下一个控制字输入周期,将其串行输出。

3.3 控制RAM数据RAM这两部分一起控制LED译码显示部分,实现不同功能及字符的显示。

控制RAM包括:空操作寄存器,译码模式控制寄存器,亮度控制寄存器,掉电控制寄存器,闪烁控制寄存器,测试控制寄存器和扫描界线寄存器。

数据RAM包括:数据1—8寄存器。

3.4 LED译码显示根据控制RAM和数据RAM的不同值,来实现相应的显示功能。

大尺寸LED数码显示驱动电路设计与应用

大尺寸LED数码显示驱动电路设计与应用

大尺寸LED数码显示驱动电路设计与应用Maxim公司的MAX7219芯片用于动态扫描显示驱动,芯片内有可存储显示信息的8x8静态RAM、动态扫描电路以及段、位驱动器。

它与通用微处理器有3根串行线相连,最多可驱动8个共阴数码管或64个发光二极管。

采用MAX7219芯片实现LED数码显示,具有电路紧凑、可节省CPU的I/O接口、芯片功能强大、编程简单等优点,得到了广大电路设计者认可。

然而MAX7219的工作电压为5 V,共阴极LED显示驱动,只适用于3.5 V以下电压驱动的LED数码管,限制了其使用范围。

本文提出一种基于MAX7219芯片,具有扩展驱动能力的LED数码显示电路。

主要应用在大尺寸、高亮度LED数码管的显示电路。

1 电路器件功能简介1.1 MAX7219功能简介MAX7219为24引脚芯片,如图1所示。

有+5 V电源和2个GND引脚;DIG 0~DIG 7引脚为8位数字驱动线,输出位选信号;SEG A~SEG G和SEG DP引脚为LED 7段驱动线和小数点线,供给显示器驱动电流;SET引脚外接电阻调整LED显示亮度;DIN(数据输入端)、CLK(时钟输入端)、LOAD(锁存信号)引脚,构成与通用微处理器3线串行线相连,接收的数据和命令格式为16位数据包;DOUT 引脚是串行数据输出端口,用于多片MAX7219级联扩展显示。

图1 MAX7219的引脚分布16位数据采用串行移位接收方式,即单片机将16位二进制数逐位发送到DIN 端。

在CLK上升沿到来前准备就绪,CLK的每个上升沿将一位数据移入MAX7219内移位寄存器,当16位数据移入完毕,在LOAD引脚信号上升沿将16位数据装入MAX7219内的相应位置,在MAX7219内部硬件动态扫描显示控制电路作用下实现动态显示。

对MAX7219的控制操作很方便,其片内具有8个位寄存器和6个控制寄存器。

位寄存器对应LED的具体显示内容,控制寄存器决定LED的工作方式。

MAX7219应用电路

MAX7219应用电路

MAX7219的PROTEUS仿真MAX7219是美国MAXIM(美信)公司生产的串行输入/输出共阴极显示驱动器。

它采用了3线串行接口,传送速率达10M数据,能驱动8位七段数字型LED或条形显示器或64只独立的LED。

MAX7219内置BCD码译码器、多路扫描电路、段和数字驱动器和存储每一位的8*8静态RAM。

能方便的用模拟或数字方法控制段电流的大小,改变显示器的数量;能进入低功耗的关断模式(仅消耗150uA电流,数据保留);能方便地进行级联。

可广泛用于条形图显示、七段显示、工业控制、仪器仪表面板等领域。

而且其最重要的一点是,每个显示位都能个别寻址和刷新,而不需要重写其他的显示位,这使得软件编程十分简单且灵活。

MAX719后缀表示其封装方式和工作温度,如表所示:一. MAX7219的结构和功能1.引脚说明MAX7219的引脚排列如图所示,各引脚功能叙述如下:(1)脚:DIN,串行数据输入。

在CLK的上升沿到来时,数据被移入到内部的16位移位寄存器中。

(2)、(3)、(5)~(8)、(10)、(11)脚:DIG0—DIG7,输入。

8位数字位位选线,从共阴极显示器吸收电流。

(4)、(9)脚:GND,地。

两个引脚必须连接在一起。

(12)脚:LOAD,数据装载输入端。

在LOAD上升沿,移位寄存器接受的数据被锁存。

(13)脚:CLK,时钟输入端,最高时钟频率10MHz。

在CLK的上升沿,数据被移入到内部的16位移位寄存器中。

在CLK的下降沿,数据从DOUT脚输出。

(14)~(15)、(20)~(23)脚:输出。

七段驱动器和小数点驱动器。

它供给显示器电流。

(18)脚:ISET,电流调节端。

通过一个电阻和VCC相连,来调节最大段电流。

(19)脚:VCC。

电源输入端。

(24)脚:DOUT。

串行数据输出。

输入到DIN的数据在16.5各时钟周期后,在DOUT端有效。

该脚常用于几个MAX7219的级联。

2.串行数据传送的说明MAX7219采用串行寻址方式,在传送的串行数据中包含内部RAM的地址。

MAX7219工作原理简介

MAX7219工作原理简介

MAX7219工作原理简介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个数字寄存器由一个片内8×8双端口SRAM实现。

它们可直接寻址,因此可对单个数进行更新并且通常只要 V+超过2V数据就可保留下去。

除8个数位寄存器之外,还有无操作、译码方式、亮度调整、扫描位数、睡眠模式和显示器测试6个控制寄存器。

无操作寄存器用于多片MAX7219级联,在不改变显示或不影响任意控制寄存器条件下,它允许数据从DIN传送到DOUT。

MAX7219驱动单个8X8点阵LED模块

MAX7219驱动单个8X8点阵LED模块

MAX7219驱动单个88点阵LED模块模块介绍MAX7219 是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。

其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。

只有一个外部寄存器用来设置各个LED的段电流。

一个方便的四线串行接口可以联接通用的微处理器。

每个数据可以寻址在更新时不需要改写所有的显示。

MAX7219同样允许用户对每一个数据选择编码或者不编码。

整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。

只需要3个IO口即可驱动1个点阵!点阵显示时无闪烁!支持级联!模块参数:1.单个模块可以驱动一个8*8共阴点阵2.模块工作电压:5V3.模块尺寸:长3.2厘米X宽3.2厘米X高1.3厘米4.带4个固定螺丝孔,孔径3mm5.模块带输入输出接口,支持多个模块级联接线说明:1.模块左边为输入端口,右边为输出端口。

2.控制单个模块时,只需要将输入端口接到CPU3.多个模块级联时,第1个模块的输入端接CPU,输出端接第2个模块的输入端,第2个模块的输出端接第3个模块的输入端,以此类推...器件列表◆Keywish Arduino Uno R3 主板*1◆USB 接口线*2◆MAX7219显示驱动器*1◆8位数字的7段数字LED显示*1◆跳线*4接线Arduino MAX7219显示驱动器VCC VCCGND GND5 CLK6 CS7 DIN程序#include "LedControl.h"int DIN =7;int CS =6;int CLK =5;byte e[8]={0x7C,0x7C,0x60,0x7C,0x7C,0x60,0x7C,0x7C};byte d[8]={0x78,0x7C,0x66,0x66,0x66,0x66,0x7C,0x78};byte u[8]={0x66,0x66,0x66,0x66,0x66,0x66,0x7E,0x7E};byte c[8]={0x7E,0x7E,0x60,0x60,0x60,0x60,0x7E,0x7E};byte eight[8]={0x7E,0x7E,0x66,0x7E,0x7E,0x66,0x7E,0x7E};byte s[8]={0x7E,0x7C,0x60,0x7C,0x3E,0x06,0x3E,0x7E};byte dot[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18};byte o[8]={0x7E,0x7E,0x66,0x66,0x66,0x66,0x7E,0x7E};byte m[8]={0xE7,0xFF,0xFF,0xDB,0xDB,0xDB,0xC3,0xC3};LedControl lc=LedControl(DIN,CLK,CS,0);void setup(){lc.shutdown(0,false);//The MAX72XX is in power-saving mode on startup lc.setIntensity(0,15);// Set the brightness to maximum valuelc.clearDisplay(0);// and clear the display}void loop(){byte smile[8]={0x3C,0x42,0xA5,0x81,0xA5,0x99,0x42,0x3C};byte neutral[8]={0x3C,0x42,0xA5,0x81,0xBD,0x81,0x42,0x3C};byte frown[8]={0x3C,0x42,0xA5,0x81,0x99,0xA5,0x42,0x3C};printByte(smile);delay(1000);printByte(neutral);delay(1000);printByte(frown);delay(1000);printEduc8s();lc.clearDisplay(0);delay(1000);}void printEduc8s(){printByte(e);delay(1000);printByte(d);delay(1000);printByte(u);delay(1000);printByte(c);delay(1000);printByte(eight);delay(1000);printByte(s);delay(1000);printByte(dot);delay(1000);printByte(c);delay(1000);printByte(o);delay(1000);printByte(m);delay(1000);}void printByte(byte character []) {int i =0;for(i=0;i<8;i++){lc.setRow(0,i,character[i]); }}实验结果。

max7219使用详解介绍

max7219使用详解介绍
该寄存器的主要功能有两个: 1 选择解码模式,MAX7219 有两种解码模式,Code B 和 No decode。 2 选择解码个数(戒范围) (MAX7219 最多可以解码 8 个数码管) 该寄存器所在地址为 0x9(D15~D12 设置为 0) 当我们向该地址写数据 0x00,则选择 No decode 解码模式,并丏解码数码管 7 到 0。此时,Code B 解码模式
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;
这个图由三部分组成:
第一部分:是要显示的数据 第二部分:是要发送的数据 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 NhomakorabeaF 亮,

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数据时,将呈现消隐状态。

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

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的串行数据标记为D15~D0,其中低8位表示显示数据本身,最高的4位D15~D12未使用,寻址内部寄存器的地址位占用D11~D8,选择14个内部寄存器,见表1。

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

其中的8个数字寄存器由一个片内8×8双端口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个数字“0~9”和5个字符“-,E,H,L,P”,译码器仅针对数字寄存器中数据的低四位D3~D0,而不考虑D6~D4位。

设置小数点(SEG DP)的D7与编码方式,点亮时,D7置"1",熄灭时,D7置“0”即可。

表2是BCD码的字符编码。

当选择不译码方式时,数据位D7~D0对应于LED的段线如图3所示。

显示器的亮度可以通过模拟与数字两种方式进行调整,模拟方式是在Vcc与ISET引脚之间外接一个电阻RSET,这时段驱动器提供的峰值电流约为ISET引脚电流的100倍,调整该电阻的大小即可改变显示器亮度,电阻的最小值为9.53KW,此时提供的段驱动电流典型值为40mA。

亮度的数字化调整是使用亮度调整寄存器,此时芯片内启用一个脉宽调制器,它受亮度调整寄存器低半字节D3~D0的控制,产生16种占空比不同的输出脉冲,形成16级亮度调整,此时以RSET设定峰值电流。

寄存器数据为×0H时,脉冲占空比为1/32,表示MAX7219驱动的段点亮时间仅为整周期的1/32,这是最暗的情况。

数据从×0H变化到×FH,表示脉冲占空比由1/32变化到31/32 (注意这里的分子只有奇数),此时扫描消隐期按比例递减,亮度线性递增。

因此寄存器数据为×FH时最亮,消隐期仅为1/32。

图4 MAX7219应用连接图
MAX7219 有驱动8个数码管的能力,但实际应用中不一定恰好是8个。

扫描位数寄存器用于设置显示器数码管的实际扫描个数,由扫描位数寄存器的D2~D0设定,其数据为×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进行单独控制、刷新,不需重写整个显示器寄存器,通信方式采用串行数据方式,可与任何一种单片机方便接口。

Motorola MC68HC908系列单片机,多采用32.768KHz外部晶体,或内部集成了晶振电路,功能强大,抗干扰能力强。

它们构成的显示系统可应用在条状图形显示器、7段数码管显示器、工业控制器显示模板、面板表与LED矩阵显示器等众多场合。

■。

相关文档
最新文档