当前位置:首页 > 电源 > 数字电源
[导读]为了简化L ED 显示屏的驱动电路,节约单片机的端口资源,对常见的L ED 显示屏驱动电路进行了改进,全部采用通用的串入并出移位寄存器作为选通驱动,系统全部采用串行数据控制,形成了一种只需4 根信号线的L ED 显示屏

为了简化L ED 显示屏的驱动电路,节约单片机的端口资源,对常见的L ED 显示屏驱动电路进行了改进,全部采用通用的串入并出移位寄存器作为选通驱动,系统全部采用串行数据控制,形成了一种只需4 根信号线的L ED 显示屏驱动电路解决方案,仅需占用单片机的4个I/ O 端口发送串行数据就可以实现正常的显示功能,文中给出相应的程序代码。
 

  1 、引言

  L ED 显示屏应用十分广泛,是信息传播的有效工具。在某井下矿采设备监测系统中选用了ARM S3C44B0X 32 位单片机作为CPU ,根据应用要求,监测系统的显示部分使用16 行的单色L ED 显示屏实时显示监测数据。由于系统外设较多,端口资源十分紧张,针对这种情况开发了一种四线驱动的显示屏电路设计方案,很好地解决了这个问题。

  2、 常见的驱动电路设计及改进

  在常见的显示驱动电路设计中,列控制一般采用串入并带锁存的移位寄存器如74HC595 ,将数据打入锁存器中,使寄存器各引脚呈现与锁存器相同的状态来选中需要点亮的列。行控制一般采用译码器电路如4/ 16 译码器74HC154 ,控制信号经译码后选中需要点亮的行。这种硬件结构设计需要较多的控制信号线,占用单片机较多端口从而造成端口资源的浪费。

  在改进的L ED 显示屏驱动电路设计方案中,行、列控制均采用串入并出带锁存的移位寄存器,控制信号的产生均由S3C44B0X的I/ O 口发送串行数据来实现,这样仅需要4 根信号线L ED 显示屏就能正常工作。

  3 、显示驱动电路设计

  3. 1 电路结构

  LED显示屏由多个LED点阵模块构成。显示电路采用1/ 16 扫描方式,显示点阵的一行对应一路行选通信号,各行的同一列共用一个列选通信号。

  当需要在L ED 显示屏上显示图文内容时,只要在行、列显示数据控制下让显示屏上相应的发光器件点亮就可以了,一次点亮一行,依次点亮各行,只要速度足够快就会产生连续的视觉感受。

  行驱动电路采用HEF4094 带锁存功能的串入并出移位寄存器。如图1 ,引脚D 为串行数据输入端,引脚CP 为移位时钟脉冲输入端,STR 为输出锁存器打入信号输入端,OE 为输出使能信号输入端,当其为高时锁存器的输出才开放,芯片输出端为00~07 ,OS、OS′作为级联输出,见参考文献。

  列驱动电路采用74HC595 带锁存功能的串入并出移位寄存器。如图1 ,引脚SER 为串行数据输入端,引脚SRCL K 为移位时钟脉冲输入端,引脚RCL K 为输出锁存器打入信号输入端, EO为输出使能信号输入端,只有当其为低时锁存器的输出才开放,引脚SRCLR 为移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为零,芯片输出端为QA~QH ,QH′作为级联输出,见参考文献。

 由I/ O 口送出的控制信号经总线驱动器74HC245 分别接到行、列驱动电路上。显示电路结构如图2 所示。

  该L ED 显示屏为16 行×64 列点阵,共需两片HEF4094 级联以及8 片74HC595 级联。

  由HEF4094 组成的行驱动器如图1 所示。

  由两片HEF4094 组成16 行的驱动,图中只画出第一片。第一片HEF4094 的D 端连接I/ O 口输出的串行行显示数据,OS 端连接下一片的D 端。

  两片相应的CP 并联,作为统一的串行数据移位信号。在各控制信号输入端中, STR 端(高电平有效) 、EO(高电平有效) 锁存输出使能端接直流电源正极。

  由74HC595 组成的列驱动器如图1 所示。

  由8 片74HC595 组成64 列的驱动,图中只画出第一片。第一片595 的SER 端连接I/ O 口输出的串行列显示数据,Q’H 端连接下一片的SER 端,各片均采用相同的方法组成8 片的级联,各片相应的SRCL K, SRCLR , RCL K 分别并联,作为统一的串行数据移位信号和输出锁存打入信号。在各控制信号输入端中,SRCLR(低电平有效) 移位寄存器清零输入端接电源正极、OE(低电平有效)锁存输出使能端直接接地。

  图1 中黑箭头所指即为下一片74HC595 或HEF4904 的信号输入端。

  由于行驱动电路同时驱动64 列的L ED 发光器件,按每一L ED 器件电流20 mA 计算,64 个L ED 同时发光时就需要64 ×20 = 1 280 mA 的驱动电流。因此需要用功率管驱动, 如TP122等。

  3. 2 基本显示原理

  采用这种显示驱动电路设计,只需4 个I/ O口分别发送SRCL K、RCL K&CP、SER、D 信号就能实现正常的显示功能,其中74HC595 的RCL K和HEF4094 的CP 共用一根信号线,由同一I/ O口发出控制信号。74HC595 的SRCLR 信号输入端接直流电源正极避免进行清零操作,OE 信号输入端接地使得一旦列显示数据出现在锁存器的同时各输出引脚即呈现出相应的高低电平状态。

  HEF4094 的STR 信号输入端接直流电源正极使得行显示数据出现在片内移位寄存器的同时即被打入锁存器从而避免锁存打入操作,OE 信号输入端接直流电源正极使得一旦行显示数据出现在锁存器的同时各输出引脚即呈现出相应的高低电平状态。因此,需要点亮某一行时,需要执行以下几个步骤:

  (1) 将15 位行显示数据通过D、CP 信号依次送入到两片级联的HEF4094 中,最后一次移位在第三步完成。

  (2) 将64 位列显示数据通过SER、SRCL K信号依次送入到8 片级联的74HC595 中。

  (3) 发出列显示的锁存打入信号RCL K,把列显数据打到各595 的输出引脚上,完成列显示的准备工作,同时由于行移位信号CP 与RCL K共用一根信号线,行显示数据完成最后一次移位,完成行显示准备工作。

  (4) 行列数据都准备完毕,显示屏中被选中的那一行被点亮。

  (5) 延时几毫秒保证每一行有充分的点亮时间然后进行下一行的显示。

  按照以上步骤依次点亮16 行,即可让L ED屏显示需要的图文内容。



      4 、L ED 显示屏的软件设计

      HEF4094 和74HC595 都是串入并出移位寄存器,显然应用串行口驱动,但是S3C44B0X 的串口资源有限,还要用来与上位机进行通信;因此采用将并行的I/ O 口模拟成串行口的方法来解决。

  这样仅需要4 个并行I/ O 口就可以完成显示任务,在程序中使用PORTD0 到PORTD3 这4 个I/ O 口,PORTD 由8 个I/ O 端口组成。

  下面是已经在Hitool For ARM 编译环境中通过的在16 行×64 列点阵L ED 显示屏上显示4个汉字的程序,该程序用C 语言编写,稍做修改就可以用于各种单片机系统。

  首先将要显示的4 个16 ×16 点阵的汉字字模存储在数组zimo[128 ]中。

  主程序代码如下:

  void Send-Char (void)

  {  unsigned short Row-Data = 0 ×8 000 ;int k ;

  for ( k = 0 ; k < 128 ; k + = 8)

  {   ∥调用发送行显示数据子函数

  Send-Row-Data (Row-Data) ;

  int j ;

  ∥依次取0~7 ,8~16 等数组元素

  for ( j = 0 ; j < 8 ; j + + )∥调用发送列显示数据子函数

  Send-Line-Data (zimo [ j + k ]) ;∥对PORTD3 清零置位发送列显示的锁存打入信号

  rPDATD = rPDATD &0 ×fb ;rPDATD = rPDATD | 0 ×04 ;∥延时几毫秒保证该行的点亮时间

  Delay (6) ;∥行选数据移位准备发送下一行数Send-Data m = 1 ;}

  }

  行显示数据发送子程序代码如下:

  void Send-Row-Data (unsigned short y){

  int m = 0 ;∥发送行显示数据

  for ( m = 0 ; m < 16 ; m + + )

  {

  if (y &1)∥如果显示该行则对PORTD0 置1 否则置

  0rPDATD = rPDATD | 0 ×01 ;elserPDATD = rPDATD &0 ×fe ;∥行显示数据移位准备发送下一位

  y >> = 1 ;∥只移位15 次

  if ( m < 15){   ∥对PORTD3 清零置位发送行显示数据移位时钟脉冲

  rPDATD = rPDATD &0 ×f7 ;rPDATD = rPDATD | 0 ×08 ;}

  }

  }

  列显示数据发送子程序代码如下:

  void Send-Line-Data (unsigned char x){

  int i ;∥发送列显示数据

  for ( i = 0 ; i < 8 ; i + + ){

  if ( x &1)∥如果该列需点亮则PORTD1置0 否则置

  1rPDATD = rPDATD &0 ×fd ;elserPDATD = rPDATD | 0 ×02 ;∥列显示数据移位准备发送下一位

  x >> = 1 ;∥对PORTD2 清零置位发送列显示数据移位时钟脉冲

  rPDATD = rPDATD &0 ×fb ;rPDATD = rPDATD | 0 ×04 ;}

  }

  延时子程序代码如下,LoopCount 的数值可根据所选用的单片机时钟频率来设定。

  void Delay (int time){

  int LoopCount = 300 ;

  for ( ; time > 0 ; time22)

  for ( i = 0 ; i < LoopCount ; i + + ) ;

  }

  5、结束语

  这种设计方案大大节省了单片机的端口资源,有效简化了显示屏的电路结构,提高了整个显示系统的可靠性,根据这个设计原理可设计出各种规模的L ED 显示屏。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭