让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签:
摘要: 介绍MAX7219的功能,与MCS-51的时序配合及一种新颖的利用MCS-51串行方式0对MAX7219及显示器控制的方法和程序。 单片机系统通常需要有LED对系统的状态进行观测,而很多工业控制用单片机如MCS-51系列本身并无显示接口部分,需要外接显示的译码驱动电路。LED数码管显示有动态显
解码方式寄存器可设置各位数码管为解码显示方式,或非解码的数据位与显示段直接对应的显示方式。亮度寄存器用于与外部电阻配合控制数码管的显示亮度。扫描限制寄存器控制显示的位数。停机寄存器控制 显示器为停机或正常工作状态,停机状态下描振荡器停止工作,消隐所有显示位。显示测试寄存器设置器件为正常工作或测试状态。空操作寄存器用于多个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,据作者经验,在(10~100)μF间即可,太大作用并不明显。由于MAX7219是在脉冲信号控制下工作的,抗干扰非常关键,在线路上,MAX7219应尽量与显示器件相靠近,以减少外部的干扰。
4 控制程序设计
本系统中单片机采用中断方式对MAX7219进行控制,传送16位数据的地址位和数据位。在主程序中,包括串行方式的设置、显示缓冲单元和各控制寄存器的地址码及数据单元的分配、对MAX7219的初始化等。以下程序中,显示缓冲区为RAM的30H~37H单元,控制寄存器地址码及数据单元为40H~47H单元。要显示的数据是程
序执行的运算结果,以BCD码数形式存放在显示缓冲单元的数据字节中,用转换子程序BSHIFT倒序后存回原处。
单片机串行发送数据的启动在主程序中进行,每发送两个字节后,在中断子程序中控制使MAX7219的LOAD引脚产生正跳变,把数据锁存入相应的寄存器中。该中断
子程序既可发送一个16位数据,也可连续发送多个,非常方便。由于MAX7219易受干扰影响,因此在程序执行过程中应经常对显示进行更新。主程序及发送中断子程序、数据格式转换子程序如下。
;主程序
……
;把数据格式转换为7219的方式
MOV R1,#31H
MOV R5,#8
LCALL BSHIFT;把8位数均转换为7219方式
;初始化7219
MOV R2,#8
MOV R0,#40H
SETB;奇偶字节发送判断标志 CLR P3.2
MOV A,@R0
MOV SBUF,A;发送40H起内容,初始化7219
……
;发送8个要显示的数据
MOV R2,#8+8;8个数据共16字节
MOV R0,#30H;30H为数据缓冲区首址
SETB P3.2;准备7219的LOAD 电平 MOV A,@R0
MOV SBUF,A;开始发送数据
……
;对7219的串行发送中断子程序
STINT1:
CLR TI CPL F0
JNB F0,ST13
SETB P3.2;发完16位后产生 LOAD脉冲
CLR P3.2
ST13:CJNE R2,#0,STI1;判断是否发送完
SJMP STI2
STI1:DEC R2;没送完
INC R0;地址偏移
MOV A,@R0
MOV SBUF,A;发下一字节
STI2:RETI
;BCD码转换为7219数据形式子程序,转换数据及结果由R1间址
BSHIFT:MOV A,@R1
ADD A,#6
MOVC A,@A+PC
MOV@R1,A
INC R1
INC R1
DJNZ R5,BSHIFT
RET
DB 0,80H,40H,0C0H,20H,0A0H,60H, 0E0H,10H,90H
参考文献
1 MAXIM公司,MAXIM1998产品资料全集
2[美]Intel公司,硕良士等译,常用单片微计算机手册,上海科学普及出版社,1989
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |