新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 详解虚拟I2C总线串行显示电路

详解虚拟I2C总线串行显示电路

作者:时间:2018-08-08来源:网络收藏

本文主要介绍了串行,其中包括SAA1064引脚功能介绍、硬件电路设计、片内可编程功能以及程序举例。

本文引用地址:http://www.eepw.com.cn/article/201808/385783.htm

1.SAA1064引脚功能

① VDD、VEE:电源、接地端。电源4.5~15V;

② P1~P16:段驱动输出端。分为两个8位口:

P1~P8;P9~P16。P8、P16为高位。口锁存器具有反相功能,置1时,端口输出0。

③ MX1、MX2:位码驱动端。静态显示驱动时,一片SAA1064可驱动二位LED数码管;动态显示驱动时,按图9-10连接方式,一片SAA1064可驱动四位LED数码管;

④ SDA、SCL:数据端、时钟端;

⑤ CEXT:时钟振荡器外接电容,典型值2700pF

⑥ ADR:地址引脚端。SAA1064引脚地址A1、A0采用ADR模拟电压比较编址。当ADR引脚电平为0、3VDD/8,5VDD/8、VDD时,相应引脚地址A2、A1、A0 分别为000、001、010、011;

2.硬件电路设计


3.片内可编程功能


CO: 静动态控制,C0=1,动态显示,动态显示时,data1、data2轮流从P8~P1输出,data3、data4轮流从P16~P9输出;

C1: 显示位1、3亮暗选择,C1=1,选择亮;

C2: 显示位2、4亮暗选择,C2=1,选择亮;

C3: 测试位,C3=1,所有段亮;

C4、C5、C6: 驱动电流控制位,C4、C5、C6分别为1时,驱动电流分别为3mA、6mA、12mA;C4、C5、C6全为1时,驱动电流最大,可达21mA。

⑶ 写数据操作格式


红色部分由80C51发送,SAA1064接收;黑色部分由SAA1064发送,80C51接收。

SLAW为写SAA1064寻址字节,

按图所示连接电路:SAA1064(1)SLAW=01110000B;SAA1064(2)SLAW=01110110B。其中 0111(D7~4)为SAA1064器件地址,D3~1为A2A1A0寻址字节,末位D0为R/W;SADR为片内寄存器地址;COM为控制命令。

4.程序设计

例:已知8位显示符(共阴编码)已依次存入内RAM 51H~58H中,试按图9-10编程将其输入SAA1064(1),(2)动态显示,驱动电流为12mA。设VIIC软件包已装入 ROM,VSDA.VSCL.SLA.NUMB.MTD.MRD均已按8.3.2软件包小结中协议定义。

VSAA: MOV MTD,#00H ;置SAA1064控制命令寄存器COM片内子地址

MOV 31H,#01000111B;置控制命令字,动态显示,驱动电流12mA

MOV NUMB,#6 ;置发送数据数:SADR+COM+data1~4=6

SAA1: MOV RO,#51H ;将51H~54H显示符数据移至32H~35H

LCALL MOVB ;

MOV SLA,#01110000B;置SAA1064(1)写寻址字节SLAW

LCALL WRNB ;发送给SAA1064(1)

SAA2: MOV R0,#55H ;将55H~58H显示符数据移至32H~35H

LCALL MOVB ;

MOV SLA,#01110110B;置SAA1064(2)寻址字节SLAW

LCALL WRNB ;发送给SAA1064(2)

RET ;

MOVB: MOV R1,#32H ;显示符数据移至32H~35H子程序

MOVB1:MOV A,@R0 ;读出

MOV @R1,A ;存入

INC RO ;指向下一读出单元

INC R1 ;指向下一存入单元

CJNE R1,#36H,MOVB1 ;判4个数据移完否?未完继续

RET ;



推荐阅读

评论

技术专区

关闭