汉字点阵显示系统的设计与实现Word格式文档下载.docx

上传人:b****5 文档编号:19012385 上传时间:2023-01-03 格式:DOCX 页数:15 大小:62.80KB
下载 相关 举报
汉字点阵显示系统的设计与实现Word格式文档下载.docx_第1页
第1页 / 共15页
汉字点阵显示系统的设计与实现Word格式文档下载.docx_第2页
第2页 / 共15页
汉字点阵显示系统的设计与实现Word格式文档下载.docx_第3页
第3页 / 共15页
汉字点阵显示系统的设计与实现Word格式文档下载.docx_第4页
第4页 / 共15页
汉字点阵显示系统的设计与实现Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

汉字点阵显示系统的设计与实现Word格式文档下载.docx

《汉字点阵显示系统的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《汉字点阵显示系统的设计与实现Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

汉字点阵显示系统的设计与实现Word格式文档下载.docx

行驱动器是由译码器74LS154构成,单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。

3各单元电路的设计

3.1系统的电源电路

汉字点阵显示喜用可以直接与220V交流电相连,经过变压器、整流桥后输出12V带有交流成分的直流电压,再经过滤波电容后输出12V直流工作电压,供给四个串联LED工作;

再将12V直流工作电压接7805的1脚,2脚接地、3脚便输出5V直流电压再经过一滤波电容输出+5V直流电压为主控模块89C51提供5V工作电压,接法如图二所示。

图二系统电源电路

3.2单片机小系统

单片机采用89C51芯片,89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

P1口低4位与行驱动器相连,送出行选信号;

P1.5~P1.7口则用来发送控制信号。

P0和P2口空着,在有必要时可以扩展系统的ROM和RAM。

 

图三单片机小系统

3.3显示驱动控制电路

显示驱动控制电路分为列驱动电路和行驱动电路。

列驱动电路是由集成电路74HC595构成。

它具有一个8位传入并处的移位寄存器和一个8位锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

74HC595的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。

引脚SI是串行数据的输入端。

引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。

移位后的各位信号出现在各移位寄存器的输出端,也就是输出寄存器的输入端。

RCK是输出寄锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。

引脚G是输出三态门的开放信号,只有当其为低时移位寄存器的输出全部为0.由于SCK和RCK两个信号是相互独立的,所以能够做到输入串行移位与输出锁存互不干扰。

芯片的输出端为QA~QH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。

但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH,作为与移位寄存器完全同步的级联输出。

图三74HC595外形及内部逻辑结构图

行驱动电路是由译码器74LS154构成,单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。

一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,16个LED同时发光时,需要320mA电流,选用三极管8550作为驱动器可满足要求。

4电路的制作

在Protel99SE中画出电路原理的SCH图,再转化成相应的PCB图,在PCB图中把各个元器件的位置摆放合适,以保证线条有足够的宽度,而且交叉线最少。

检查无误后通过刻板机刻出PCB板。

对照PCB电路图,将选择好的元件正确地安装在PCB板上。

在焊接时,要有足够的热量和温度。

如温度过低,焊锡流动性差,很容易凝固,形成虚焊;

如温度过高,将使焊锡流淌,焊点不易存锡,焊剂分解速度加快,使金属表面加速氧化,并导致印制电路板上的焊盘脱落。

尤其在使用天然松香作助焊剂时,锡焊温度过高,很易氧化脱皮而产生炭化,造成虚焊。

电路板各元器件焊接完成之后,就可对电路进行调试了。

在调试之前,一定要先认真的做好目视检查,检查在焊接的过程中是否有可见的短路和管脚搭锡等故障;

检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题。

然后用万用表测量各个电源到地的电阻,以检查是否有短路,这个好习惯可以避免贸然上电后损坏PCB板。

检查无误后就可以接通电源,导入程序检查电路板是否工作正常。

16×

16点阵显示屏PCB图

5程序设计

显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。

根据软件分层次设计的原理,可把显示屏的软件系统分为两大层:

第一层是底层的显示驱动程序,第二层是上层的系统应用程序。

显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。

显示驱动程序由定时器T0中断程序实现。

系统应用程序完成系统环境设置,显示效果处理等工作,由主程序来实现。

5.1程序流程图

显示驱动程序在进入中断后首先要对定时器T0重新赋值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

刷新率=1/16×

溢出率=1/16×

其中

为晶振频率,

为定时器

初值。

然后显示驱动程序查询当前燃亮的行号从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。

为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后在输出新的行号,重新打开显示。

右图为显示驱动程序(显示屏扫描函数)流程图。

系统主程序开始以后,首先对系统环境初始化,包括设置串口,定时器,中断和端口;

然后向上滚动显示“厚学启智修德树人”八个汉字。

5.2源程序

软件程序主要由开始、初始化、主程序、字库组成。

;

**********************************************;

字幕显示:

(源程序)

ORG0000H

LJMPSTART

ORG0003H

RETI

ORG000BH

LJMPINTT0

ORG0013H

ORG001BH

ORG0023H

ORG002BH

****************;

初始化程序;

***************;

主程序;

START:

MOV20H,#00H

MOVA,#0FFH

MOVP1,A

MOVP2,A

MOVP3,A

MOVP0,A

CLRP1.6;

串行寄存器输入打入输出控制位

MOVTMOD,#01H;

使用T0作16位定时器,行扫描用

MOVTH0,#0FCH;

1MS初值(12MHZ)

MOVTL0,#18H

MOVSCON,#00H;

串口0方式传送显示字节

MOVIE,#82H;

T0中断允许,总中断允许

MOVSP,#70H

MAIN:

LCALLDIS1;

显示准备,黑屏,1.5S

MOVDPTR,#TAB

LCALLMOVDISP;

向上滚动显示一页(8个字)

INCDPH

AJMPMAIN

****************;

多字滚动显示子程序;

*****************;

每次8个字,入口时定义好DPTR值

MOVDISP:

MOVB,#00H;

向上移动显示,查表偏址暂存(从00开始)

DISLOOP:

MOVR3,#07H;

移动速度

DISMOV:

MOVR2,#00H;

第0行开始

MOVR1,B

SETBTR0;

开始扫描(每次一祯,每行1ms)

WAITMOV:

JBC01H,DISMOV1

AJMPWAITMOV

DISMOV1:

DJNZR3,DISMOV;

一祯重复显示(控制移动速度)

INCB;

显示字的下一行

INCB

MOVA,R1;

R1为0,8个字显示完

JZMOVOUT

AJMPDISLOOP

MOVOUT:

RET;

移动显示结束

**************;

单字显示子程序;

显示表中某个字

DIS1:

MOVR3,#5AH;

静止显示时间控制(16ms*#=1.6s)

DIS11:

一祯扫描初始值(行地址从00~0F)

MOVDPTR,#TAB;

取表首址

MOVR1,#00H;

查表偏值

开扫描

WAIT11:

JBC01H,DIS111;

为1,扫描一祯结耸?

AJMPWAIT11

DIS111:

DJNZR3,DIS11

RET

扫描程序;

1MS刷新一次,每行显示1S

INTT0:

PUSHACC

1MS初值重装

MOVTL0,#18H

JBC00H,GOEND;

16行扫描标志为1,结束

INCR1;

取行右边字节偏址

MOVA,R1

MOVCA,@A+DPTR;

查表

MOVSBUF,A;

串口0方式发送

WAIT:

JBCTI,GO;

等待发送完毕

AJMPWAIT

GO:

DECR1;

取行左边字节偏址

MOVA,R1

MOVCA,@A+DPTR

MOVSBUF,A

WAIT1:

JBCTI,GO1

AJMPWAIT1

GO1:

SETBP1.7;

关行显示,准备刷新

NOP;

串口寄存器数据稳定

SETBP1.6;

产生上升沿,行数据打入输出端

NOP

NOP

恢复低电平

MOVA,R2;

修改显示行地址

ORLA,#0F0H;

MOVR2,A;

MOVA,P1;

ORLA,#0FH;

ANLA,R2;

MOVP1,A;

CLRP1.7;

开行显示

INCR2;

下一行扫描地址值

INCR1

下一行数据地址

MOVA,R2

ANLA,#0FH

JNZGO2

SETB00H;

R2为10H,现为末行扫描,置标志

GO2:

POPACC

RETI

GOEND:

CLRTR0;

一祯扫描完,关扫描

SETB01H;

一祯扫描完。

置结束标志

POPACC

RETI;

退出

*************************************************;

扫描汉字表;

TAB:

DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;

1黑屏

2

DB

xC0,0x03,0xDF,0xFF,0xD0,0x07,0xD7,0xF7,0xD0,0x07,0xD7,0xF7,0xD0,0x07,0xDF,0xFF;

DB0xD0,0x07,0xDF,0xCF,0xDF,0x3F,0xD0,0x03,0xBF,0x7F,0xBF,0x7F,0x7D,0x7F,0xFE,0xFF;

/*"

厚"

DB0xFE,0xF7,0xEF,0x73,0xF3,0x37,0xF7,0x6F,0x80,0x01,0xBF,0xFB,0x70,0x17,0xFF,0xBF;

DB0xFF,0x7F,0x80,0x01,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFD,0x7F,0xFE,0xFF;

学"

1*/

DB0xFE,0xFF,0xFF,0x3F,0xFF,0x7F,0xE0,0x03,0xEF,0xFB,0xEF,0xFB,0xE0,0x03,0xEF,0xFF;

DB0xEF,0xFF,0xE8,0x03,0xEB,0xFB,0xDB,0xFB,0xDB,0xFB,0xB8,0x03,0x7B,0xFB,0xFF,0xFF;

启"

DB0xDF,0xFF,0xC0,0xFF,0xB7,0x83,0xF7,0xBB,0x00,0xBB,0xF3,0xBB,0xF5,0x83,0xEE,0xFF;

DB0x90,0x0F,0xF7,0xEF,0xF7,0xEF,0xF0,0x0F,0xF7,0xEF,0xF7,0xEF,0xF0,0x0F,0xF7,0xEF;

智"

DB0xEE,0xFF,0xE6,0xFF,0xCE,0x07,0xDC,0xF7,0x95,0x6F,0x53,0x9F,0xD7,0x67,0xD4,0xB1;

DB0xD7,0x1B,0xD6,0x67,0xD9,0x9F,0xDE,0x73,0xD9,0xCF,0xDF,0x3F,0xD8,0xFF,0xFF,0xFF;

/*"

修"

DB0xEF,0xBF,0xE7,0xBF,0xD8,0x01,0xAF,0xBF,0x64,0x03,0xCD,0x6B,0xDD,0x6B,0x9C,0x03;

DB0x5F,0xFF,0xD0,0x01,0xDF,0xFF,0xDA,0xBB,0xDA,0xDD,0xDA,0xF5,0xD7,0x07,0xDF,0xFF;

德"

DB0xEF,0xFB,0xEF,0xFB,0xEF,0xFB,0xEC,0x3B,0x03,0x81,0xED,0x7B,0xC5,0x7B,0xCA,0xDB;

DB0xAA,0x6B,0xAE,0xBB,0x6D,0xBB,0xEB,0xFB,0xE7,0xFB,0xEF,0xFB,0xEF,0xEB,0xEF,0xF7;

树"

DB0xFE,0xFF,0xFE,0x7F,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFD,0x7F,0xFD,0x7F;

DB0xFB,0x7F,0xFB,0xBF,0xF7,0x9F,0xF7,0xCF,0xEF,0xE7,0xDF,0xF1,0xBF,0xFB,0xFF,0xFF;

人"

END

6制作调试过程中出现的问题及其解决方法

问题之一:

显示系统接通电源的瞬间,屏幕可显示部分汉字,但持续时间较短,之后为黑屏。

经反复检查、测试,发现屏幕在点亮的瞬间,电源电压急速下降,由此判断问题的原因是5V变压器负载能力不足。

解决的方法是:

把原来的5V变压器更换为12V单输出变压器后,问题得到解决。

问题之二:

提高变压器负载能力后,显示屏可以持续点亮,但是显示屏中有几列有重影,而且有一行完全不能点亮。

经过对电路的仔细核查,发现重影是由于点阵显示块部分引脚短路造成的,割断相应短路线后,问题迎刃而解。

有一行完全不能点亮,根据驱动控制电路的工作原理,分析该问题可能是对应由于行驱动电路有问题,经实际测试,发现该行驱动管8550是坏的,更换之后问题得到解决。

结束语

本文所设计制作的汉字点阵系统,以单片机AT89C51为控制核心,具有电路结构简单、成本低廉、显示屏各点亮度均匀、显示图形或文字清晰无明显串扰现象、显示方式和显示信息可控且易于扩展成更大的显示屏等优点。

其不足之处是显示汉字的过程中,偶尔会感觉两字之间过渡不够稳定,如果采用24MHz晶振,提高刷新频率,显示效果将会更加完美。

参考文献

[1]汪清明.LED点阵显示牌的设计与动态显示控制[J].微机算机信息,2001,(05).

[2]赵双萍,罗琦.LCDLED汉字多点阵字模提取[J].微机算机信息,2002,(05).

[3]施齐云.一种LED汉字信息动态显示可控系统的设计[J].信息技术,2002,(12).

[4]付永庆,张林.用EDA设计LED汉字滚动显示器[J].电子产品世界,2001,(10).

[5]邓双成,周灿丰,田海晏,焦向东,张沛,杨利华.AT89C2051单片机的汉字显示接口技术[J].北京石油化工学院学报,2003,(03).

[6]陆爱明.单片机和图形液晶显示器接口应用技术[J].电子产品世界,2001,(15).

[7]潘建华,魏跃文.C语言实用界面技术[M].西安:

西安电子科技大学出版社,1995.

[8]孟庆洁.灵活实用的小型汉字库

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1