论文部分内容阅读
【摘 要】 本系统主要以单片机为核心,LED点阵显示屏为主体,74HC595作为点阵的列驱动,74HC164作为点阵的行驱动,控制点阵的亮灭,在显示屏上显示稳定的汉字、图案等。
【关键词】 单片机 点阵 LED显示
引言
单片机自问世以来,已成为一种重要的控制工具,广泛应用于各种控制和检测领域,给人们生活带来了很多方便,单片机原理也成为高校电子类专业的一门重要专业基础课。在单片机教学中如何培养和提高学生的实践动手能力和创新能力是我们重要的出发点。
Led点阵显示屏是单片机教学中一个重要器件,它具有亮度高、寿命长、功能消耗小,驱动简单和可观看距离远等优点,现在已经成为最主要的信息传播媒体工具。主要应用于商场信息显示、证券交易显示、广告牌、大型比赛记录并显示信息、道路交通信息显示等领域。因此我们结合教学设计了这款基于单片机制作的简易LED显示屏。
1. 硬件电路设计
系统板的的主体由4 个8*8 共阳点阵组成一个16*16 点阵,点阵屏可以拆装,数据接口采用可拼接方式,连接性能非常好,方便扩展。可根据需要由多个单板,拼接成32*16、48*16、64*16等点阵。点阵屏的驱动部份由74HC595 和74HC164 组成,74HC595 负责列扫描数据,74HC164 负责行扫描数据。
系统总体框图如下:
1.1点阵屏的设计
LED显示屏有各种不同大小,颜色有单色、双色和三基色屏,可设计图形、图像动态显示效果。LED 点阵有4*4、4*8、5*7、5*8、8*8、16*16、24*24、40*40 等多种,很多大屏幕都是由8*8 来组成的,比如256*128 像素的一块大屏幕,由每行32 个共16 行即512 个8*8 点阵组成。点阵屏分为共阳和共阴两种,本系统选用共阳型,使用4 个8*8 来组成16*16 点阵屏,并通过多块拼接可组成32*16、48*16,64*16等点阵屏。
点阵的显示控制有静态显示和动态显示两种。对于静态显示方式所需的译码驱动装置很多,引线多而复杂,且成本高,因此采用动态显示方案。动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动电路。动态显示可以避免静态显示出现的问题,但设计上必须保证驱动电路易实现,而且要求显示的汉字图案稳定,不能有闪烁现象。
1.2行驱动电路设计
行驱动电路由2个移位寄存器74HC164 组成,74HC164是串入并出的8位移位寄存器,每当CP端有上升沿脉冲时,AB输入数据。输入A、B 在SCK 时钟脉冲作用下移入寄存器。A、B 是与的输入,电路将其合并做一个输入,移位寄存器的最后一位输出Qh 接入下一个74HC164 的输入AB,组成16 位移位寄存器,位的输出经过三极管放大电流加到点阵共阳端,即做为点阵的行控制。
1.3列驱动电路设计
列驱动电路由74HC595组成,它是一款具有一个8位串入并出移位寄存器和一个8位锁存器,三态输出功能的驱动芯片。而且移位寄存器和锁存器是各自独立控制的,可以在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的。数据在SHCP的上升沿输入,在STCP的上升沿进入到存储寄存器中去。移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7’),和一个异步的低电平复位(MR),存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
2. 系统软件设计
本系统设计的主要功能是向显示屏提供显示数据,并提供各种控制信号,按要求显示不同的内容和不同的效果。软件根据分层设计的原理分成两大层,上层为系统应用程序,底层软件为显示驱动程序,系统应用程序由主程序来实现,完成系统初始化,显示效果处理等,可实现图形和汉字显示有静止、左滚屏、右滚屏、卷帘出、卷帘入等显示方式。显示驱动程序负责提供显示数据,产生行列扫描及其他控制信号,配合LED显示屏完成扫描显示工作。
2.1主程序
主程序首先是对系统初始化,然后依次实现图形和汉字显示有静止、左滚屏、右滚屏、卷帘出、卷帘入等显示方式。由于显示屏可以接收上一个显示模块传输下来的数据信息,并将这些信息不经任何变化的传递给下一级显示模块中,所以单片机显示屏可以显示很多不同的内容,只要事先将我们想要显示的内容生成字库,用这些字库代码覆盖原来的代码就可以显示想要的内容。
2.2显示驱动程序
显示驱动程序负责提供显示数据,产生行列扫描及其他控制信号,配合LED显示屏完成扫描显示工作。点阵的各行的同一列共用一个列驱动器,数据通常存储在单片机的存储器中,按8位一个字节的形式存放。显示驱动程序查询当前燃亮的是哪行,然后从缓冲区内读取下一行的显示数据,并通过串口发送给移位寄存器,在更改行显示时可能出现拖尾现象,为了避免这种现象,要先将显示屏关闭在驱动程序,等到显示数据送入输出锁存器并锁存时,在输出新的行,这时将显示屏打开。
3. 点阵显示在设计与使用中可能存在的问题
3.1由于要对显示屏上数以万计的像素进行控制,并且随着显示屏面积的增大,电路结构也非常庞大,因此系统的模块化设计非常主要。
3.2为了在显示屏上显示动画,视频图像等信息,显示系統必须用30帧/秒以上的速度来更新显示动画,这就要求系统有非常高的处理速度。
3.3程序设计是要将图案和汉字交叉显示,必须要先将显示屏清0或全部点亮,否则会出现乱码。
结论
本系统设计结构简单,易于拼接扩展,成本低廉且应用广泛。并且通过本系统的设计和制作,可以培养学生的工程实践能力,提高学生的动手能力,加深了对单片机知识的理解,取得了不错教学效果。
参考文献:
[1]郭天祥.新概念51单片机C语言教程.编程技术.2009,(1):8-12.
[2]李叶紫,王喜斌,胡辉,孙东辉.MCS-51单片机应用教程.2004,(3):12-13.
[3]搂然苗,李兴飞.51系列单片机设计实例.2000.
[4]周杭慈.单片机程序设计基础.2003.
(作者单位:吉林工商学院 信息工程分院)
【关键词】 单片机 点阵 LED显示
引言
单片机自问世以来,已成为一种重要的控制工具,广泛应用于各种控制和检测领域,给人们生活带来了很多方便,单片机原理也成为高校电子类专业的一门重要专业基础课。在单片机教学中如何培养和提高学生的实践动手能力和创新能力是我们重要的出发点。
Led点阵显示屏是单片机教学中一个重要器件,它具有亮度高、寿命长、功能消耗小,驱动简单和可观看距离远等优点,现在已经成为最主要的信息传播媒体工具。主要应用于商场信息显示、证券交易显示、广告牌、大型比赛记录并显示信息、道路交通信息显示等领域。因此我们结合教学设计了这款基于单片机制作的简易LED显示屏。
1. 硬件电路设计
系统板的的主体由4 个8*8 共阳点阵组成一个16*16 点阵,点阵屏可以拆装,数据接口采用可拼接方式,连接性能非常好,方便扩展。可根据需要由多个单板,拼接成32*16、48*16、64*16等点阵。点阵屏的驱动部份由74HC595 和74HC164 组成,74HC595 负责列扫描数据,74HC164 负责行扫描数据。
系统总体框图如下:
1.1点阵屏的设计
LED显示屏有各种不同大小,颜色有单色、双色和三基色屏,可设计图形、图像动态显示效果。LED 点阵有4*4、4*8、5*7、5*8、8*8、16*16、24*24、40*40 等多种,很多大屏幕都是由8*8 来组成的,比如256*128 像素的一块大屏幕,由每行32 个共16 行即512 个8*8 点阵组成。点阵屏分为共阳和共阴两种,本系统选用共阳型,使用4 个8*8 来组成16*16 点阵屏,并通过多块拼接可组成32*16、48*16,64*16等点阵屏。
点阵的显示控制有静态显示和动态显示两种。对于静态显示方式所需的译码驱动装置很多,引线多而复杂,且成本高,因此采用动态显示方案。动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动电路。动态显示可以避免静态显示出现的问题,但设计上必须保证驱动电路易实现,而且要求显示的汉字图案稳定,不能有闪烁现象。
1.2行驱动电路设计
行驱动电路由2个移位寄存器74HC164 组成,74HC164是串入并出的8位移位寄存器,每当CP端有上升沿脉冲时,AB输入数据。输入A、B 在SCK 时钟脉冲作用下移入寄存器。A、B 是与的输入,电路将其合并做一个输入,移位寄存器的最后一位输出Qh 接入下一个74HC164 的输入AB,组成16 位移位寄存器,位的输出经过三极管放大电流加到点阵共阳端,即做为点阵的行控制。
1.3列驱动电路设计
列驱动电路由74HC595组成,它是一款具有一个8位串入并出移位寄存器和一个8位锁存器,三态输出功能的驱动芯片。而且移位寄存器和锁存器是各自独立控制的,可以在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的。数据在SHCP的上升沿输入,在STCP的上升沿进入到存储寄存器中去。移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7’),和一个异步的低电平复位(MR),存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
2. 系统软件设计
本系统设计的主要功能是向显示屏提供显示数据,并提供各种控制信号,按要求显示不同的内容和不同的效果。软件根据分层设计的原理分成两大层,上层为系统应用程序,底层软件为显示驱动程序,系统应用程序由主程序来实现,完成系统初始化,显示效果处理等,可实现图形和汉字显示有静止、左滚屏、右滚屏、卷帘出、卷帘入等显示方式。显示驱动程序负责提供显示数据,产生行列扫描及其他控制信号,配合LED显示屏完成扫描显示工作。
2.1主程序
主程序首先是对系统初始化,然后依次实现图形和汉字显示有静止、左滚屏、右滚屏、卷帘出、卷帘入等显示方式。由于显示屏可以接收上一个显示模块传输下来的数据信息,并将这些信息不经任何变化的传递给下一级显示模块中,所以单片机显示屏可以显示很多不同的内容,只要事先将我们想要显示的内容生成字库,用这些字库代码覆盖原来的代码就可以显示想要的内容。
2.2显示驱动程序
显示驱动程序负责提供显示数据,产生行列扫描及其他控制信号,配合LED显示屏完成扫描显示工作。点阵的各行的同一列共用一个列驱动器,数据通常存储在单片机的存储器中,按8位一个字节的形式存放。显示驱动程序查询当前燃亮的是哪行,然后从缓冲区内读取下一行的显示数据,并通过串口发送给移位寄存器,在更改行显示时可能出现拖尾现象,为了避免这种现象,要先将显示屏关闭在驱动程序,等到显示数据送入输出锁存器并锁存时,在输出新的行,这时将显示屏打开。
3. 点阵显示在设计与使用中可能存在的问题
3.1由于要对显示屏上数以万计的像素进行控制,并且随着显示屏面积的增大,电路结构也非常庞大,因此系统的模块化设计非常主要。
3.2为了在显示屏上显示动画,视频图像等信息,显示系統必须用30帧/秒以上的速度来更新显示动画,这就要求系统有非常高的处理速度。
3.3程序设计是要将图案和汉字交叉显示,必须要先将显示屏清0或全部点亮,否则会出现乱码。
结论
本系统设计结构简单,易于拼接扩展,成本低廉且应用广泛。并且通过本系统的设计和制作,可以培养学生的工程实践能力,提高学生的动手能力,加深了对单片机知识的理解,取得了不错教学效果。
参考文献:
[1]郭天祥.新概念51单片机C语言教程.编程技术.2009,(1):8-12.
[2]李叶紫,王喜斌,胡辉,孙东辉.MCS-51单片机应用教程.2004,(3):12-13.
[3]搂然苗,李兴飞.51系列单片机设计实例.2000.
[4]周杭慈.单片机程序设计基础.2003.
(作者单位:吉林工商学院 信息工程分院)