当前位置:首页 > 模拟 > 模拟
[导读]为了简化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 显示屏。

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

从ChatGPT到AI手机、AI PC,AI正在各种不同型态的设备上落地。而作为几百亿台移动设备和嵌入式设备的计算核心的供应商,Arm也敏锐捕捉到了这一新的重大机遇,持续在全线的新产品中增加AI的功能和特性,助力实现设备...

关键字: ARM Cortex-X925 Immortalis G925 终端计算子系统 CSS for Client

业内消息,近日Arm公司官宣推出全新的基于Arm v9架构的CPU、GPU IP,以及设计软件工具,以帮助智能手机更好地处理人工智能(AI)任务,并加速AI应用。

关键字: ARM 芯片IP 黑鹰 超大核 Cortex-A725

在日新月异的多媒体时代,便携式电子产品,如智能电话、PDA、MP3、PMP、DSC、DVC、NB等多媒体产品,对声音质量的要求越来越严格。

关键字: 电子产品 智能电话 PDA

最新消息,昨天北京开源芯片研究院官宣 ,2024 年 5 月 21 日开芯院通过线上会议的方式,向会员单位正式发布了全球首个开源大规模片上互联网络(Network on Chip,NoC)IP—— 研发代号“温榆河”。这...

关键字: ARM 垄断 开源 片上互联网络 温榆河

据《日经新闻》报道,软银旗下英国芯片制造商Arm计划到2025年销售AI芯片。该公司专门成立一个AI芯片部门,并将在2025年春季之前制造出原型产品,并于秋季开始大规模生产。

关键字: 软银 AGI ARM AI芯片

业内消息,近日日本软件银行集团(SoftBank Group)旗下安谋国际科技公司(Arm)计划研发人工智能(AI)芯片,先成立一个AI芯片部门,目标是明年春季建立AI芯片原型产品,然后将量产工作交由代工厂制造,预估20...

关键字: ARM AI芯片

Arm CPU正在从根本上推动AI变革,并造福地球。Arm架构是未来AI计算的基石。​

关键字: ARM AI

今天,小编将在这篇文章中为大家带来led显示屏的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: LED 显示屏 LED显示屏

近日,Arm推出了Arm® Ethos™-U85神经网络处理器(NPU)和Arm Corstone™-320物联网参考设计平台,旨在满足海量的数据处理和大规模计算,加速推进边缘AI的发展进程。

关键字: ARM

为了赶超云计算市场上的竞争对手,谷歌正试图通过定制的Arm服务器芯片降低云计算服务成本。

关键字: 谷歌 ARM 定制芯片
关闭
关闭