㈠ DIN 为串行数据输入端。当CLK为上升沿时,数据被载入16 b内部移 位寄存器。
㈡ CLK 为串行时钟输入端。其最大工作频率可达10 MHz。 ㈢ LOAD 为片选端,当LOAD为低电平时,芯片接收来自DIN的数据,接收完毕,LOAD回到高电平时,接收的数据将被锁定。
图7 DIN,CLK和LOAD的工作时序。
㈣ DIG0~DIG7 为吸收显示器共阴极电流的位驱动线。其最大值可
达500 mA,关闭状态时,输出+VCC。
㈤ SEGA~SEGG,DP 为驱动显示器7段及小数点的输出电流,一般
为40 mA左右,可软件调整,关闭状态时,接入GND。
㈥ DOUT 为串行数据输出端,通常直接接入下一片MAX7219的DIN
端。
图8 MAX7219 的功能框图
串行输入数据在时钟上升沿时移入内部的16 位移位寄存器, 在装载的上升沿时数据被锁存在每一位或寄存器中。装载信号必须在第16 个时钟上升沿发生时或之后达到高电平, 但要在下一个时钟的上升沿和数据丢失之前到达。串行输入数据通过移位寄存器传输, 在以后数据输出的16. 5 个时钟循环出现,数据在时钟的下降沿记录下来。数据各位记录为D0~D15 (如表2 所列) , D8~D11 为移位寄存器地址, D0~D7 为数据, D12~D15 是无关位。第一位接收到的位是最高位D15。D7 为数据最高有效位,D0 为数据最低有效位。
D15 D14 D13 D12 D11 D10 D9 D8 D7 ~ D0
x x x 表2
串行数据格式(16位) ③ MAX7219 控制字
x 地址 数据 表3 max7219寄存器地址控制字
MAX7219 有14 个可寻址的控制字寄存器(如表3) , 控制字寄存器由芯片的8 ×8 双端口SRAM 识别,SRAM 直接寻址, 这样单一的位能被更改或保留, 条件是电源电压明显大于2V 。控制字寄存器包括译码模式、显示强度、扫描限制(被扫描位的个数) 、关闭模式、显示测试(点亮所有的L ED) 。另外还有一个空操作寄存器, 该寄存器允许数据从DIN 直送DOU T , 在设备串接情况下, 不会改变显示或影响任何控制寄存器。
基于以上优点MAX7219 已用于血氧监护仪的脉搏强度柱状图显示及血氧、脉率的L ED 显示, 节省了许多锁存器、译码器及驱动器,大大提高了仪器显示器部分的集成程度。 在很多嵌入式系统设计中,都要用到LED显示驱动芯片,MAXIM 公司生产的MAX7219串行LED驱动显示
器具有接口简单.占用资源少、控制灵活方便、LED级联扩展便利的优点,从而成为很多开发人员的首选。
图9 max7219驱动数码管显示电路
(4 ) Max232远程通信电路
AT89C52单片机内部的串行接口是全双工的,即它能同时发送和接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。串行口还有接收缓冲作用,即从接收寄存器中读出前一个已收到的字节之前就能开始接收第二字节。
两个串行口数据缓冲器(实际上是两个寄存器)通过特殊功能寄存器SBUF来访问。写入SBUF的数据储存在发送缓冲器,用于串行发送;从SBUF读出的数据来自接收缓冲器。两个缓冲器共用一个地址99H(特殊功能寄存器SBUF的地址)。 ① 串行口控制寄存器
控制串行口的寄存器有两个特殊功能寄存器:即串行口控制寄存器
SCON和电源控制器PCON。
㈠ PCON中的波特率选择位
PCON是一个特殊功能寄存器(如下图所示),没有位寻址功能,字节地址为87H。
其中D7位(SMOD)为波特率选择位。其他均无意义。复位时的SMOD值为0。可用MOV PCON,#80H或MOV 87H,#80H指令使该位置1。当SMOD=1时,在串行口方式1,2或3情况下,波特率提高一倍。
㈡ 串行口控制寄存器SCON
特殊功能寄存器SCON用于定义串行口的操作方式和控制它的某些功能。其字节地址为98H。寄存器中各位内容如下:
D7 D6 D5 D4 D3 D2 D1 D0
SM0
ⅰ SM0,SM1 串行口操作方式选择位,两个选择位对应于四种状态,所以串行口能以四种方式工作,见表4。
ⅱ SM2 允许方式2和3的多机通信使能位,在方式2或3中,若SM2
置为1,且接收到的第9位数据(RB8)为0,则接收中断标志RI不会被激活,在方式1中,若SM2=1,则只有收到有效的停止位时才会激活RI。在方式0中,SM2必须置为0。
ⅲ REN 允许串行接收位。由软件置位或清零,使允许接收或禁止接收。
ⅳ TB8 是在方式2和3中要发送的第9位数据可按需要由软件置位
SM1 SM2 REN TB8 RB8 TI RI