用MCS-51单片机串行口对MAX7219及显示器控制的方法和程序
发布时间:2008/5/27 0:00:00 访问次数:1127
    
    
    介绍max7219的功能,与mcs-51的时序配合及一种新颖的利用mcs-51串行方式0对max7219及显示器控制的方法和程序。
    
    单片机系统通常需要有led对系统的状态进行观测,而很多工业控制用单片机如mcs-51系列本身并无显示接口部分,需要外接显示的译码驱动电路。led数码管显示有动态显示和静态显示两种方式。通常不管采用哪种显示方式,单片机往往都工作于并行i/o或存储器方式。作者在采用mcs-51单片机的控制系统中,利用maxim公司的串行接口8位led显示驱动器max7219构成显示接口电路,仅需使用单片机3个引脚,即可实现对8位led数码管的显示控制和驱动,线路非常简单,控制简单方便。
    
    1 max7219的功能和设置
    
    max7219芯片为maxim公司推出的串行输入/输出共阴极显示驱动器,是用一个芯片实现以往用软件完成的动态显示电路扫描工作的器件。每片可控制显示8个七段led数码管、条形图或64个发光二极管,控制字简单,可与各种微机接口。为24引脚芯片,除与显示器连接外,与微机串行口为3线连接,芯片外部电路仅为一限制峰值段电流的电阻,线路简单,极大地方便了对显示器件的控制。该芯片控制的显示位数多,控制字少,可对全部或个别显示位的数据进行更新。并可方便地进行多个芯片的级联,扩展显示容量。max7219有多种封装形式,如窄式dip封装。
    
    max7219的串行数据格式如表1所示。其中:d12~d15位不用;d8~d11为显示位和各种工作方式的控制寄存器地址位,可选择要显示的位、解码方式、显示亮度、扫描位数、停止方式、显示测试等,其地址分布如表2所示;d0~d7为数据位,其形式与显示出的数字间的关系与解码方式有关。表2中x可为16进制任意值,一般取为0。每组16位数据中,首先接收的为最高有效位,最后接收的为最低有效位。
    
    
    
    解码方式寄存器可设置各位数码管为解码显示方式,或非解码的数据位与显示段直接对应的显示方式。亮度寄存器用于与外部电阻配合控制数码管的显示亮度。扫描限制寄存器控制显示的位数。停机寄存器控制显示器为停机或正常工作状态,停机状态下描振荡器停止工作,消隐所有显示位。显示测试寄存器设置器件为正常工作或测试状态。空操作寄存器用于多个max7219级连。器件上电后所有控制寄存器复位。解码方式寄存器的值为非解码方式,亮度寄存器的值设置为最小,扫描寄存器设置为仅显示1位,停机寄存器处于停机状态,显示消隐。因此max7219必须经过初始化后才可正常工作。
    
    max7219的工作时序如图1所示。数据由din引脚输入,最先输入的为最高位,在clk的上升沿将数据位移入器件内的移位寄存器,load引脚信号的上升沿将最后移入的16位数据锁存入相应的寄存器中,load信号的上升沿必须与clk的上升沿同时,或在其后。从din输入的数据经过16.5个clk脉冲后移到dout引脚上。
    
    
    
    2 mcs-51单片机的串行工作方式
    
    mcs-51单片机串行口有四种发送工作方式,其中方式0每帧共发送8位数,其他工作方式下每帧发送均不为8位数或其倍数。因此只能考虑使用方式0。串行口工作于方式0时,通过rxd(p3.0)引脚发送/接收串行数据,通过txd(p3.1)引脚发送移位时钟脉冲。发送顺序为低位在前高位在后,与max7219的接收顺序相反。从单片机时序上看,只需在发送前将显示数据和地址码的高低位顺序颠倒,利用串行方式0进行发送,每发送两次,就可向max7219输出一个要显示的数据或控制寄存器参数。而在单片机与max7219的时序配合中,时钟脉冲的配合是非常关键的。
    
    
    
    3 单片机与max7219的连接
    
    控制系统单片机与max7219及显示器件的连接如图2所示。单片机的rxd、txd引脚分别接max7219的din、clk,以p3.2控制load引脚。接在电源端和地之间的电容起抗干扰的作用,其值应大于10μf,据作者经验
    
    
    介绍max7219的功能,与mcs-51的时序配合及一种新颖的利用mcs-51串行方式0对max7219及显示器控制的方法和程序。
    
    单片机系统通常需要有led对系统的状态进行观测,而很多工业控制用单片机如mcs-51系列本身并无显示接口部分,需要外接显示的译码驱动电路。led数码管显示有动态显示和静态显示两种方式。通常不管采用哪种显示方式,单片机往往都工作于并行i/o或存储器方式。作者在采用mcs-51单片机的控制系统中,利用maxim公司的串行接口8位led显示驱动器max7219构成显示接口电路,仅需使用单片机3个引脚,即可实现对8位led数码管的显示控制和驱动,线路非常简单,控制简单方便。
    
    1 max7219的功能和设置
    
    max7219芯片为maxim公司推出的串行输入/输出共阴极显示驱动器,是用一个芯片实现以往用软件完成的动态显示电路扫描工作的器件。每片可控制显示8个七段led数码管、条形图或64个发光二极管,控制字简单,可与各种微机接口。为24引脚芯片,除与显示器连接外,与微机串行口为3线连接,芯片外部电路仅为一限制峰值段电流的电阻,线路简单,极大地方便了对显示器件的控制。该芯片控制的显示位数多,控制字少,可对全部或个别显示位的数据进行更新。并可方便地进行多个芯片的级联,扩展显示容量。max7219有多种封装形式,如窄式dip封装。
    
    max7219的串行数据格式如表1所示。其中:d12~d15位不用;d8~d11为显示位和各种工作方式的控制寄存器地址位,可选择要显示的位、解码方式、显示亮度、扫描位数、停止方式、显示测试等,其地址分布如表2所示;d0~d7为数据位,其形式与显示出的数字间的关系与解码方式有关。表2中x可为16进制任意值,一般取为0。每组16位数据中,首先接收的为最高有效位,最后接收的为最低有效位。
    
    
    
    解码方式寄存器可设置各位数码管为解码显示方式,或非解码的数据位与显示段直接对应的显示方式。亮度寄存器用于与外部电阻配合控制数码管的显示亮度。扫描限制寄存器控制显示的位数。停机寄存器控制显示器为停机或正常工作状态,停机状态下描振荡器停止工作,消隐所有显示位。显示测试寄存器设置器件为正常工作或测试状态。空操作寄存器用于多个max7219级连。器件上电后所有控制寄存器复位。解码方式寄存器的值为非解码方式,亮度寄存器的值设置为最小,扫描寄存器设置为仅显示1位,停机寄存器处于停机状态,显示消隐。因此max7219必须经过初始化后才可正常工作。
    
    max7219的工作时序如图1所示。数据由din引脚输入,最先输入的为最高位,在clk的上升沿将数据位移入器件内的移位寄存器,load引脚信号的上升沿将最后移入的16位数据锁存入相应的寄存器中,load信号的上升沿必须与clk的上升沿同时,或在其后。从din输入的数据经过16.5个clk脉冲后移到dout引脚上。
    
    
    
    2 mcs-51单片机的串行工作方式
    
    mcs-51单片机串行口有四种发送工作方式,其中方式0每帧共发送8位数,其他工作方式下每帧发送均不为8位数或其倍数。因此只能考虑使用方式0。串行口工作于方式0时,通过rxd(p3.0)引脚发送/接收串行数据,通过txd(p3.1)引脚发送移位时钟脉冲。发送顺序为低位在前高位在后,与max7219的接收顺序相反。从单片机时序上看,只需在发送前将显示数据和地址码的高低位顺序颠倒,利用串行方式0进行发送,每发送两次,就可向max7219输出一个要显示的数据或控制寄存器参数。而在单片机与max7219的时序配合中,时钟脉冲的配合是非常关键的。
    
    
    
    3 单片机与max7219的连接
    
    控制系统单片机与max7219及显示器件的连接如图2所示。单片机的rxd、txd引脚分别接max7219的din、clk,以p3.2控制load引脚。接在电源端和地之间的电容起抗干扰的作用,其值应大于10μf,据作者经验
上一篇:AD7705在电子秤中的应用
上一篇:单片机与PC机电话远程通信系统