汉字点阵显示(精选9篇)
汉字点阵显示 篇1
0 引言
Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它可以仿真、分析各种模拟器件和集成电路,该软件的特点是:a.实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路、数字电路仿真、单片机及其外围电路的仿真、各种虚拟仪器,如示波器等功能。b.支持主流单片机系统的仿真。c.提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。d.具有强大的原理图绘制功能。Proteus软件的使用彻底改变了传统单片机学习和开发方式,初学者可以在没有实验硬件条件下进行仿真实验,开发者可以直接用Proteus进行电路设计和仿真运行程序,运行成功后再制作产品,缩短开发周期,节约开发成本。汉字点阵显示电路设计时,显示部分应用16×16点阵字模提取软件,提取"广东工贸"显示汉字的字模数据,通过查表取出字模数据送输出动态显示。
1 汉字显示电路设计
汉字点阵的控制电路采用AT89C51单片机,硬件电路由单片机接口电路、LED显示屏行列驱动电路、LED点阵显示屏三部分组成,如图1所示,电路用Proteus软件画出,具体画法参见文献[1]。
一般情况下要完全显示出常用汉字至少需要16×16点阵,但由于Proteus元件库中没有16×16LED模块,为了达到显示要求,每个汉字可由四块8×8 LED模块组成。组合方式为先对每个8×8模块行列引脚连接好总线,然后四个单色模块组合紧密。
驱动电路采用动态扫描驱动方式,设计中行驱动信号采用了16个同向驱动器7407,并在每根信号线上接上拉电阻;列驱动信号先接一4-16译码器74HC154,然后十六个列驱动信号接16个反向驱动器7406,并每根信号线接上拉电阻。
单片机上电复位后,当按列扫描时,四个汉字的第一个字由P1口输出列信号,首先第1列输出"1",第1列字模数据由16行输出(P0、P2口);然后延时一定时间后,第2列输出"1",第2列字模数据再由16行输出;……;如此循环,直至第16列;16列扫描完成后,再进行下一次循环扫描。所以在某一时刻,只有一行或一列LED被对应的字模数据驱动点亮。只要扫描间隔时间合适,利用人眼的视觉暂留特性,看上去整个字符就显示在LED点阵显示器上。
2 汉字显示程序设计
根据以上硬件电路和单片机控制原理,编程思路如图2所示。
图2汉字点阵动态显示程序流程图(参见下页)
完整的程序代码如下:
3 仿真及结果
仿真方法是:
(1)在Keil C51仿真软件下创建项目,并把上述源程序添加到项目中,通过编译产生一个".hex"为后缀的文件,此文件就是用于烧写到Proteus软件中AT89C51芯片的文件[2]。
(2)把生成的".hex"为后缀的文件添加到Proteus软件中绘制的AT89C51芯片中作为控制程序。方法参见文献[3]。
(3)在Proteus软件仿真电路图中点击左下角的运行按钮,则可在LED显示点阵中看到"广东工贸"四个汉字轮流显示的结果。
从仿真图中可以看到"东"字在LED显示点阵中显示出来,设定每个字显示1秒,下秒将显示"工"字,"广东工贸"四个字循环显示。四个字显示出来如图3所示。
摘要:Proteus软件经常用于单片机仿真,本文用Proteus软件设计汉字LED点阵动态显示,给出了完整设计电路和仿真程序源代码,通过仿真运行,在LED点阵中动态显示出"广东工贸"四个汉字。仿真结果表明Proteus软件在单片机应用设计中具有重要的使用价值,能极大缩短产品开发周期,节约开发成本。
关键词:Proteus,仿真,单片机,汉字动态显示,LED点阵
参考文献
[1]周润景.基于Proteus的电路与单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2005.
[2]金炯泰,金奎焕.如何使用KEIL8051C编译器[M].北京:北京航空航天大学出版社,2002.
[3]李秀忠.单片机应用技术[M].北京:人民邮电出版社,2007.
汉字点阵显示 篇2
1. 实验任务
在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。2. 电路原理图
图4.24.1 3. 硬件电路连线
(1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;(2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上; 4. 程序设计内容(1). 8X8 点阵LED工作原理说明 8X8点阵LED结构如下图所示
图4.24.2 从图4.24.2中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:
一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对应的行置0,而列则采用扫描的方法来实现。
6. C语言源程序
#include
unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(void){ unsigned char i,j;
for(i=10;i>0;i--)for(j=248;j>0;j--);}
void delay1(void){ unsigned char i,j,k;
for(k=10;k>0;k--)for(i=20;i>0;i--)for(j=248;j>0;j--);}
void main(void){ unsigned char i,j;
while(1){ for(j=0;j<3;j++)//from left to right 3 time { for(i=0;i<8;i++){ P3=taba[i];P1=0xff;delay1();} }
for(j=0;j<3;j++)//from right to left 3 time { for(i=0;i<8;i++){ P3=taba[7-i];P1=0xff;delay1();} }
for(j=0;j<3;j++)//from top to bottom 3 time { for(i=0;i<8;i++){ P3=0x00;P1=tabb[7-i];delay1();} }
汉字点阵显示 篇3
根据放射线管理规定, 加速器及各X光室在放射源送出或X射线出束时应有声、光、电等报警, 以防止无关人员进入工作场地造成辐射伤害, 因此在X光室显要位置放置警示说明十分必要。随着国内大规模集成电路的快速发展, 微处理器的运算能力大幅度增加, 单片机已在很多工业及商用系统中承担机械化、智能化的作用。STC89C52是一款具有低功耗、高性能的微控制芯片, 包含8K可编程Flash存储器, 为嵌入式控制系统提供了一种灵活、高效的解决方案。本文即采用STC89C52 单片机实现对8*64 点阵LED数字屏的控制和设计。
2 设计方案
在本设计中, 主控制器为STC89C52 单片机, 74HC154 芯片为译码器, 行驱动电路采用三极管8550 构成, 列驱动电路采用三极管8050 构成。应用4 个16×16 LED显示器级联构成16×64 的点矩阵汉字显示屏, 显示内容为“辐射重地禁止入内”八个大字不断左移循环显示。
(1) 系统硬件设计。STC89C52 各引脚功能如表1:
(2) 复位电路。复位的主要作用是把特殊功能寄存器的数据刷新为默认数据, 单片机在运算过程中由于干扰等外界原因造成寄存器中数据混乱不能使其正常继续执行程序 (称死机) 或产生的结果不正确时均需要复位, 以使程序重新开始运行。单片机的复位需要第9 引脚接 (VST) 接收到持续2us的高电平即可实现。
(3) 晶振电路。晶振电路的功能是为单片机提供稳定、可靠的参考时钟。晶振的频率常用的有6 MHz、11.0592 MHz、12 MHz、24MHz等。本文采用11.0592 MHz频率的晶振, 不仅可以获得较高的刷新频率, 而且使LED屏显示更加稳定清晰。晶振电路设计为在晶振两端分别接1 个20-30 p F的起振电容C1、C2 后接地, 然后两端接单片机的XTAL1 和XTAL2 引脚即可。
STC89C52 引脚图以及复位电路、晶振电路如下图1:
(4) 驱动电路。驱动电路分为行驱动和列驱动两种。列驱动电路由集成芯片74HC595组成。该集成芯片包含一个8 位的移位寄存器和8 位输出锁存器, 移位寄存器能实现串行输人并行输出, 且与输出锁存器的控制是分离的。从而可以在显示本行各列数据的同时传送下一行的列数据, 达到重叠处理的目的。
行驱动电路的设计类似于双向D触发器功能。由单片机P0口高4位的信号进入4/16线译码器译码, 生成16条行选通信号, 再经过三极管8550驱动到对应的行线上。
3 系统软件设计
根据分层式的软件设计思路, 可把显示屏的软件系统分成底层和上层两大层。底层是第一层的驱动显示程序;上层是第二层的系统应用程序。底层程序负责向LED屏传送特定组合的显示数据, 并产生行扫描信号和其他控制信号。LED显示屏的扫描显示工作由显示子程序实现, 初始化功能由相应的初始化程序实现, 显示效果则由主程序调用子程序来实现。
4 结语
随着嵌入式控制技术的日益发展, LED汉字点阵显示技术为警示装备提供了更广阔的思路和前景。现已将X光室所有显示屏全部更换, 改进后的警示屏外形美观、动态循环显示、字体明亮清晰、视觉警示效果明显, 且维修耗时短, 保证了重要场所的安全, 极大的避免了X光室的辐射隐患。
摘要:本文应用STC89C52单片机快速实现LED点阵汉字显示, 利用LED点阵技术和汉字编码, 从原理图设计到电路板开发, 基于单片机和译码器等元器件, 运用C语言设计LED汉字显示程序和单片机引脚控制程序。该设计方法可操作性强、电路易设计, 方便快捷的实现了LED动态汉字显示。
关键词:STC89C52单片机,LED点阵,汉字动态显示,警示装置
参考文献
[1]石东海.单片机数据通信技术从入门到精通[J].西安电子科技大学出版社, 2002.
[2]王标, 周新志.嵌入式系统中NAND FLASH写平衡的研究[M].微计算机信息, 2008, 24 (5-2) :8-9.
[3]Steven F.Barrett, Daniel J.Pack.Embedded System[M].北京:电子工业出版社, 2006.
汉字点阵显示 篇4
我们来到实训室,根据老师发下来的项目实训资料来完成单片机控制4个8×8LED显示实训。我们认真阅读实训内容,打开电脑,打开单片机系统,打开proteu软件,放置以及排序芯片,电阻、译码器、单片机控制的4个8×8LED点阵显示屏。
第二天:
对做好的硬件连接之后,检查所连接好的线是否正确。根据任意编程进行点阵显示,排查连接的是否有错误。
第三天:
分别打开EAT589、字模软件,在EAT598软件上进行编程的时候分清子程序码,使用字模软件的横向取模,取汉字的A51格式。
第四天:
打开软件,在软件上进行汇编语言程序设计,设计出了汉字显示,学习和熟悉单片机的指令程序。第五天:
根据之前所设计的汉字显示来修改,直到完成汉字的切换以及汉字的滚动效果。然后根据自己的兴趣完成自己的作品。
实训结果:
硬件连接完成,可以实现之后的汉字显示汉字切换以及汉字滚动,认真仔细的接好硬件连接,注意在字模上的取模,经过系列的汇编语言程序设计正常运行
体会:
通过这一周的实训,我们很好的完成了单片机的实训,收获了许多单片机的知识。完成了单片机控制4个8×8点阵显示汉字、切换以及滚动汉字。在这次的单片机实训中,了解单片机的用途,译码器原理,掌握单片机的编译程序和装载并进行运行,学习硬件和软件的基本操作,熟悉运行结果及检查进行实践。
ORG 0000H
LJMP MAIN
ORG 0040H
MAIN:MOV SP,#5FH
MOV DPTR,#TAB
MOV R1,#0
LCALL LA
LJMP MAIN
LA:
MOV R0,#00H
MOV R2,#0
MOV R4,#32
LB:
MOV P1,R0;行
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
INC R2
MOV A,R2
MOVC A,@A+DPTR
MOV P2,A
LCALL DELAY
INC R2
INC R0
DJNZ R4,LB
MOV R5,#8
DJNZ R5,LA
RET
DELAY:MOV R6,#20
D1:
D2:
MOV R7,#30DJNZ R7,$ DJNZ R6,D1 RET
TAB:
DB04H,20H,04H,20H,0FFH,0FEH,04H,20H,00H,00H,7CH,0F8H,44H,88H,44H,0F8H DB44H,88H,7CH,88H,44H,0F8H,44H,88H,7DH,08H,45H,08H,42H,28H,04H,10H
END
实训步骤:
1.硬件连接
2.检查连线是或否正确
3.根据编程进行点阵显示
4.打开软件进行设计汉字的显示
5.分清程序各码进行编译程序并运行
双色LED点阵显示系统 篇5
LED电子显示屏是20世纪80年代后期迅速发展起来的新型信息显示媒体, 以易于维护、色彩丰富、亮度高、使用寿命长、易于操作等优点, 逐步成为现在信息发布的一个主流载体。
本文研究的是双色LED点阵显示系统, 该系统是由单片机控制, 以74HC154作为行驱动、74HC595作为列驱动16×32双色点阵屏, 通过软件控制可以以各种方式显示数字、汉字、图片。采用串口下载, 可以根据要求级联成更大的屏、安装简单方便。
1 系统整体设计概述
本显示屏由STC12C5A32S2单片机为核心, PC机通过RS-232串口把程序下载到单片机, 单片机读到要显示的字模, 对驱动电路发出控制命令, 控制LED点阵屏对应的行和列, 在LED点阵屏上显示相应的汉字。系统原理框图如图1所示。
2 系统硬件电路设计
系统硬件主要划分为两大部分:单片机控制部分、点阵屏接口。
2.1 单片机控制部分
单片机控制部分只需一个单片机最小系统, 本设计选用的是STC12C5A32S2单片机, 它的执行速度比普通的单片机快很多, 价格也相对便宜, 大家也比较熟悉。
2.2 LED点阵屏接口电路
图2为本实验所用的双色8×8点阵 (共阴) LED显示屏, LED显示屏的行与列电极相互垂直, 在交叉点形成发光单元LED, 每个点有红绿两种灯珠, 点阵的驱动一般采取逐行扫描方式, 行电极轮流将低电位接通各行线, 使连接到各该行的全部LED的阴极接通低电平, 但具体哪一个LED导通, 还要看它的阳极是否接通, 由列来控制。显示什么颜色取决于列选为红色数据线还是绿色数据线。
本论文的双色点阵屏是由8块图2所示的8×8点阵构成, 有16行32列, 为了有效的利用单片机资源, 行驱动电路由1片74HC154组成, 由单片机P1口输出4bit二进制信号, 经1个4/16移码器74HC154, 生成点阵16条行选通信号线, 行选通低电平有效, 每次从第一行扫描到第16行, 每16行为一个扫描周期。行驱动电路如图3所示, 由于单片机的TTL输出口的驱动能力非常有限, 所以增加了4953作为行驱动管来驱动LED显示屏的行信号。
列驱动采用74HC595, 内含三态输出锁存器和内含移位寄存器, 可以把串行输入的数据并行输出。用8个74HC595分别锁存红色、绿色列线数据。
单片机2路控制信号与所有595的时钟输入SRCLK, 锁存信号RCLK相连, 第n片595的串行输出接到第n+1片595的串行输入端, 通过这种级联的方式连接, 同时每个595芯片并行输出。列驱动电路如图4所示:
3 系统软件设计
本设计中给出一种静态显示汉字的编程思路。先提取汉字的字模, 该汉字大小为16×16, 所以提取的字模为32个字节, 然后根据字模逐行送字模, 本论文采用1/16扫描方式。如果想显示不同的汉字或图像, 只要改变字模即可。例如要显示“点”这个汉字, 它的字模如下:
显示子程序是按照芯片的串行输入所要求的时序, 将所要输出汉字的字模一位一位的串行送到595的芯片中, 在芯片的输出端就可以得到并行数据输出。本论文点阵屏大小为16×32, 所以点亮每行时, 要串行传送四个字节。如果要将汉字显示为红色, 则关闭绿色, 字模发送到到红色数据线;反之显示绿色, 则关闭红色控制, 字模发送到传送到绿色数据线;如果红绿都亮则显示复合色橙色。串行发送子程序如下:
4 系统调试
编写程序, 使其在LED屏上显示“点阵”两个字, 一个红色、一个绿色。通电下载程序测试, 字体显示正确, 颜色显示正常。
5 结束语
本文设计的16×32双色点阵屏显示系统基本涵盖了LED显示屏的电路基本原理和基本程序, 不但可用于实验教学, 也可用于科研和实践;把软件的功能加以修改和扩充, 可显示更多样的画面。而且可以作为子模块进行不断级联、设计出符合要求的、更大的显示屏。应用面非常广, 具有极大的推广价值。
摘要:本文设计的是双色LED点阵显示系统, 该系统采用STC12C5A32S2单片机为主控模块, 以74HC154作为行驱动、74HC595作为列驱动16×32双色点阵屏, 通过软件控制能够很好的显示汉字和图形, 充分展示了LED显示的基本原理, 而且根据要求可以级联成更大的屏, 具有很好的推广价值。
关键词:LED点阵,串行输入,单片机,级联
参考文献
[1]李建忠.单片机原理及应用[M].西安:西安电子科技大学出版社, 2002.
[2]刘全忠.电子技术[M].北京:高等教育出版社, 1999.
[3]杨素行.模拟电子技术基础简明教程[M].2版.北京:高等教育出版社, 1998.
汉字点阵显示 篇6
1 系统分析
本项目设计了一个16*16LED显示屏, 由51单片机控制该显示屏连续显示“中国”两个汉字。首先用Protuse ISIS软件设计单片机的基本硬件电路和外围控制电路。其次根据硬件电路用Keil软件设计应用系统的程序并调试。最后进行软硬件的统一调试, 检查运行结果。
2 硬件设计
硬件电路包括的模块有:电源、晶振电路、复位电路、4-16译码电路、16*16LED屏。
(1) 电源模块:AT89c51单片机芯片的40引脚接VCC, 工作电压范围为4.0~5.5V, 20引脚接GND。
(2) 复位电路:89C51的第9引脚为复位引脚, 当此引脚连接高电平超过2个机器周期, 即可产生复位的动作。
(3) 译码电路:该电路应用一个74HC154集成芯片, 74HC154这种单片4线—16线译码器常适合用于高性能存储器的译码器。当两个选通输入E1和E2为低时, 它可将4个二进制编码的输入译成16个互相独立的输出之一, 如下表所示。
(4) 16*16LED屏:protuse仿真软件原件库中没有16*16的集成LED屏, 只有5*7、8*8等, 所以我们只能用4块8*8组成。如下图3该芯片共16个引脚, 上面8个引脚为行引脚, 低电平有效。下面8个引脚为列引脚, 高电平有效。
在硬件电路中, 我们利用P1口的低4位作为4-16译码器的输入端, 输出的16位电平作为16*16点阵的行输入端, 行作为扫描信号。P2和P3口组合起来作为16*16点阵的列输入端, 列作为显示信号。
3 软件设计
通过编写程序, 单片机控制16*16点阵连续显示“中国”两个字。
4 实验结果
实验结果如下图所示。
5 结语
本文介绍的只是一个简单的protuse仿真实例。采用protuse软件进行仿真实验教学, 克服了硬件电路固定、学生不能更改、实验内容固定的局限性, 可以扩展学生的思路, 提高学生的学习兴趣。
参考文献
汉字点阵显示 篇7
随着电子信息技术的飞速发展,LED点阵显示屏已成为当今社会一种常见的信息发布平台。LED点阵显示系统因其功耗低、亮度高、显示效果醒目、性能稳定、使用寿命长、易小型化、方便拼装等一系列优点,近几年来得到了迅猛的发展并获得广泛的应用。从机场、车站、码头到银行、邮局、商场、体育馆等各种需要发布信息的公共场所,甚至街头巷尾各种大大小小的门面招牌,几乎到处可见LED点阵显示屏的身影。
1 预备知识
LED即发光二极管,它是一种电致发光的半导体电子元件,其发光原理是PN结正向导通时电子与空穴复合幅射出可见光,可作为显示器件使用。LED点阵显示屏是由很多个LED构成,一个8×8LED点阵显示模块是由64只LED按照8行8列的阵列方式组成,同一行上的LED共阴极,同一列上LED共阳极,从而引出8根行线8根列线。将若干个8×8 LED点阵显示模块拼装在一起,把同一行的行线连在一起,再把同一列的列线连在一起,就可以组成规模更大的点阵显示屏。通过编程控制点亮其中某些LED、熄灭其余的LED,点亮的LED就可以显示各种字符、数字和汉字,甚或图形图像。
2 设计背景
当LED点阵显示屏扩大规模时,其行列线必然很多,如果直接与单片机I/O口相连,将导致I/O口不够用,加之由于单片机I/O口内部结构的原因,其输出电流较小,不足以直接驱动LED发光,故LED点阵显示屏不适合与单片机直接相连。
3 总体设计方案
本设计方案建立在单片机串行通信的基础上,通过移位寄存器级联的方式扩大显示屏的尺寸以达到增加显示内容的目的,仅占用少量I/O口,当显示屏进一步扩容时只需按类似的连接方法级联电路即可,并不增加I/O口的使用数量,为系统功能的进一步扩展预留了足够的空间。众所周知,除了4个并行I/O口以外,单片机还有一个功能强大、可编程控制的全双工串行口,用于和外设之间串行通信。串行通信的最大优点在于通信线路简单,节省I/O口线,从而降低通信线路成本,唯一缺点是通信速度不如并行通信方式快。该串行口有四种工作方式,尤以方式0最为简单,只需一根时钟信号线、一根数据线即可实现通信。当串行口工作在方式0时,为8位移位寄存器同步通信方式,通过外接移位寄存器,可达到扩展并行I/O口的目的。
4 硬件设计
(1) 主控制器的选择。在本设计方案中,主控制器采用Atmel公司的AT89S52单片机,它是一款低功耗、高性能的8位单片机,具有较高的性价比,其指令系统、引脚功能及片内硬件资源与MCS-51单片机产品完全兼容;片内含8KB Flash ROM和256字节的RAM,适于存放大量字模数据及数据处理的需要;关键是它所支持的ISP(在系统可编程)功能使得程序写入方便,无需专门的编程器,降低了系统开发的复杂度,节约了开发成本。 (2) 驱动及接口电路的设计。由于在本设计方案中要充分利用单片机的串行通信节约I/O口资源,并使串行口工作在方式0,以达到扩展I/O口的目的。此时需在串行口上外接移位寄存器,移位寄存器同时又作为驱动电路,驱动LED点阵显示器工作。此时,单片机的P3.0 (RXD)引脚作为数据输出端,接移位寄存器的串行数据输入端,P3.1 (TXD)引脚作为移位脉冲输出端,接移位寄存器的移位脉冲输入端。本设计中的移位寄存器采用74HC595,它是一款漏极开路输出的8位移位寄存器,输出端具有可控的三态输出锁存功能,不仅能实现串行输入并行输出功能,亦能串行输出到下一级级联芯片,其输出电流可达35mA,足以驱动LED发光。和其他具有相同逻辑功能的同类电路相比较,其主要优点是具有数据存储功能,在其内部数据移位的过程中可使输出端数据保持不变,这特别适用于串行通信速度较慢的场合,使LED不致发生闪烁现象。 (3) 显示电路及其与驱动电路的接口设计。在本设计方案中,以16×32 LED点阵显示器为例,将8块8×8 LED点阵显示模块按照上下各四块的方式拼装成16×32点阵显示屏,将同一行上的行线连在一起,引出16根行线;将同一列的列线连在一起,引出32根列线。利用四个74HC595控制LED点阵显示屏的32根列线,两个74HC595控制16根行线,并将它们依次级联起来,只将最前端的74HC595的串行数据输入端与单片机的P3.0 (RXD)引脚相连,将所有74HC595的移位脉冲输入端连在一起,与单片机的P3.1 (TXD)引脚相连,再将所有74HC595的锁存脉冲输入端连在一起,与单片机的P3.2引脚相连。 (4) 注意事项。考虑到串行通信时数据的传输是由低位到高位的顺序依次进行的,而移位寄存器74HC595的数位顺序与此相反(最先传送的最后移位到最高位上),因此要注意74HC595与LED点阵显示屏的行线和列线相连时要颠倒高低位的顺序,即用74HC595的高位(Q7)接行线(或列线)的低位,其余位依次类推。
5 软件设计
本系统的软件部分采用C51语言编程,按模块化结构设计,主要包括串行通信发送单字节数据函数、LED点阵显示器的逐行动态扫描显示函数和主函数。
显示函数可采用逐行或逐列方式动态扫描,扫描方式不同,字符的取模方式亦不同,应根据扫描方式采用与之对应的取模方式。
6 结语
本设计方案电路结构简单,充分利用单片机的串行通信,节约了I/O口资源,仅占用少量I/O口,为系统功能的进一步扩展预留了足够的空间,稍加改进即可作为一个实用的信息发布平台应用于实际生活和工作中。
摘要:本文以16×32LED点阵显示器为例介绍了一种基于单片机串行通信的点阵显示系统的设计与实现方法。该系统利用单片机的串行通信功能, 外接移位寄存器, 通过级联方式扩大显示屏的尺寸以达到增加显示内容的目的。点阵显示屏可采用逐行 (或逐列) 动态扫描。单片机选用价格低廉、程序写入方便的AT89S52, 使得整个系统维护方便。该系统电路结构简单, 仅占用少量I/O口, 为系统功能的进一步扩展预留了足够的空间, 稍加改进即可作为一个实用的信息发布平台应用于实际生活和工作中。
四字LED点阵显示屏的制作 篇8
一、显示汉字原理
我们以UCDOS中文宋体“大”字库为例, 如图1所示。每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素, 而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示256像素的图片。
图2是8×8点阵的原理图。其实就是64个发光二极管, 以8×8矩阵的形式连接在一起, 要完整显示一个汉字需要256个像素点, 所以要四块8×8点阵拼起来用, 变成16×16个点。其点阵显示的原理是将51单片机的P0 P2口接点阵的16个行, 然后第0列送高电平, 单片机是低电平有效, 也就是说现在P0 P2的16个口中那个口有低电平, 其相应的LED亮, 现在还以“大”为例P0口送11011111, P2口送11111111既P0=0xdf, P2=0xff, 然后延时一段时间, 关闭第0列, 打开第1列, 既送高电平, 此时P0=0xdf, P2=0xbf, 再延时一段时间……一直到16列送完, 再重复从第0列循环。利用人眼的视觉暂留效应, 感觉显示的是稳定的汉字。
二、采用行扫描列送数方式
我们在这里采用行扫描列送数的方式 (如图3所示) , 有点阵的行线接在一起, 变成了16根行线, 扫描16根行线达到整屏扫描的效果, 硬件可以采用4线—16线译码器74LS154, 代替P0、P2的循环扫描, 由于笔者手头没有74LS154故采用两个3线——8线的译码器74LS138串接实现, 如图4所示。
行扫描共用五根线实现 (A、B、C、D和使能端G1) , 其中D为第一块138的E3和第二块138的E1并接, G1为第一块138的E2和第二块138的E2并接, (低电平有效) 。
列上我们用串口转并口的移位寄存器, 可以达到用一根线就可以实现数据的传输, 这在硬件上无疑是非常经济的。这样各行的显示就分成了两部分既数据的传输和数据显示。但是串行传输缺点就是慢, 需等待数据传送完成, 才打开相应的行, 为解决串行传输中列数据传输和显示时间的矛盾问题, 可以采用重叠的方法。即显示一行数据的同时送下一行的数据。这样硬件就需要有锁存的功能。经上述分析, 列储存器应具备两种功能:一是串入并出的移位功能, 二是具有并行锁存的功能。所以笔者采用了具有串入并出并带有锁存的移位寄存器74LS595。这样, 本行的显示数据打入锁存器显示时, 串口寄存器就开始下一行的数据的移位, 从而不会影响本行的显示时间, 大大的提高了显示的亮度。
三、硬件选择
主控芯片选择的是STC89C52单片机, 内部带有8k的储存储存空间, 采用12MHz的晶振, 提高刷新频率, 使显示更加稳定。同时采用P2^0~P2^3做行循环扫描, P2^7为译码器的使能端, P1^5为发数控制信号, TXD为移位脉冲输出端, RXD为显示数据输出端, P0、P2暂时空闲, 用于扩展系统ROM和RAM。显示原理图如图5 (仅参考并非真实电路图) 。
主要元器件的选择:行扫描芯片为两块74LS138, 移位寄存器为74LS595, 晶振为12MHz, 点阵限流电阻为470Ω (改变大小可改变屏的亮度) , 行驱动三极管为8550。
四、软件设计
软件流程图如图6所示。
软件的设计主要由主程序, 初始化子程序, 中断扫描子程序, 显示程序等组成。C语言由于具有移植性强, 可以实现复杂运算, 函数化结构, 可以直接进行位运算, 非常适合初学者学习等优点。所以本程序采用C语言编写。在KEIL 51环境下调试, PROTEUS下仿真。
部分程序解释如下:
初始化程序:
左移显示程序:
中断扫描程序:
程序仿真效果图如图7所示。
注:由于点阵的接线用了网络标号, 所以屏中出现了八条红色的竖线, 影响了仿真效果。
五、硬件的焊接与调试
显示部分采用一块带驱动电路, 主控板一块, 显示板由于线路复杂、接线多、所以采用双面布线
主控板其实就一个STC89C52的单片机, 外接最小系统 (晶振和复位) , 并引出九根线控制线。比较简单, 这里采用万能实验板制作, 如图9所示。显示结果如图10所示。
结束语
汉字点阵显示 篇9
随着社会的不断进步与发展, 人们在获取信息的同时对信息获取的方法和传输方式有了更高的要求。LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体, 它利用发光二极管构成的点阵模块或像素单元组成平板显示屏幕, 以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点, 在信息显示领域得到了广泛的应用。
本文介绍一种由单片机构成的LED显示屏, 该显示屏可通过PC机的USB界面将数据传送到C8051F340的XRAM中, 再由单片机通过无线发送到点阵显示屏系统显示所需的图形文字。
2 系统基本原理
系统采用VC++6.0编写上位机程序, 对字模进行提取、编码及转化, 通过USB发送子程序将点阵代码发送到下位机中, 再由下位机通过无线传输发送到接收子机C8051f340的XRAM中, C8051f340通过驱动电路将汉字信息在点阵屏上显示出来。系统组成框图如图1所示:
3 上位机软件设计
本文讨论的上位机软件是在Microsoft Visual C++6.0环境下的制作的。主要针对LED点阵显示屏中字模的提取、显示方式和显示速度的设置。字模是提取由双字节上位机整体界面如图2:
汉字点阵的编码以UCDOS中文宋体字库为例, 每个汉字由16行16列的点阵组成, 即国标汉字库中的每一个字均由256个点阵来表示。中文操作软件 (UCDOS) 中包含16×16点阵汉字字库文件。
在字库中寻找需要的汉字字模首先要计算区位码设汉字机内码的两个字节为H HLL, 区码q h, 位码为w h, 则有:
qh=HH-0xa0;
wh=LL-0xa0;
再计算汉字点阵数据存储位置偏移量。偏移量是指字模首字节距离文件头的相对位置, 其计算原理是求出被检索汉字之前的汉字个数再乘每个汉字所占的字节数。1个n×n点阵字符所占字节数等于n×n÷8, 如16×16点阵占32个字节。
offset= (94× (qh1) + (wh1) ) ×32
最后移动文件指针读出点阵字模数据。打开点阵字库文件, 将文件指针从文件头向后移动offset个字节, 然后使用文件读取函数读出字模。如使用WindowsAPI函数:
int fseek (FILE*stream, long offset, in t fromwhere) ;
函数设置文件指针stream的位置。如果执行成功, stream将指向以fromwhere (偏移起始位置:文件头0, 当前位置1, 文件尾2) 为基准, 偏移offset (指针偏移量) 个字节的位置。如果执行失败 (比如offset超过文件自身大小) , 则不改变stream指向的位置。
int fread (void*ptr, int size, int nitem s, FILE*stream) ;
用于接收数据的地址 (指针) (ptr)
单个元素的大小 (size) :单位是字节而不是位, 例如读取一个整数值就是4
元素个数 (nitems)
提供数据的文件指针 (stream)
返回值:成功读取的元素个数
4 USB模块
现在上位机多数采用串口方式把数据发送到下位机。本文讨论的的上位机通过US B传输到下位机。USB协议层反映了USB主机与USB设备进行交互的语言结构和规则。
C8051F340集成了一个完整的全速/低速USB功能控制器, 用于实现USB外部设备。但这些设备却不能被用作USB主设备。U SB功能控制器由串行界面引擎 (SIE) 、USB收发器 (包括匹配电阻和可配置上拉电阻) 、1K B FIFO存储器和时钟恢复电路 (可以不用晶体) 组成, 不需要外部元件。USB功能控制器和收发器符合通用串行总线规范2.0版。以上C8051F340的一些特性使得使用USB传输得以方便的使用。
在开发C8051F340的USB传输时可以先在新华龙电子有限公司官网上下载安装AN200SW的USB开发包。在其卡发包中Demo.t xt文件中讲述了USB开发过程。其中要求先下载USBXpress_InstallXP.exe的安装包。US BXpress开发包涵盖了主机端和设备端的所有函数功能安装好后会产生下位机和上位机开发的头文件USB_API.h和SiUSBXp.h的上位机头文件。遵循Demo.txt顺序安装好USB后的预安装默认VID=0x10C4, PID=0x EA61。下位机USB代码如下:
USB_VID, 16位二进制卖主ID号, 一般用SILICONLab的ID号 (OXl0C4) 。
USB_PID, 16位二进制产品ID号, 一般USBXpress规定为OXEA61。
USB_MfrStr, BYTE型指针, 指向描述厂商的字符串, 不能为空。
USB_ProductStr, BYTE型指针, 指向描述产品的字符串, 不能为空。
USB_SerialStr, BYTE型指针, 指向描述序列号的字符串, 不能为空。
USB_MaxPower, BYTE型, 说明总线最大电流, 极限为500 mA。若取值0x32, 则表示最大电流为100 mA。
USB_PwAttributes, BYTE型, 用于供电配置。如果设备自己供电第6位置“1”, 若为总线供电则为“O”。如果设备提供弱上拉作用, 第5位置“l”, 位0~4必须为“O”, 位7必须为“1”。
USB_bcdDEVICE, 无符号int型, 用BCD码表示设备的版本号, 如2.13版为Ox0213。
5 USB中断函数如下
在VC++6.O编译环境下开发主机端的USB通信应用程序, 需要注意在编译之前向工程中添加开发包提供的SiUSBXp.dll、SiUSBXp.h和SiUSBXp.lib档。
上位机主要API函数调用
SI_Open (DWORD dwDevice, H A NDLE*cyHandle) ;//打开USB
SI_Write (HANDLE cyHandle, LPVOID lpBuffer, DWORD dwBytesToWrite, LPDW ORD lpdwBytesWritten, OVERLAPPED*o=NULL) ;//将数据传输到下位机
SI_Close (HANDLE cyHandle) ;//关闭USB
6 无线传输设计
本设计的无线传输采用RFM12。RF1M2是一款低成本高集成的FSK收发一体IC, 其内部集成了所有的RF功能模块电路, 外围只须一个MCU, 一个晶振, 一个旁路电容和一个外置天线就可组成一个带有PLL技术的高可靠性的收发系统, 具有设计简单, 生产无需调试的特点。可工作在315/433/868/915MHZ四个频段。两个RF12即可组成一个完整的双向收发系统。在无需外加功放电路的情况下, 距离可达到200米以上。
RF12还集成了一个数字界面, 轻易实现由MCU通过软件设置, 就可精确调整各种射频参数 (如中心频点, 接收带宽等) 。而无需调整硬件电路, 可轻易实现跳频功能。
显示屏的无线接收下位机发射的数据信息, 经过相应的校验实现数据的正确传输。无线传输流程图如图2-1。
7 显示屏的驱动
点阵显示模块主要由点阵显示面板和点阵驱动板组成。采用两片74HC595为列驱动, 两片74hc138+S8550作为行扫描。并设有级联端口, 将多个模块级联, 可方便的组成典型的16*64、16*128点阵显示屏 (图3, 图4) 。
接收到的字模存储在XRAM中
uchar xdata BUFF_Sotr[128][32];//用于存储无线发送过来的字模
该显示是动态刷新16行点阵
8 小结
本文介绍了字模提取、USB通信、无线传输和点阵屏驱动的电路设计和设备端的驱动设计, 简单说明了查c8051f340单片机自带通用串行总线控制器的卡发过程。所有设计思路和方法都通过了实验验证, 可以直接用于工程项目开发。
参考文献
[1]张呈祥.汉字字模提取技术[J].电脑知识与技术, 2007年19期.
[2]陈启美, 吴琨, 丁传锁, 陈锁柱.USB协议层[J].电力自动化设备, 2001年第5期.
[3]刘丽娟, 莫远国, 李尧.无线传输中一种基于节能的多位纠错算法[J].传感器与微系统, 2010年第29卷第6期.
[4]隆声.前程似锦的无线射频识别技术[J].现代通信, 2004年10期.
【汉字点阵显示】推荐阅读:
led点阵显示课程设计10-17
汉字显示01-06
汉字动态显示12-01
汉字显示与数字显示08-22
汉字滚动显示论文12-02
16*16点阵01-07
8点阵LED07-26
16*16LED点阵07-30
二氧化碳点阵激光10-22
1616点阵项目说明书10-20