新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 虚拟I2C总线串行显示电路介绍

虚拟I2C总线串行显示电路介绍

作者:时间:2013-05-21来源:网络收藏
本文主要介绍了,其中包括SAA1064引脚功能介绍、硬件设计、片内可编程功能以及程序举例。

  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:数据端、时钟端;

虚拟I2C总线串行显示电路介绍

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

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

  2.硬件设计

虚拟I2C总线串行显示电路介绍

3.片内可编程功能
虚拟I2C总线串行显示电路介绍

  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。

  ⑶ 写数据操作格式
虚拟I2C总线串行显示电路介绍

  红色部分由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 ;

DIY机械键盘相关社区:机械键盘DIY




评论


相关推荐

技术专区

关闭