论文部分内容阅读
摘 要:文章主要介绍了基于THDPJ-3单片机实验箱的16*16点阵显示的硬件电路、取模方式以及软件设计等,以实现汉字、字符、图像等的显示。点阵显示屏结构简单,可控性好,并且易于实现,因此被广泛应用。
关键词:16*16点阵 取模方式 单片机
目前,LED点阵显示屏广泛应用于车站报站器、广场等很多地方,这些显示屏不仅可以显示图形、汉字,还能播放视频,他们是利用发光二极管点阵模块或像素单元组成的平面式显示屏。本文中主要利用单片机显示屏显示出我们所需要的信息。
1、硬件电路设计
通常来说,一个LED点阵显示屏往往是由若干个点阵显示模块拼接成的,而一个16*16的点阵显示屏又是由4个8*8点阵按照一定的连接方式组成的。硬件电路中通过74LS154 4线-16线译码器来控制点阵的列选,而通过单片机的I/O口来直接控制行选。本文中16*16点阵所有的行由单片机的P0和P2口控制,所有的列接到74LS154的输出端,单片机的P1.0~P1.3驱动74LS154,这样就构成了一个完整的电路。
点阵显示屏在显示时采用是动态扫描方式。所谓动态扫描显示就是一列接一列(或一行接一行)地轮流点亮各个发光二极管,使各列(或各行)轮流受控、依次显示且循环往复的显示。针对16*16点阵来说,就是把所有同一行的发光二极管阳极连接在一起,把所有同一列的二极管阴极连接一起,先送出对应第一行发光二极管亮灭的数据,然后选通第一行使其点亮一定的时间段,然后熄灭;再送出第二行数据使相应的二极管被点亮,然后选通第二行使其点亮一段时间,然后熄灭,依次类推,直到将第16行发光二极管点亮后又熄灭,重新点亮第一行,按照上述方法反复循环。如果在很短的时间内依次点亮很多发光二极管,可以看到这些发光二极管好像同时被点亮,感觉到我们所需的文字或图像稳定地显示出来,这就是动态扫描的原理。
2、取模方式
由于有很多提取字模的软件,所以对于实验中要显示的汉字或图形,我们利用提取字模的软件获取,注意获取字模的顺序(横向还是纵向)。假如要显示所需的字符或图形,仍需要动态扫描,一行一行或一列一列的扫描,例如在8*8的点阵上显示数字“2”,如下图1所示,(a)图为数字“2”横向取模的编码,比如由上至下第三行的亮灭为:灭亮灭灭灭灭亮灭(由高位到低位,高电平表示亮,低电平表示灭),与其相对应的二进制码为:01000010B,转换为十六进制为42H。所以按行显示,应加在列上的字模码为0x3c,0x42,0x42,0x30,0x08,0x04,0x02,0x7e。
本文中采用横向取模方式进行取模,结构从上到下,从左到右,设置字模为C51格式,取模的过程如图2所示,实验中以“单”字为例说明。产生的字模表格为:从第一行的开始,取左侧的8位,为0x10;然后取第一行右侧的8位,为0x10,即第一行数据读取完毕;随后取第二行左侧的8位,为0x08;接着去第二行右侧的8位,为0x20;依照上述的方法讀取相应的。“单”字取横向字模的编码如下:
//“单”字的字模表
unsigned char code tab[]={0x10,0x10,0x08,0x20,0x04,0x48,0x3F,0xFC, 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x00, 0x01,0x04,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00};
3、软件设计
在设计软件部分时,还需要注意字符滚动显示及如何保持画面稳定显示的问题。针对字符滚动显示的问题,实验中采用定时中断函数实现;同时为了能稳定显示出所需要的字符,点亮各点阵间的延时时间要控制在合理的范围之内,否则则会出现闪烁的现象。
在LED点阵显示电路中,先后往往上半屏和下半屏上送所需显示汉字编码的数据,然后循环16次,这样16行全部扫描完毕。主程序的流程图如图3所示。
4、结语
随着科技的不断进步,在汽车站、商店、银行等公共场合发布一些信息或宣传广告都是采用LED显示屏,其发光效率高,并且色彩丰富,对环境的适应能力较强,因此被广泛应用。在了解取模方式、画面稳定及滚动显示等原理后,只需要将单片机的I/0口扩展,扩大LED点阵的规模,就可以实现更大规模的LED显示屏。
参考文献:
[1] 王静霞. 单片机应用技术(C语言版)第3版[M].电子工业出版社,2015.
[2] 李金娟. 基于亚龙YL-236的32*16 LED点阵显示屏的设计[J]. 无线互联科技.2015(3)p66-68.
[3]刘硕. 基于单片机的16*16LED点阵屏显示设计[J].科技天地. 2012(35)p42.
作者简介:
李丹(1985-),女,硕士研究生,助教,在鹤壁汽车工程职业学院任教,研究方向:信号与信息处理。
关键词:16*16点阵 取模方式 单片机
目前,LED点阵显示屏广泛应用于车站报站器、广场等很多地方,这些显示屏不仅可以显示图形、汉字,还能播放视频,他们是利用发光二极管点阵模块或像素单元组成的平面式显示屏。本文中主要利用单片机显示屏显示出我们所需要的信息。
1、硬件电路设计
通常来说,一个LED点阵显示屏往往是由若干个点阵显示模块拼接成的,而一个16*16的点阵显示屏又是由4个8*8点阵按照一定的连接方式组成的。硬件电路中通过74LS154 4线-16线译码器来控制点阵的列选,而通过单片机的I/O口来直接控制行选。本文中16*16点阵所有的行由单片机的P0和P2口控制,所有的列接到74LS154的输出端,单片机的P1.0~P1.3驱动74LS154,这样就构成了一个完整的电路。
点阵显示屏在显示时采用是动态扫描方式。所谓动态扫描显示就是一列接一列(或一行接一行)地轮流点亮各个发光二极管,使各列(或各行)轮流受控、依次显示且循环往复的显示。针对16*16点阵来说,就是把所有同一行的发光二极管阳极连接在一起,把所有同一列的二极管阴极连接一起,先送出对应第一行发光二极管亮灭的数据,然后选通第一行使其点亮一定的时间段,然后熄灭;再送出第二行数据使相应的二极管被点亮,然后选通第二行使其点亮一段时间,然后熄灭,依次类推,直到将第16行发光二极管点亮后又熄灭,重新点亮第一行,按照上述方法反复循环。如果在很短的时间内依次点亮很多发光二极管,可以看到这些发光二极管好像同时被点亮,感觉到我们所需的文字或图像稳定地显示出来,这就是动态扫描的原理。
2、取模方式
由于有很多提取字模的软件,所以对于实验中要显示的汉字或图形,我们利用提取字模的软件获取,注意获取字模的顺序(横向还是纵向)。假如要显示所需的字符或图形,仍需要动态扫描,一行一行或一列一列的扫描,例如在8*8的点阵上显示数字“2”,如下图1所示,(a)图为数字“2”横向取模的编码,比如由上至下第三行的亮灭为:灭亮灭灭灭灭亮灭(由高位到低位,高电平表示亮,低电平表示灭),与其相对应的二进制码为:01000010B,转换为十六进制为42H。所以按行显示,应加在列上的字模码为0x3c,0x42,0x42,0x30,0x08,0x04,0x02,0x7e。
本文中采用横向取模方式进行取模,结构从上到下,从左到右,设置字模为C51格式,取模的过程如图2所示,实验中以“单”字为例说明。产生的字模表格为:从第一行的开始,取左侧的8位,为0x10;然后取第一行右侧的8位,为0x10,即第一行数据读取完毕;随后取第二行左侧的8位,为0x08;接着去第二行右侧的8位,为0x20;依照上述的方法讀取相应的。“单”字取横向字模的编码如下:
//“单”字的字模表
unsigned char code tab[]={0x10,0x10,0x08,0x20,0x04,0x48,0x3F,0xFC, 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x00, 0x01,0x04,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00};
3、软件设计
在设计软件部分时,还需要注意字符滚动显示及如何保持画面稳定显示的问题。针对字符滚动显示的问题,实验中采用定时中断函数实现;同时为了能稳定显示出所需要的字符,点亮各点阵间的延时时间要控制在合理的范围之内,否则则会出现闪烁的现象。
在LED点阵显示电路中,先后往往上半屏和下半屏上送所需显示汉字编码的数据,然后循环16次,这样16行全部扫描完毕。主程序的流程图如图3所示。
4、结语
随着科技的不断进步,在汽车站、商店、银行等公共场合发布一些信息或宣传广告都是采用LED显示屏,其发光效率高,并且色彩丰富,对环境的适应能力较强,因此被广泛应用。在了解取模方式、画面稳定及滚动显示等原理后,只需要将单片机的I/0口扩展,扩大LED点阵的规模,就可以实现更大规模的LED显示屏。
参考文献:
[1] 王静霞. 单片机应用技术(C语言版)第3版[M].电子工业出版社,2015.
[2] 李金娟. 基于亚龙YL-236的32*16 LED点阵显示屏的设计[J]. 无线互联科技.2015(3)p66-68.
[3]刘硕. 基于单片机的16*16LED点阵屏显示设计[J].科技天地. 2012(35)p42.
作者简介:
李丹(1985-),女,硕士研究生,助教,在鹤壁汽车工程职业学院任教,研究方向:信号与信息处理。