单片机系统中LED显示驱动电路的研究
发布时间:2008/6/3 0:00:00 访问次数:537
史水娥,杨豪强
摘要:本文对比了单片机系统中led显示驱动电路的几种实现方案,着重介绍了led显示驱动芯片max7219 的工作原理和使用方法,最后给出了一个用max7219驱动8位led显示系统的应用实例。
关键词:led 显示驱动;max7219;单片机
近年来,单片机系统以其体积小、功能强、扩展灵活、使用方便等优点,逐渐渗透到各行业的工程实际应用中。而led显示电路就像单片机系统的眼睛,实时地向人们传递着系统工作的各种状态信息和处理结果。因此,高效、方便的led显示驱动电路是构成完善的单片机系统必不可少的元素。常用的led显示驱动电路有并行译码方式、串行—并行转换方式、显示驱动接口芯片方式等。下面分别对这几种方式进行讨论,并给出显示驱动芯片max7219的应用实例。
并行译码显示方式
图1为单片机89c2051输出显示的一个例子,4位bcd码数据从其p1.0~p1.3并行输出,经7段led显示驱动电路cd4511译码后驱动led显示,这样只需向p1.0~p1.3 写入欲显示数字的bcd码,即可显示出相应的数字。这种方式虽然简单,但占用单片机口线较多,资源利用率低,因此不常采用。
图1 并行译码显示方式
串行- 并行转换方式
图2所示为89c2051的串口驱动数码管的电路,其中串口工作在方式0,74ls164是8位串入并出移位寄存器,负责将rxd输出的串行数据转换成并行信号。显然,这种方式显示同样的位数使用单片机的口线大大减少,并且可以让led显示bcd码以外的字符(如a、b、c、d 等),但是,当要显示的位数较多时,仍需占用较多的口线,并且在许多情况下需要串口工作在uart方式,以便进行串行通信,从而限制了这种方式的使用范围。
图2 并行译码显示方式
led显示驱动芯片
随着单片机技术的发展,许多公司都推出了专用led显示驱动芯片,如microchip公司的a y0438、maxim公司的max7219等都是其中的典型代表。下面以max7219为例说明led显示驱动芯片在单片机系统中的应用。
max7219简介
max7219是maxim公司推出的8位led串行显示驱动器,它采用3线串口传送数据,占用资源少且硬件简单,只需一个外部电阻即可方便地调节led的亮度;可灵活地选择显示器的个数( 1~8个, 级联可成倍增加);可进行译码或不译码显示;内含硬件动态扫描控制,可设置低功耗停机方式。
引脚功能和工作原理
max7219采用24脚双列直插式封装,其引脚如图3所示。sega~segg和dp分别为led七段驱动器线和小数点线,供给显示器源电流;dig0~dig7为8位数字驱动线,输出位选信号,从每位led共阴极吸入电流。
图3max7219 引脚功能
din是串行数据输入端。在clk 的上升沿,一位数据被加载到内部16位移位寄存器中,clk最高频率可达10mhz,在输入时钟的每个上升沿均有一位数据由din端移入到内部寄存器中;load用来装载数据,在load的上升沿,16位串行数据被锁存到数据或控制寄存器中,load必须在第16个时钟上升沿的同时或之后、在下一个时钟上升沿之前变高, 否则数据将被丢失。每组数据为16 位二进制数据包,其格式如表1所示。
其中d15~d12位不用,d11~d8位为内部5个控制寄存器和8个led显示数据寄存器的地址,d7~d0位为5个控制寄存器和8个led数码管待显示的数据,因为控制寄存器与显示数据寄存器独立编址,所以可以通过程序对每个寄存器进行操作。一般情况下,程序先送控制命令,后向显示寄存器送数据,每16 位为一组,从高位地址字节最高位开始送,直到低位数据字节最后一位。max7219内部有14个可寻址的控制字寄存器,各寄存器的功能及地址如表2所示。
其中,地址×0h 为空操作寄存器,允许数据从输入到输出直接通过,可用于设备串接。地址×1h~×8h为显示ram区,分别对应dig0~dig7引脚的8 位led显示数据。地址×9h为译码模式寄存器,其8 位二进制数分别控制着8个led显示器的译码模式,逻辑高电平时选择硬件译码(bcd - b码译码), 译码器选择数据寄存器中的低4位(d3~d0)进行bcd- b码译码, ×0h~×9h对应bcd码字符0~9,而×ah~×fh分别对应b码字符-、e、h、l、p及消隐,d4~d6无效,d7单独控制小数点;译码模式寄存器为逻辑低电平时选择软件译码,数据d6~d0分别对应led显示器的a~g段
关键词:led 显示驱动;max7219;单片机
近年来,单片机系统以其体积小、功能强、扩展灵活、使用方便等优点,逐渐渗透到各行业的工程实际应用中。而led显示电路就像单片机系统的眼睛,实时地向人们传递着系统工作的各种状态信息和处理结果。因此,高效、方便的led显示驱动电路是构成完善的单片机系统必不可少的元素。常用的led显示驱动电路有并行译码方式、串行—并行转换方式、显示驱动接口芯片方式等。下面分别对这几种方式进行讨论,并给出显示驱动芯片max7219的应用实例。
并行译码显示方式
图1为单片机89c2051输出显示的一个例子,4位bcd码数据从其p1.0~p1.3并行输出,经7段led显示驱动电路cd4511译码后驱动led显示,这样只需向p1.0~p1.3 写入欲显示数字的bcd码,即可显示出相应的数字。这种方式虽然简单,但占用单片机口线较多,资源利用率低,因此不常采用。
图1 并行译码显示方式
串行- 并行转换方式
图2所示为89c2051的串口驱动数码管的电路,其中串口工作在方式0,74ls164是8位串入并出移位寄存器,负责将rxd输出的串行数据转换成并行信号。显然,这种方式显示同样的位数使用单片机的口线大大减少,并且可以让led显示bcd码以外的字符(如a、b、c、d 等),但是,当要显示的位数较多时,仍需占用较多的口线,并且在许多情况下需要串口工作在uart方式,以便进行串行通信,从而限制了这种方式的使用范围。
图2 并行译码显示方式
led显示驱动芯片
随着单片机技术的发展,许多公司都推出了专用led显示驱动芯片,如microchip公司的a y0438、maxim公司的max7219等都是其中的典型代表。下面以max7219为例说明led显示驱动芯片在单片机系统中的应用。
max7219简介
max7219是maxim公司推出的8位led串行显示驱动器,它采用3线串口传送数据,占用资源少且硬件简单,只需一个外部电阻即可方便地调节led的亮度;可灵活地选择显示器的个数( 1~8个, 级联可成倍增加);可进行译码或不译码显示;内含硬件动态扫描控制,可设置低功耗停机方式。
引脚功能和工作原理
max7219采用24脚双列直插式封装,其引脚如图3所示。sega~segg和dp分别为led七段驱动器线和小数点线,供给显示器源电流;dig0~dig7为8位数字驱动线,输出位选信号,从每位led共阴极吸入电流。
图3max7219 引脚功能
din是串行数据输入端。在clk 的上升沿,一位数据被加载到内部16位移位寄存器中,clk最高频率可达10mhz,在输入时钟的每个上升沿均有一位数据由din端移入到内部寄存器中;load用来装载数据,在load的上升沿,16位串行数据被锁存到数据或控制寄存器中,load必须在第16个时钟上升沿的同时或之后、在下一个时钟上升沿之前变高, 否则数据将被丢失。每组数据为16 位二进制数据包,其格式如表1所示。
其中d15~d12位不用,d11~d8位为内部5个控制寄存器和8个led显示数据寄存器的地址,d7~d0位为5个控制寄存器和8个led数码管待显示的数据,因为控制寄存器与显示数据寄存器独立编址,所以可以通过程序对每个寄存器进行操作。一般情况下,程序先送控制命令,后向显示寄存器送数据,每16 位为一组,从高位地址字节最高位开始送,直到低位数据字节最后一位。max7219内部有14个可寻址的控制字寄存器,各寄存器的功能及地址如表2所示。
其中,地址×0h 为空操作寄存器,允许数据从输入到输出直接通过,可用于设备串接。地址×1h~×8h为显示ram区,分别对应dig0~dig7引脚的8 位led显示数据。地址×9h为译码模式寄存器,其8 位二进制数分别控制着8个led显示器的译码模式,逻辑高电平时选择硬件译码(bcd - b码译码), 译码器选择数据寄存器中的低4位(d3~d0)进行bcd- b码译码, ×0h~×9h对应bcd码字符0~9,而×ah~×fh分别对应b码字符-、e、h、l、p及消隐,d4~d6无效,d7单独控制小数点;译码模式寄存器为逻辑低电平时选择软件译码,数据d6~d0分别对应led显示器的a~g段
史水娥,杨豪强
摘要:本文对比了单片机系统中led显示驱动电路的几种实现方案,着重介绍了led显示驱动芯片max7219 的工作原理和使用方法,最后给出了一个用max7219驱动8位led显示系统的应用实例。
关键词:led 显示驱动;max7219;单片机
近年来,单片机系统以其体积小、功能强、扩展灵活、使用方便等优点,逐渐渗透到各行业的工程实际应用中。而led显示电路就像单片机系统的眼睛,实时地向人们传递着系统工作的各种状态信息和处理结果。因此,高效、方便的led显示驱动电路是构成完善的单片机系统必不可少的元素。常用的led显示驱动电路有并行译码方式、串行—并行转换方式、显示驱动接口芯片方式等。下面分别对这几种方式进行讨论,并给出显示驱动芯片max7219的应用实例。
并行译码显示方式
图1为单片机89c2051输出显示的一个例子,4位bcd码数据从其p1.0~p1.3并行输出,经7段led显示驱动电路cd4511译码后驱动led显示,这样只需向p1.0~p1.3 写入欲显示数字的bcd码,即可显示出相应的数字。这种方式虽然简单,但占用单片机口线较多,资源利用率低,因此不常采用。
图1 并行译码显示方式
串行- 并行转换方式
图2所示为89c2051的串口驱动数码管的电路,其中串口工作在方式0,74ls164是8位串入并出移位寄存器,负责将rxd输出的串行数据转换成并行信号。显然,这种方式显示同样的位数使用单片机的口线大大减少,并且可以让led显示bcd码以外的字符(如a、b、c、d 等),但是,当要显示的位数较多时,仍需占用较多的口线,并且在许多情况下需要串口工作在uart方式,以便进行串行通信,从而限制了这种方式的使用范围。
图2 并行译码显示方式
led显示驱动芯片
随着单片机技术的发展,许多公司都推出了专用led显示驱动芯片,如microchip公司的a y0438、maxim公司的max7219等都是其中的典型代表。下面以max7219为例说明led显示驱动芯片在单片机系统中的应用。
max7219简介
max7219是maxim公司推出的8位led串行显示驱动器,它采用3线串口传送数据,占用资源少且硬件简单,只需一个外部电阻即可方便地调节led的亮度;可灵活地选择显示器的个数( 1~8个, 级联可成倍增加);可进行译码或不译码显示;内含硬件动态扫描控制,可设置低功耗停机方式。
引脚功能和工作原理
max7219采用24脚双列直插式封装,其引脚如图3所示。sega~segg和dp分别为led七段驱动器线和小数点线,供给显示器源电流;dig0~dig7为8位数字驱动线,输出位选信号,从每位led共阴极吸入电流。
图3max7219 引脚功能
din是串行数据输入端。在clk 的上升沿,一位数据被加载到内部16位移位寄存器中,clk最高频率可达10mhz,在输入时钟的每个上升沿均有一位数据由din端移入到内部寄存器中;load用来装载数据,在load的上升沿,16位串行数据被锁存到数据或控制寄存器中,load必须在第16个时钟上升沿的同时或之后、在下一个时钟上升沿之前变高, 否则数据将被丢失。每组数据为16 位二进制数据包,其格式如表1所示。
其中d15~d12位不用,d11~d8位为内部5个控制寄存器和8个led显示数据寄存器的地址,d7~d0位为5个控制寄存器和8个led数码管待显示的数据,因为控制寄存器与显示数据寄存器独立编址,所以可以通过程序对每个寄存器进行操作。一般情况下,程序先送控制命令,后向显示寄存器送数据,每16 位为一组,从高位地址字节最高位开始送,直到低位数据字节最后一位。max7219内部有14个可寻址的控制字寄存器,各寄存器的功能及地址如表2所示。
其中,地址×0h 为空操作寄存器,允许数据从输入到输出直接通过,可用于设备串接。地址×1h~×8h为显示ram区,分别对应dig0~dig7引脚的8 位led显示数据。地址×9h为译码模式寄存器,其8 位二进制数分别控制着8个led显示器的译码模式,逻辑高电平时选择硬件译码(bcd - b码译码), 译码器选择数据寄存器中的低4位(d3~d0)进行bcd- b码译码, ×0h~×9h对应bcd码字符0~9,而×ah~×fh分别对应b码字符-、e、h、l、p及消隐,d4~d6无效,d7单独控制小数点;译码模式寄存器为逻辑低电平时选择软件译码,数据d6~d0分别对应led显示器的a~g段
关键词:led 显示驱动;max7219;单片机
近年来,单片机系统以其体积小、功能强、扩展灵活、使用方便等优点,逐渐渗透到各行业的工程实际应用中。而led显示电路就像单片机系统的眼睛,实时地向人们传递着系统工作的各种状态信息和处理结果。因此,高效、方便的led显示驱动电路是构成完善的单片机系统必不可少的元素。常用的led显示驱动电路有并行译码方式、串行—并行转换方式、显示驱动接口芯片方式等。下面分别对这几种方式进行讨论,并给出显示驱动芯片max7219的应用实例。
并行译码显示方式
图1为单片机89c2051输出显示的一个例子,4位bcd码数据从其p1.0~p1.3并行输出,经7段led显示驱动电路cd4511译码后驱动led显示,这样只需向p1.0~p1.3 写入欲显示数字的bcd码,即可显示出相应的数字。这种方式虽然简单,但占用单片机口线较多,资源利用率低,因此不常采用。
图1 并行译码显示方式
串行- 并行转换方式
图2所示为89c2051的串口驱动数码管的电路,其中串口工作在方式0,74ls164是8位串入并出移位寄存器,负责将rxd输出的串行数据转换成并行信号。显然,这种方式显示同样的位数使用单片机的口线大大减少,并且可以让led显示bcd码以外的字符(如a、b、c、d 等),但是,当要显示的位数较多时,仍需占用较多的口线,并且在许多情况下需要串口工作在uart方式,以便进行串行通信,从而限制了这种方式的使用范围。
图2 并行译码显示方式
led显示驱动芯片
随着单片机技术的发展,许多公司都推出了专用led显示驱动芯片,如microchip公司的a y0438、maxim公司的max7219等都是其中的典型代表。下面以max7219为例说明led显示驱动芯片在单片机系统中的应用。
max7219简介
max7219是maxim公司推出的8位led串行显示驱动器,它采用3线串口传送数据,占用资源少且硬件简单,只需一个外部电阻即可方便地调节led的亮度;可灵活地选择显示器的个数( 1~8个, 级联可成倍增加);可进行译码或不译码显示;内含硬件动态扫描控制,可设置低功耗停机方式。
引脚功能和工作原理
max7219采用24脚双列直插式封装,其引脚如图3所示。sega~segg和dp分别为led七段驱动器线和小数点线,供给显示器源电流;dig0~dig7为8位数字驱动线,输出位选信号,从每位led共阴极吸入电流。
图3max7219 引脚功能
din是串行数据输入端。在clk 的上升沿,一位数据被加载到内部16位移位寄存器中,clk最高频率可达10mhz,在输入时钟的每个上升沿均有一位数据由din端移入到内部寄存器中;load用来装载数据,在load的上升沿,16位串行数据被锁存到数据或控制寄存器中,load必须在第16个时钟上升沿的同时或之后、在下一个时钟上升沿之前变高, 否则数据将被丢失。每组数据为16 位二进制数据包,其格式如表1所示。
其中d15~d12位不用,d11~d8位为内部5个控制寄存器和8个led显示数据寄存器的地址,d7~d0位为5个控制寄存器和8个led数码管待显示的数据,因为控制寄存器与显示数据寄存器独立编址,所以可以通过程序对每个寄存器进行操作。一般情况下,程序先送控制命令,后向显示寄存器送数据,每16 位为一组,从高位地址字节最高位开始送,直到低位数据字节最后一位。max7219内部有14个可寻址的控制字寄存器,各寄存器的功能及地址如表2所示。
其中,地址×0h 为空操作寄存器,允许数据从输入到输出直接通过,可用于设备串接。地址×1h~×8h为显示ram区,分别对应dig0~dig7引脚的8 位led显示数据。地址×9h为译码模式寄存器,其8 位二进制数分别控制着8个led显示器的译码模式,逻辑高电平时选择硬件译码(bcd - b码译码), 译码器选择数据寄存器中的低4位(d3~d0)进行bcd- b码译码, ×0h~×9h对应bcd码字符0~9,而×ah~×fh分别对应b码字符-、e、h、l、p及消隐,d4~d6无效,d7单独控制小数点;译码模式寄存器为逻辑低电平时选择软件译码,数据d6~d0分别对应led显示器的a~g段