基于FPGA的LED-16×16点阵汉字显示设计(终搞)
16x16led点阵滚动汉字显示设计

0x42,0x44,0x42,0x46,0x4A,0x3C,0x44,0x00,/*"能"*/
0x00,0x00,0x0F,0xF0,0x08,0x10,0x0F,0xF0,
0x08,0x10,0x0F,0xF0,0x00,0x00,0xFF,0xFE,
0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,
0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x04,/*"大"*/
0x08,0x20,0x08,0x20,0x08,0x20,0x4B,0xFE,
0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,
if(k>112) k=0;
}
}
有什么问题可能联系版主,关注微博即可联系。本人新浪微博地址:/1858560312
0x4A,0x22,0x4A,0x22,0x4A,0x22,0x12,0x2E,
0x12,0x24,0x20,0x20,0x40,0x20,0x80,0x20,/*"帅"*/
0x00,0x00,0x7F,0xFC,0x00,0x10,0x1F,0x90,
0x10,0x90,0x1F,0x90,0x10,0x90,0x00,0x04,
下图是电路图连接图下面是74hc1544线16线译码器引脚说明以及地址全能输入对应的输出表
下面给大家介绍下我制作的16*16led点阵设计,希望与各位电子爱好者共同讨论,共同进步。
下图是电路图连接图
下面是74HC1544线-16线译码器引脚说明,以及地址/全能输入对应的输出表。
16×16点阵显示

目录第一章系统设计总述 (1)1.1 设计要求 (1)1.2 要求分析 (1)第二章系统设计原理 (2)第三章系统子程序设计 (3)3.1 32进制计数器设计 (3)3.2 16进制计数器设计 (4)3.3 列驱动设计 (5)3.4 行驱动设计 (6)第四章原理图仿真波形 (25)第五章设计小结 (26)参考文献 (27)SOPC/EDA综合课程设计报告―16×16点阵显示控制第一章系统设计总述1.1 设计要求使用FPGA设计一个16×16的点阵显示的控制器,使点阵显示器以两种花样显示“江西理工大学应用科学学院欢迎您!”1.2 要求分析根据设计要求可以分析出:点阵显示的花样有静态显示一个汉字,一屏一屏的显示汉字还有滚动显示汉字,还可以用亮着的灯显示汉字或者用暗着的灯显示汉字。
根据以上的分析,本实验采用如下两种花样显示:第一种花样是用亮着的灯组合所要显示的字,第二种方案是用暗着的灯组成所需要的字。
两种花样都是用一屏一屏的显示方法。
图1-1 方案一示例图1-2 方案二示例第二章系统设计原理16×16扫描LED点阵只要其对应的X、Y轴顺向偏压,即可使LED发亮。
例如如果想使左上角LED点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X轴或Y轴。
它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。
本实验就是要通过CPLD 芯片产生读时序,将字形从寄存器中读出,然后产生写时序,写入16×16的点阵,使其扫描显示输出。
为了显示整个汉字,首先分布好汉字的排列,以行给汉字信息;然后以128HZ 的时序逐个点亮每一行,即每行逐一加高电平,根据人眼的视觉残留特性,使之形成整个汉字的显示。
LED点阵每个点都有一个红色的发光二极管。
点阵内的二极管间的连接都是行共阳,列共阴。
本实验采用共阴,当二极管的共阳极为高电平,共阴极为低电平时,所接点发光;反之处于截止状态,不放光。
LED16×16点阵汉字显示屏设计

XX科技职业学院毕业论文LED16×16点阵汉字显示屏LED 16 x 16 bitmap characters display screen院系:电子科技学院专业班级:08电信(1)班学生姓名:学号:指导教师姓名:指导教师职称:二O一O 年十一月目录第一章绪论 (1)第二章任务设计………………………………………………………2.1 设计依据 (40)2.2 要求及主要内容………………………………………………………2.3 途径和方法.....................................................................第三章AT89C51单片机概述 (52)3.1 AT89C51单片机的结构……………………………………………3.2 管脚说明 (60)3.3 振荡器特性……………………………………………………………第四章方案设计 (66)4.1 总体设计………………………………………………………………4.2 系统硬件选择…………………………………………………………4.3 硬件电路实现…………………………………………………………4.4 软件的程序实现………………………………………………………结论 (71)致谢 (74)参考文献 (75)LED16×16点阵汉字显示屏摘要 :LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。
LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。
LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等。
16×16点阵LED汉字动态显示

a f g e d c h b
实验说明:
a a a a a a a a
a
h b
bitsel(0) bitsel(7)
segment[7..0]
bitout[7..0]
16×16点阵LED汉字动态显示
4学时 学时 实验内容: 实验内容: 点阵LED动态显示自己的名字 用16×16点阵 × 点阵 动态显示自己的名字
第1行,第1列 行 列
16×16点阵显示 × 点阵显示
第1行,第16列 行 列
r0-r3
第16行,第1列 行 列
第16行,第16列 行 列
点阵LED显示器的每一行发光管的阳极接在一起作为 显示器的每一行发光管的阳极接在一起作为 点阵 数据线D,每一列发光管的阴极接在一起作为列线B, 数据线 ,每一列发光管的阴极接在一起作为列线 , 因此,要使某一点亮, 因此,要使某一点亮,就必须让该点所在的行线为高 电平,同时让该点所在的列线为低电平。 电平,同时让该点所在的列线为低电平。 实验板上点阵的各行可分别控制, 实验板上点阵的各行可分别控制, 用16个行控制信号 个行控制信号 来控制16行,使用4个列控制信号来控制 列,实验 来控制 行 使用 个列控制信号来控制16列 个列控制信号来控制 板上已经提供了一个4- 译码器 因此只使用4 译码器, 板上已经提供了一个 -16译码器,因此只使用 个信号即可控制点阵的16列 个信号即可控制点阵的 列。由于不是一个控制信号 控制一个点阵点, 控制一个点阵点,因此需要将需将欲显示的字一列一 列的显示。 列的显示。 若列控制信号r0-r3等于 “0000”,则经过 -16 例:若列控制信号 等于 ,则经过4- 译 码器后,点阵的第一列会等于‘0’。此时若同时16 码器后,点阵的第一列会等于‘ 。此时若同时 行中的某些行为‘ ,则对应的点阵会亮。 行中的某些行为‘1’,则对应的点阵会亮。
(完整版)16×16点阵LED电子显示屏的设计_毕业论文

16×16点阵LED电子显示屏的设计摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
本设计是1616××16点阵LED电子显示屏的设计。
整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个行驱动器74LS154和两个列驱动器74L373来驱动显示屏显示。
该电子显示屏可以显示各种文字或单色图像,采用4块8 x 8点阵LED显示模块来组成一个16x16点阵显示模式。
显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
关键词:AT89C51单片机 LED 点阵显示动态显示AbstractAs a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode).The LED dot-matrix display board can display the number or sign,and it is usually used to show time, speed, the state of system etc.This design is 1 16 ×16 lattice LED electron display monitor design.The whole equipment is with the 40-pin AT89C51 MCU (Micro Controller Unit) produced by the American ATMEL company at thecore, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. Controls good driver 74LS154 an two row driver 74L373 through thischip actuates the display monitor demonstration. The electronic screen can show all kinds of written or monochrome images, one full screen display Chinese characters, four pieces of 8 x 8 dot-matrix LEDdisplay modules to form the 16x16 dot matrix display mode. Show dynamic show that makes static graphic or text can be achieved, shifted out of various formats. This paper describes the of the LEDdot matrix display, and the principle function of the various parts ofthe circuit, the corresponding software program design and the use of some such. Key words: AT89C51 Micro Controller U nitUnit; LED; LatticeDisplay;Dynamic Display目录第1章绪论1.1 选题背景LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万……几十万个半导体发光二极管像素点均匀排列组成。
基于FPGA的LED_16×16点阵汉字显示设计(终搞)范文

基于FPGA的LED显示屏的设计丁莹莹(陕西理工学院物理与电信工程学院通信工程专业2010级3班,陕西汉中)指导教师:郑争兵[摘要]主要研究基于FPGA的 Led点阵汉字滚动显示。
首先描述了基于现场可编程门阵(FPGA)的硬件电路,以及点阵显示汉字的原理;然后在单个16X16 LED发光二极管点阵上滚动汉字的原理;最后给出了描述其功能的VHDL 语言程序设计方法。
通过编程、调试、仿真、下载正确地实现了汉字滚动显示扫描结果,其硬件系统的实验验证也获得了与软件模拟仿真结论相吻合的结果。
[关键词]LED点阵;FPGA;VHDL语言;汉字滚动显示The design of LED display based on FPGADing Yingying(Grade10,Class3,Major of Communication Engineering,School of Physics and Telecommunication Engineering , Shaanxi University of Technology, Hanzhong ,Shaanxi)Tutor: Zhen Zhengbing[Abstract]Primary research is based on FPGA, Led Scrolling dot matrix characters. First described based on field programmable gate array (FPGA) hardware circuit, as well as the principle character dot matrix display; and then in a single 16X16 LED scrolling LED dot matrix on the principles of Chinese characters; Finally, the VHDL description language program of its functions design. Through programming, debugging, simulation, download the correct character scroll achieved scan results, the experimental verification of its hardware and software are also obtained findings consistent with simulation results.[Keywords]LED dot-matrix; FPGA; VHDL language; character scrolling displa2目录第一章前言 (1)1.1本设计的研究背景和研究目的 (1)1.2LED点阵显示特点 (1)1.3FPGA设计的特点 (1)第二章系统设计 (3)2.1设计任务与要求 (3)2.1.1设计任务 (3)2.1.2设计要求 (3)2.2设计原理 (3)2.2.1总体设计方案 (3)2.2.2方案的比较 (4)2.3扫描控制模块 (4)2.3.1 LED的显示原理 (4)2.3.2汉字的存储 (5)2.4汉字显示 (5)2.4.1列循环扫描 (5)2.4.2字符样式设计 (6)2.4.3字母循环扫描及期间的延时环节 (9)2.5整个完整的程序 (9)第三章系统调试与仿真 (14)3.1开发环境介绍 (14)3.2调试与仿真 (14)3.2.1 创建工程 (14)3.2.2 编译前设置 (14)3.2.3 全程编译 (16)3.2.4时序仿真 (17)第四章结束语 (18)答谢辞 (18)参考文献 (18)41.引言目前,在机场、饭店等很多公共场所都能看到美观、实用的电子显示屏,它以高清、节能、控制简单、寿命长、耐冲击、性能稳定、成本低廉、环保等优势迅速占领市场。
16x16LED汉字点阵总结报告

电子技术综合设计报告姓名及学号:黄天琦04091550、何俊04091549、李继越04091552、韩稳04081914专业与班级:电气与自动化09-9班设计题目:16*16LED汉字点阵显示系统设计时间:2011 ~2012 学年第(1)学期指导教师:冯小龙成绩:日期:一、课题任务基本要求:采用80C51单片机和LED点阵显示模块设计实现组合点阵信息显示。
提高要求:具有显示内容自动更新的功能以完成对任意存储的信息内容进行完整的显示。
二、方案比较与选择点阵LED显示器的结构和原理与七段LED数码显示器是一样的,均由发光二极管组成,但两者的排列结构不同。
LED点阵显示屏是由若干个显示单元拼接而成的。
方案一:显示接口采用静态驱动。
但点阵式LED显示器通常用在大面积汉字或图形显示的场合,因为点阵数很多,所以连接线也很多,如果采用静态驱动的方式,连线将会很复杂,硬件的成本将增加。
但软件开销小,而且显示不会出现闪烁现象。
方案二:显示接口采用动态驱动。
特点与静态驱动刚好相反,硬件成本小,但软件成本大,显示效果不如静态好。
方案三:不同于方案一与二中LED只采用一种基色,方案三中的LED显示屏中每个点阵单元又包括红、绿、蓝三种发光二极管,这三种发光二极管发出三种颜色的光混色后得到人眼所感觉到颜色,其优点为颜色丰富鲜活,能用来显示各种文字、图像,表现能力强。
缺点为,电路结构负责,软硬件成本高,且不好控制。
综合以上三种方案,从成本及实现的难易程度上来衡量,最终选择方案二。
三、电路设计我们选用的是显示接口采用动态驱动的只有一种基色的8×8点阵的LED显示模块。
用来显示单个汉字。
LED电子显示屏原理8×8点阵式LED显示器原理如图1所示为了减少引脚且便于封装,各种LED显示点阵模块都采用阵列形式排布,即在行列线的交点处接有显示LED。
因此,LED点阵显示模块的显示驱动只能采用动态驱动方式,每次最多只能点亮一行LED(共阳形式LED显示点阵模块)或一列LED(共阴形式LED显示点阵模块)。
基于FPGA的汉字点阵显示系统设计

基于FPGA的汉字点阵显示系统设计郭志冬【期刊名称】《无锡职业技术学院学报》【年(卷),期】2012(011)005【摘要】Use of programmable logic devices to the design of VHDL program from EEPROM code, after treatment with FPGA, to the LED can transform different Chinese characters. The design a 16 ×16 LED dot matrix display system,through (AT28C64) out of the corresponding Chinese characters dot matrix display,in the corresponding circuit control, it system has a broad application value.%利用可编程逻辑器件设计了一个16×16的LED点阵显示系统,通过设计VHDL程序从EEPROM(AT28C64)中取出相应的汉字代码,经过FPGA处理后,送给LED点阵显示,在相应电路控制下,能够变换不同的汉字。
具有广泛的应用价值。
【总页数】4页(P45-48)【作者】郭志冬【作者单位】三门峡职业技术学院机电工程系,河南三门峡472000【正文语种】中文【中图分类】TP316【相关文献】1.基于单片机的点阵式汉字显示系统设计 [J], 甄丽平;司绍伟2.基于单片机的点阵式汉字显示系统设计 [J], 甄丽平;司绍伟3.基于FPGA和VHDL的LED点阵汉字滚动显示设计 [J], 张鹂;李曼义4.基于单片机的LED汉字点阵显示系统设计 [J], 田金云;张广超;孟艳霞;王玲玲5.基于FPGA控制的LED点阵汉字滚动显示器的设计 [J], 王海峰;熊兴中因版权原因,仅展示原文概要,查看原文内容请购买。
16×16点阵LED电子显示屏的设计

告宣传。
自20世纪八十年代开始,LED电子显示屏的应
用领域已经遍布了交通、电信、教育、广告宣传等
各方面。LED电子显示屏发展较快,其无论在成本
和产生的社会效益等方面都有其独特的优势。功能介绍本作品的能:可以显示静态的汉字
可以实现动态显示,显 示的内容有左移、右移、 上移、下移等
可以通过上位机(PC机) 更新显示的内容
显示。本次设计单片机选用STC89C51、行驱动采用4线16线译码器74LS154、列驱动采用串行输入转并行输出 的移位寄存器74HC595.
4、系统整体方案框图
5、硬件电路原理图
6、系统PCB图
设计心得
通过这次的电子设计竞赛,让我们
的实践动手能力得到了很大的提高,明
白了理论学习联系到实践应用当中的重
要性,培养了我们团结合作、吃苦耐劳
的精神,而且更让我们认识到一个团队
只有具备良好的团结协作精神才能做出
出色的作品!
谢 谢 大 家!
The end
祝电子设计大赛圆 满成功!!
或熄灭,即可产生文字或图案的效果。通常把要显示的 图形或文字转换成点阵,再按照显示控制的要求以一定 的格式形成显示数据。
3、硬件电路设计
本次设计硬件电路大致上可以分为单片机系统及外
围电路、行驱动电路和列驱动电路三部分。由于显示量
比较大,很难用静态方法显示,只能采用动态扫描方法,
所以只有采用单片机及相关接口电路才能灵活实现动态
第十八届大学生专业素质能力竞赛
电子设计竞赛
16×16点阵LED电子 显示屏的设计
硬件设计: 软件设计: 报告设计:
背景介绍
LED电子显示屏是利用发光二极管点阵模块
组成的平面式显示屏幕。他具有发光效率高、使用
汉字显示屏16X16点阵制作

汉字显示屏16X16点阵制作汉字显示屏广泛应用与汽车报站器,广告屏等。
本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块,而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。
同时为了降低制作难度,仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。
1、汉字显示的原理:我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。
即国标汉字库中的每一个字均由256点阵来表示。
我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。
事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素。
我们以显示汉字“大”为例,来说明其扫描原理:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。
如果用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。
一般我们把它拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。
在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00---p07口。
方向为p00到p07 ,显示汉字“大”时,p05点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。
即二进制00000100,转换为16进制为 04h.。
上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。
然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04h. 这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“大”的扫描代码为:04H,00H,04H,02H,04H,02H,04H,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,00H,00H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。
16X16汉字点阵显示屏移动显示设计

毕业设计(论文)题目:16*16点阵汉字显示设计年级:1011电子专业:应用电子技术学生姓名:指导教师:X2012年11 月20 日摘要本设计使用AT89C52芯片作为主控制模块,利用简单的外围电路来驱动16*16点阵LED显示屏。
设计分为三个模块:单片机控制模块.输出显示模块,译码器74HC154 与三极管驱动的驱动模块。
单片机控制模块以单片机为核心,以软件KEIL编程实现信号输出,以驱动16*16 LED点阵显示块为目的。
另一方面显示屏广泛的应用于医院、火车站、银行等公共场所,因此本设计有很强的现实实用性。
关键字:单片机汉字显示屏控制模块驱动模块软件编程目录第一章绪论 (1)1.1 单片机的概念及其特点 (3)1.1.1 单片机 (3)1.1.2 单片机的特点 (3)1.2 单片机的发展概况及其分类 (3)1.2.1单片机的发展概况 (3)1.2.2 单片机的分类 (4)1.3 单片机的应用领域及其发展趋势 (4)1.3.1 单片机的应用领域 (4)1.3.2单片机的发展趋势 (6)1.4LED简介 (6)1.5 电子显示屏 (7)第二章系统整体方案 (8)2.1 需要实现的功能 (8)2.2 系统软件的设计 (10)第三章系统硬件电路的设计 (11)3.1 单片机系统及外围电路 (11)3.1.1 单片机的内部结构 (11)3.1.2 AT89C52芯片介绍 (11)3.1.3 单片机系统外围电路 (12)3.2 驱动电路 (13)3.2.1 74HC154芯片简介 (13)3.2.2 驱动电路的构成 (14)3.3 16*16LED显示屏电路和原理 (15)第四章系统程序的设计 (17)4.1流程图 (17)4.2 系统主程序 (18)第五章调试及性能分析 (21)5.1 软件调试 (21)5.2 性能分析 (22)结论 (23)致谢 (24)参考文献 (25)第一章绪论单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。
16乘16点阵显示综合设计报告

一、方案设计本设计大概包括时钟源、CPLD芯片,显示器。
此次实验所用的可编程逻辑器件的主芯片为EPF10K10LC84-3。
通过VHDL语言进行编程分别把程序模块进行编译仿真。
所编的十六进制计数器控制花样信号对字符库进行选择,计数器产生的花样信号和时钟信号共同控制行选信号和列选信号(列选频率一定要比字选频率大很多)把相应的值输入点阵,控制显示器显示相应的字符。
时钟源信号要高于24HZ 。
所分模块有:1、字选模块:为十六进制计数器模块,其时钟源信号要比列选信号小得多。
2、列选信号:通过给定的时钟信号用来选中列,再对列进行扫描。
3、显示模块:经过字选信号和列选信号输出十六位二进制用来显示一行。
4、顶层模块:该模块采用图形模式(图3),把所有模块按要求连接起来,再加上顶层输入信号。
二、实验原理16×16扫描LED点阵的工作原理同8位扫描数码管类似。
它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。
所以其扫描译码地址需4位信号线。
2864E2PROM存贮器是电可擦除/编程的只读存贮器,容量为8k×8bit ,有13位并行地址线和8位并行数据线,而一个完整的字符所需的存贮容间为32字节即32×8 bit,也就是说2864最多可连续存256个16×16点阵字形。
存贮方式可事先约定好。
本实验就是要通过CPLD芯片产生读时序,将字形从2864中读出,然后产生写时序,写入16×16的点阵,使其扫描显示输出。
三、单元电路设计1)十六进制计数器用VHDL语言十六进制计数器进行设计,程序如下:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY JISHU ISPORT(CLK,RST,LOAD:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END JISHU;ARCHITECTURE SHILIU OF JISHU ISBEGINPROCESS(CLK,RST,LOAD,DIN)BEGINIF (CLK'EVENT AND CLK='1') THENIF(RST='1')THEN DOUT<=(OTHERS=>'0');ELSIF (LOAD='1') THEN DOUT<=DIN;ELSIF (DOUT=8) THENDOUT<="0000";ELSEDOUT<=DOUT+1;END IF;END IF;END PROCESS;END SHILIU;设计完成后,器件图如图1图1十六进制计数器2)对行列控制模块进行及字库进行设计行列控制模块进行及字库程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity zhi isport( din : in std_logic_vector(3 downto 0);selout : buffer std_logic_vector(3 downto 0);clk,rst: in std_logic;dotout : out std_logic_vector(15 downto 0));end zhi;architecture one of zhi isbeginprocess(clk,rst,din,selout)variable b:std_logic_vector(15 downto 0);beginif rst='1'then selout<="0000";elsif clk'event and clk='1' thencase din iswhen "0000"=>selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0010001000011100";when "0001" =>b:="0001000100001000";when "0010" =>b:="0000100010010000";when "0011" =>b:="0000000000100010";when "0100" =>b:="0011100001000100";when "0101" =>b:="0001000000001000";when "0110" =>b:="0001000000010000";when "0111" =>b:="0111111111100000";when "1000" =>b:="0111111111111100";when "1001" =>b:="0001000000000100";when "1010" =>b:="0001010000000100";when "1011" =>b:="0001100000000100";when "1100" =>b:="0011000000000100";when "1101" =>b:="0000000000011100";when others =>b:="0000000000000000";end case;when"0001"=>selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0000000000000000";when "0001" =>b:="0000000110000000";when "0010" =>b:="0000001100000000";when "0011" =>b:="0000011000000000";when "0100" =>b:="0000110000010000";when "0101" =>b:="0000000000001000";when "0110" =>b:="0111111111111100";when "0111" =>b:="0111111111111110";when "1000" =>b:="0000000000000000";when "1001" =>b:="0000110000000000";when "1010" =>b:="0000011000000000";when "1011" =>b:="0000001100000000";when "1100" =>b:="0000000110000000";when "1101" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"0010"=> selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0000000000000110";when "0001" =>b:="0001100000000110";when "0010" =>b:="1001100000000110";when "0011" =>b:="1101100110000110";when "0100" =>b:="0111100110000110";when "0101" =>b:="0011100110000110";when "0110" =>b:="0001100110000110";when "0111" =>b:="0001100110000110";when "1000" =>b:="0011100110000110";when "1001" =>b:="0111100110000110";when "1010" =>b:="1101100110000110";when "1011" =>b:="1001100000000110";when "1101" =>b:="0000000000000110";when others =>b:="0000000000000000";end case;when "0011"=> selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0000000000000100";when "0001" =>b:="0000000000001100";when "0010" =>b:="0001000000011100";when "0011" =>b:="0101011011110000";when "0100" =>b:="0101011101100000";when "0101" =>b:="0101010110000000";when "0110" =>b:="1111010111111111";when "0111" =>b:="0101010111111110";when "1000" =>b:="0101010101100100";when "1001" =>b:="0101011000110000";when "1010" =>b:="0001000000011000";when "1011" =>b:="0000000000001100";when "1100" =>b:="0000000000000100";when "1101" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"0100"=> selout<=selout+1;case selout iswhen "0000" =>b:="0000000000011000";when "0001" =>b:="0000011000110000";when "0010" =>b:="0110011011000000";when "0011" =>b:="0111111111111100";when "0100" =>b:="0111111111111110";when "0101" =>b:="0110011110000000";when "0110" =>b:="0000011011100000";when "1000" =>b:="0000000000000000";when "1001" =>b:="0000011111110000";when "1010" =>b:="0000011111100000";when "1011" =>b:="0000000000001000";when "1100" =>b:="0111111111111100";when "1101" =>b:="0111111111111110";when "1110" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"0101"=> selout<=selout+1;case selout iswhen "0000" =>b:="0000000000000000";when "0001" =>b:="0000111000000010";when "0010" =>b:="0000111000000110";when "0011" =>b:="0000100110001000";when "0100" =>b:="0000100110010110";when "0101" =>b:="0000100110101110";when "0110" =>b:="0110100111010110";when "0111" =>b:="0110101110100110";when "1000" =>b:="0110100110000110";when "1001" =>b:="0000100110010110";when "1010" =>b:="0000100110001110";when "1011" =>b:="0000100110000110";when "1100" =>b:="0000111000000110";when "1101" =>b:="0000111000000010";when "1110" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"0110"=> selout<=selout+1;case selout iswhen "1111" =>b:="0000000000000000";when "0000" =>b:="0000000000000010";when "0010" =>b:="0110000110000110";when "0011" =>b:="0110000110000110";when "0100" =>b:="0110000110000110";when "0101" =>b:="0110000110000110";when "0110" =>b:="0111111111111110";when "0111" =>b:="0111111111111110";when "1000" =>b:="0110000110000110";when "1001" =>b:="0110000110000110";when "1010" =>b:="0110000110000110";when "1011" =>b:="0110000110000110";when "1100" =>b:="0110000000000110";when "1101" =>b:="0000000000000010";when others =>b:="0000000000000000";end case;when "0111"=> selout<=selout+1;case selout iswhen "0000" =>b:="0000000000100100";when "0001" =>b:="0010001000011000";when "0010" =>b:="0010010100011000";when "0011" =>b:="0010110010100100";when "0100" =>b:="0011000001001010";when "0101" =>b:="0010010010101010";when "0110" =>b:="0010010010101010";when "0111" =>b:="0010010010101010";when "1000" =>b:="0111111111111110";when "1001" =>b:="0010010010101010";when "1010" =>b:="0010010010101010";when "1011" =>b:="0010010010101010";when "1100" =>b:="0011111110001010";when "1101" =>b:="0000010000001010";when "1110" =>b:="0000010000000010";when others =>b:="0000000000000000";end case;when"1000"=> selout<=selout+1;case selout iswhen "0000" =>b:="0000000001111100";when "0001" =>b:="0000100011000000";when "0010" =>b:="0010100100100000";when "0011" =>b:="0010101000010000";when "0100" =>b:="0111111111001000";when "0101" =>b:="0010100100000100";when "0110" =>b:="0010100100000010";when "0111" =>b:="0000100000000010";when "1000" =>b:="0000000000000010";when "1001" =>b:="0100010001110010";when "1010" =>b:="0100100010001010";when "1011" =>b:="0101000010001010";when "1100" =>b:="0110010010001010";when "1101" =>b:="0111111001110010";when "1110" =>b:="0000000000000000";when others =>b:="0000000000000000";end case;when"1001"=>selout<=selout+1;case selout iswhen "1111" =>b:="0000111100001111";when "0000" =>b:="0000111100001111";when "0001" =>b:="0000111100001111";when "0010" =>b:="0000111100001111";when "0011" =>b:="1111000011110000";when "0100" =>b:="1111000011110000";when "0101" =>b:="1111000011110000";when "0110" =>b:="1111111111110000";when "0111" =>b:="0000111100001111";when "1000" =>b:="0000111100001111";when "1001" =>b:="0000111100001111";when "1010" =>b:="0000111100001111";when "1011" =>b:="1111000011110000";when "1101" =>b:="1111000011110000";when "1110" =>b:="1111000011110000";when others =>null;end case;when"1010"=>selout<=selout+1;case selout iswhen "1111" =>b:="1111000011110000";when "0000" =>b:="1111000011110000";when "0001" =>b:="1111000011110000";when "0010" =>b:="1111000011110000";when "0011" =>b:="0000111100001111";when "0100" =>b:="0000111100001111";when "0101" =>b:="0000111100001111";when "0110" =>b:="0000111100001111";when "0111" =>b:="1111000011110000";when "1000" =>b:="1111000011110000";when "1001" =>b:="1111000011110000";when "1010" =>b:="1111000011110000";when "1011" =>b:="0000111100001111";when "1100" =>b:="0000111100001111";when "1101" =>b:="0000111100001111";when "1110" =>b:="0000111100001111";when others =>null;end case;when"1011"=>selout<=selout+1;case selout iswhen "1111" =>b:="0000000011111111";when "0000" =>b:="0000000011111111";when "0001" =>b:="0000000011111111";when "0010" =>b:="0000000011111111";when "0011" =>b:="0000000011111111";when "0100" =>b:="0000000011111111";when "0101" =>b:="0000000011111111";when "0111" =>b:="1111111100000000";when "1000" =>b:="1111111100000000";when "1001" =>b:="1111111100000000";when "1010" =>b:="1111111100000000";when "1011" =>b:="1111111100000000";when "1100" =>b:="1111111100000000";when "1101" =>b:="1111111100000000";when "1110" =>b:="1111111100000000";when others =>null;end case;when"1100"=> selout<=selout+1;case selout iswhen "1111" =>b:="1111111100000001";when "0000" =>b:="0111111100000011";when "0001" =>b:="0011111100000111";when "0010" =>b:="0001111100001111";when "0011" =>b:="0000111100011111";when "0100" =>b:="0000011100111111";when "0101" =>b:="0000001101111111";when "0110" =>b:="0000000111111111";when "0111" =>b:="1111111110000000";when "1000" =>b:="1111111011000000";when "1001" =>b:="1111110011100000";when "1010" =>b:="1111100011110000";when "1011" =>b:="1111000011111000";when "1100" =>b:="1110000011111100";when "1101" =>b:="1100000011111110";when "1110" =>b:="1000000011111111";when others =>null;end case;when"1101"=> selout<=selout+1;case selout iswhen "0000" =>b:="1111111111111111";when "0001" =>b:="1111110011111111";when "0010" =>b:="1111000011111111";when "0011" =>b:="1110000011111111";when "0100" =>b:="1111100011111111";when "0101" =>b:="1111110011001111";when "0110" =>b:="1111111001000111";when "0111" =>b:="1100000000000011";when "1000" =>b:="1110001100111111";when "1001" =>b:="1110011100011111";when "1010" =>b:="1111111100000111";when "1011" =>b:="1111111100001111";when "1100" =>b:="1111111100111111";when "1101" =>b:="1111111111111111";when "1110" =>b:="1111111111111111";when others =>null;end case;when"1110"=> selout<=selout+1;case selout iswhen "1111" =>b:="1111111111111111";when "0000" =>b:="1111111111111111";when "0001" =>b:="1111111111111111";when "0010" =>b:="1111111111111111";when "0011" =>b:="1111000000001111";when "0100" =>b:="1111011100001111";when "0101" =>b:="1111001101101111";when "0110" =>b:="1111000111101111";when "0111" =>b:="1111011110001111";when "1000" =>b:="1111011011001111";when "1001" =>b:="1111000011101111";when "1010" =>b:="1111000000001111";when "1011" =>b:="1111111111111111";when "1100" =>b:="1111111111111111";when "1110" =>b:="1111111111111111";when others =>null;end case;when"1111"=> selout<=selout+1;case selout iswhen "1111" =>b:="1111111111111111";when "0000" =>b:="1111111111111111";when "0001" =>b:="1111111111111111";when "0010" =>b:="1111111111111111";when "0011" =>b:="1111111111111111";when "0100" =>b:="1111111111111111";when "0101" =>b:="1111111111111111";when "0110" =>b:="1111111111111111";when "0111" =>b:="1111111111111111";when "1000" =>b:="1111111111111111";when "1001" =>b:="1111111111111111";when "1010" =>b:="1111111111111111";when "1011" =>b:="1111111111111111";when "1100" =>b:="1111111111111111";when "1101" =>b:="1111111111111111";when "1110" =>b:="1111111111111111";when others =>null;end case;when others=>null;end case;end if;dotout<=b;end process;end one;设计完成后,该模块器件图如图2图2 行列控制模块四、总原理图把十六进制计数器和行列控制模块连接成一个器件,总原理图如图3图3 总原理图其引脚图如图4图4 总器件引脚图图5为部分字符仿真波形,如下图5 部分字符仿真波形五、结论16×16点阵显示综合设计基本符合要求。
16×16点阵LED显示汉字

以下程序在16×16点阵LED上依次显示“梅川酷子”四个字,分别用正向显示和反向显示,间隔两秒钟变换一次,电路图和效果图下图所示。
AT89 c52晶振频率为24MHz,用T0定时,改变变量flag值,从而让程序确定显示哪个汉字和显示方式(正向or反向)。
#include <atmel\regx52.h>或者#include <reg51.h>#define int8 unsigned char#define int16 unsigned int#define int32 unsigned longint8 flag;/*flag变量MSB 7 6 5 4 3 2 1 0 LSB× ××Bit5=1,Bit4=0 时,负向显示Bit5=0,Bit4=1 时,负向显示Bit[2..0]74HC138的片选信号*/int8 n;int8 code table[][32]={{0x88,0x00,0x88,0x00,0x88,0x7F,0x48,0x00,0xDF,0x1F,0xA8,0x10,0x9C,0x1 2,0xAC,0x14,0xEA,0x7F,0x8A,0x12,0x89,0x14,0x88,0x10,0x88,0x7F,0x08,0x 10,0x08,0x14,0x08,0x08},/*"梅",0*/{0x08,0x20,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x2 1,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x04,0x 21,0x04,0x20,0x02,0x00},/*"川",1*/{0x00,0x08,0xFE,0x08,0x28,0x0A,0x28,0x7E,0xFE,0x0A,0xAA,0x09,0xAA,0xF F,0xEA,0x00,0x86,0x00,0x82,0x7E,0xFE,0x42,0x82,0x42,0x82,0x42,0xFE,0x 7E,0x82,0x42,0x00,0x00},/*"酷",2*/{0x00,0x00,0xF8,0x1F,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x0 1,0x00,0x41,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x 01,0x40,0x01,0x80,0x00}/*"子",3*/};void delay(void);void main(void){int8 i;int8 j;int8 index;flag=0x10;n=0;//定时器T0初始化TMOD=0x01;TH0=0xb1;TL0=0xe0;ET0=1;EA=1;TR0=1;while(1){index=flag&0x03;if((flag&0x30)==0x10){ //正向显示for(i=0;i<8;i++){ //显示上半屏P0=table[index][2*i];//左上P2=i|0x08;delay();P0=table[index][2*i+1];//右上P2=i|0x10;delay();}for(i=8;i<16;i++){ //显示下半屏P0=table[index][2*i];//左下P2=(i-8)|0x20;delay();P0=table[index][2*i+1];//右下P2=(i-8)|0x40;delay();}}if((flag&0x30)==0x20){ //反向显示for(i=0;i<8;i++){P0=~(table[index][2*i]);//左上P2=i|0x08;delay();P0=~(table[index][2*i+1]);//右上P2=i|0x10;delay();}for(i=8;i<16;i++){P0=~(table[index][2*i]);//左下P2=(i-8)|0x20;delay();P0=~(table[index][2*i+1]);//右下P2=(i-8)|0x40;delay();}}}}void delay(void){int16 i;for(i=0;i<50;i++);}void timer0() interrupt 1 using 3{TF0=0;TH0=0xb1;TL0=0xe0;//10ms中断一次if(n<200){n++;}else{ //2秒改变一次switch(flag){case 0x10:{flag=0x11;//下次显示正向“川”break;}case 0x11:{flag=0x12;//下次显示正向“酷”break;}case 0x12:{flag=0x13;//下次显示正向“子”break;}case 0x13:{flag=0x20;//下次显示负向“川”break;}case 0x20:{flag=0x21;//下次显示负向“梅”break;}case 0x21:{flag=0x22;//下次显示负向“酷”break;}case 0x22:{flag=0x23;//下次显示负向“子”break;}case 0x23:{flag=0x10;//下次显示正向“梅”break;}}n=0;}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的LED显示屏的设计丁莹莹(陕西理工学院物理与电信工程学院通信工程专业2010级3班,723003)指导教师:郑争兵[摘要]主要研究基于FPGA的Led点阵汉字滚动显示。
首先描述了基于现场可编程门阵(FPGA)的硬件电路,以及点阵显示汉字的原理;然后在单个16X16 LED发光二极管点阵上滚动汉字的原理;最后给出了描述其功能的VHDL语言程序设计方法。
通过编程、调试、仿真、下载正确地实现了汉字滚动显示扫描结果,其硬件系统的实验验证也获得了与软件模拟仿真结论相吻合的结果。
[关键词]LED点阵;FPGA;VHDL语言;汉字滚动显示The design of LED display based on FPGADing Yingying(Grade10,Class3,Major of Communication Engineering,School of Physics and Telecommunication Engineering , Shaanxi University of Technology, Hanzhong 723003,Shaanxi)Tutor: Zhen Zhengbing[Abstract]Primary research is based on FPGA, Led Scrolling dot matrix characters. First described based on field programmable gate array (FPGA) hardware circuit, as well as the principle character dot matrix display; and then in a single 16X16 LED scrolling LED dot matrix on the principles of Chinese characters; Finally, the VHDL description language program of its functions design. Through programming, debugging, simulation, download the correct character scroll achieved scan results, the experimental verification of its hardware and software are also obtained findings consistent with simulation results.[Keywords]LED dot-matrix; FPGA; VHDL language; character scrolling displa目录第一章前言 (1)1.1本设计的研究背景和研究目的 (1)1.2LED点阵显示特点 (1)1.3FPGA设计的特点 (1)第二章系统设计 (3)2.1设计任务与要求 (3)2.1.1设计任务 (3)2.1.2设计要求 (3)2.2设计原理 (3)2.2.1总体设计方案 (3)2.2.2方案的比较 (4)2.3扫描控制模块 (4)2.3.1 LED的显示原理 (4)2.3.2汉字的存储 (5)2.4汉字显示 (5)2.4.1列循环扫描 (5)2.4.2字符样式设计 (6)2.4.3字母循环扫描及期间的延时环节 (9)2.5整个完整的程序 (9)第三章系统调试与仿真 (14)3.1开发环境介绍 (14)3.2调试与仿真 (14)3.2.1 创建工程 (14)3.2.2 编译前设置 (14)3.2.3 全程编译 (16)3.2.4时序仿真 (17)第四章结束语 (18)答谢辞 (18)参考文献 (18)1.引言目前,在机场、饭店等很多公共场所都能看到美观、实用的电子显示屏,它以高清、节能、控制简单、寿命长、耐冲击、性能稳定、成本低廉、环保等优势迅速占领市场。
作为大型平板显示设备的一种LED显示屏以其使用寿命长、维护费用低、功耗低等特点在显示领域占有重要的位置。
特别在近年,带有红、绿、蓝三基色以及灰度显示效果的全彩LED显示屏,以其丰富多彩的显示效果而倍受业界关注,成为LED显示屏市场近年增长幅度比较大的产品。
寿命、单位面积亮度、三基色的偏差程度、点距、对比度、灰度等级(包括灰度级数和线性度)、扫描频率等指标性能是衡量或横向比较大型显示设备好坏的标准。
而这些指标性能的优劣,很大程度上决定于扫描控制器的性能。
因此对大屏幕全彩LED显示扫描控制方法的研究有着重要的意义。
随着显示屏尺寸的扩大、亮度要求的增加,数据传输和控制的时间也会增加,如果仍然采用单片机作为控制器,将会影响显示效果,严重时可能无法正常工作,然而,这时若采用可编程逻辑器件作为控制器,则可解决这一难题。
一方面,随着微电子技术的发展和生产工艺的提高,器件的性能大有很大的提高,出现了高性能的现场可编程逻辑器件(FPGA),FPGA具有处理速度高、可靠性高、高容量和集成度高等特点,在大屏幕显示系统设计中使用FPGA可以满足现在的LED大屏幕系统对于处理视频数据的高速要求,同时改善电路的性能,缩小系统的体积。
设计中使用硬件描述语言进行电路设计,可以随时根据设计需要进行修改,而不必对硬件进行修改,它使系统的设计和调试非常方便,大大的缩短了产品的开发周期,降低了开发成本,也方便以后的系统升级。
(1)研究现状LED照明发展非常迅速,年增长率超过60%,随着LED发光效率的不断提升,封装技术不断改进,驱动陆能和寿命的增加,LED照明技术在未来5年内会逐渐进入千家万户。
在世界各国环保议题日渐重视的趋势下,LED照明产业将扮演极重要的角色,其主要应用在于室内、室外照明以及街灯等高功率产品。
据悉,2009年全球照明市场约1219亿美元,LED仅占0.5%,显见其未来潜力之可观。
其中,以亚太地区的市场规模为最大、约占全球33.7%之比例,居次为北美的30.1%和欧洲之27.4%。
以应用产品来讨论,户外照明约占12%,则具有相当大的成长空间,尤其以占有全球38%户外照明的中国市场为最。
此外,值得关注的部分是受政府政策及推广影响较为直接且快速的街灯应用可望成为照明产业中快速成长的第一棒。
预估在欧美优先领起的趋势中,2010年全球可达到450万盏LED街灯的水平,并且承于国际加紧节能减碳的脚步,一但路灯标准规格普及,中国市场可望占有世界50%以上的规模。
LED驱动器技术的发展体现在两个方面:第一,离线式高功率因数校正可调光LED驱动器可替代卤素灯、白炽灯和荧光灯;第二,LED驱动器能高效替代低压卤素灯。
以上两种应用需要为LED 提供电能及热能保护,以增加其耐用性。
其他发展趋势还包括优化驱动器以提供最佳功效,并非将电流最大化。
基于FPGA芯片控制全彩LED大屏幕图像显示系统系统设计随着数字技术的飞速发展,各种数字显示屏也随即涌现出来有LED、LCD、DLP等,各种数字大屏幕的控制系统多种多样,有用ARM+FPGA脱机控制系统,也有用PC+DVI接口解码芯片+FPGA芯片联机LED显示板控制系统。
尽管大尺寸液晶显示在未来的几年还有相当大的市场份额,但针对大尺寸直下式背光源的驱动和控制芯片的开发才刚刚有几年的历史。
针对LED背光源的特点,可以将复杂的控制技术和信号处理技术融合到背光源技术中,目前的做法是采用FPGA,各家均有不同的算法和控制方法。
随着背光技术和数字电视技术的发展,背光的控制算法及驱动方法的规范化,为了降低成本,将背光控制单元、屏显控制和电视的机芯微处理器由一个微处理器统一实现将是一种技术趋势。
(2)发展趋势高亮度LED 为未来趋势:高亮度LED 的三大市场为:汽车车灯市场、交通市场及全彩LED 显示屏。
1)汽车车灯市场方面,红色高亮度LED 应用于汽车第三煞车灯,而左右尾灯、方向灯及车边标识灯,可使用红色或黄色高亮度LED,而汽车仪表板上则需要各种颜色的高亮度LED,故汽车市场商机庞大。
2)交通号志方面,使用高亮度LED 主要为节省能源,且在阳光照射下可仍清楚辨识。
依据资料显示,目前全球约有2000 万座交通号志,而每一个红、黄、绿灯估计需要使用200 颗高亮度LED,故一座交通号志约需600 颗高亮度LED,如果考虑每年新设的交通号志加上更换旧交通号志,估计每年大约有200 万座,以每座更新成本约1.5 万台币计算,未来每年全球交通号志估计约有300 亿的市场价值。
3)全彩LED 显示屏方面,目前高亮度LED 已可以产生红、绿、蓝三原色的光,组成大型全彩LED 显示屏,目前大型LED 看板的使用以日本、中国、、韩国、、新加坡等亚洲地区为主,欧洲及美国其次。
中国大陆运用大型户外LED 看板宣达政令,故有其一定之需求;欧洲方面,常见的应用是文字显示及气象预报图像,另也盛行使用LED 显示屏做为广告招牌。
目前目前高亮度LED厂商持续costdown,市场接受度已逐渐提高,且高亮度LED 价格高于传统LED,厂商投入意愿较大,未来可望逐渐取代传统亮度LED 市场。
目前,基于FPGA(现场可编程门阵列)的LED显示屏的设计应用广泛,美国和中国台湾地区逻辑电路设计和制造厂家大都以Verilog HDL为主,中国大陆地区目前学习使用Verilog HDL已经超过VHDL。
从使用的角度看,对于集成电路(ASIC)设计人员来说,多是掌握verilog,因为在IC设计领域,90%以上的公司都是采用verilog进行IC设计。
而对于PLD/FPGA设计者而言,两种语言没有太大差别。
(3) 课题研究意义随着我国经济的高速发展,对公共场合发布信息的需求日益增长,利用LED点阵滚动显示汉字的出现正好适应了这一市场需求,已经成为信息传播的一种重要手段。
采用传统方法设计的汉字滚动显示器,通常需要使用单片机、存储器和制约逻辑电路来进行PCB板级的系统集成。
尽管这种方案有单片机软件的支持较为灵活,但是由于受硬件资源的限制,未来对设计的变更和升级,总是难以避免要付出较多研发经费和较长投放市场周期的代价。
随着电子设计自动化(EDA)技术的进展,基于可编程FPGA器件进行系统芯片集成的新设计方法,也正在快速地到代基于PCB板的传统设计方式。
因此,本设计的研究是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。
并且采用编写灵活的Verilog HDL语言编写主程序。
(4)论文结构论文主要从方案论证及选择、硬件电路设计、系统软件设计、制作与调试等几大方面来介绍基于FPGA的LED显示屏的设计和制作过程。