基于单片机控制的点阵式汉字电子显示屏的设计.doc
毕业设计(论文)任务书题目: 点阵式汉字电子显示屏的设计任务与要求:以MCS-51系单片机为核心器件,组成点阵式汉字电子显示屏。显示屏由16*16LED点阵显示器组成,可以以此显示4个汉字。通过编编译可以对汉字修改。时间: 所属系部: 学生姓名: 学 号: 专业: 指导单位或教研室: 电子技术教研室指导教师: 职称: 2010年4月15日毕业设计(论文)进度计划表日 期工 作 内 容执 行 情 况指导教师签 字教师对进度计划实施情况总评 签名 年 月 日 本表作评定学生平时成绩的依据之一。目 录第1章 设计内容及设计方案11.1设计要求11.2 总体设计方案和论证11.2.1 LED显示屏控制系统设计11.2.2系统模块化设计1第2章系统的功能概述22.1电路的基本概述22.1.1 电路的基本组成22.1.2电路的特点及功能22.2 主要设计内容及技术指标32.2.1 主要设计内容32.2.2 主要技术指标32.3 LED显示屏控制系统设计3第3章 系统硬件设计43.1 硬件电路组成及工作原理43.3 AT89C51单片机的结构53.3.1 AT89C5基本结构53.3.2 单片机引脚图及封装73.4 74 LS154译码器芯片介绍103.5 8×8 LED点阵显示模块的硬件设计及工作原理11第4章 系统的软件设计134.1 软件流程134.2 汉字的表示及编码原理144.3 提取汉字的软件的设计及实现154.3.1 汉字的实现16第5章 系统调试与测试结果分析185.1元器件清单和使用的仪器仪表185.1.1电子设计元件清单185.1.2 使用的仪器仪表185.2 系统调试185.2.1硬件调试195.2.2软件调试195.2.3硬件软件联调205.3 测试结果20总 结21谢 辞22参 考 文 献23附录1 电路设计总原理图24附录2 程 序 清 单25摘 要随着电子技术和信息技术的迅速发展,计算机技术正在日益渗透到人们日常生活的方方面面,在这一进程中,单片机起到了重要作用。单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃且颇具生命力的机种。单片微型计算机简称单片机,特别适用于控制领域,故又称微控制器( MicroController Unit, MCU),单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器(CPU)、存储器(MEM)、输入/输出接口(I/O)等。因此,单片机只需要有适当的软件和外部设备,便可组成为一个单片机控制系统。自20世纪70年代问世以来,已经对人类社会的各个方面产生了巨大的影响。单片机技术开发和应用水平已经成为一个国家工业化发展水平的重要标志。近年来,由于单片机在国防、工业、医疗、交通、通信、机器人等高精尖技术领域的广泛应用,促进了单片机技术的迅猛发展。为了适应广泛要求,各种新型的速度快、体积小、功能全、功耗低的单片机不断涌现出来。比较有代表性的主要有Intel公司的MCS-51系列以及其他公司的基于51内核的兼容机、PIC公司的PIC系列单片机、Atmel公司的AVR系列单片机以及32位ARM单片机等等。关键字:控制、微控制器、单片机第1章、设计内容及设计方案1.1、设计要求以MCS-51系单片机为核心器件,组成电阵式汉字电子显示屏。显示屏游16*16LED点阵显示器组成,可依次显示4个汉字。通过编程可以对汉字修改。1.2 、总体设计方案和论证1.2.1、 LED显示屏控制系统设计LED显示屏控制系统实现显示信息的刷新技术有动态扫描和静态锁存两种方式。方案一:动态扫描,即一行发光二极管共用一行驱动寄存器,根据共用一行驱动寄存器的发光二极管像素数目,分为1/4,1/16扫描等;方案二:静态锁存,即每一个发光一极管都对应有一个驱动寄存器,从而保证了每一个发光一极管的亮度占空比为100%;动态扫描法可以大大减少控制器的I/O口,不但符合本设计的要,求而且应用较广,因此选用方案一。LED显示屏的数据传输方式主要有串行和并行两种。日前普遍采用串行控制技术,显示屏每个单元内部的不同驱动电路和各级联单元之间,每个时钟仅传送一位数据。采用这种方式的驱动IC种类较多,不同显示单元之间的联线较少,可减少显示单元的数据传输驱动元件,从而提高整个系统的可靠性和性价比,具体工程实现也较为容易。因此本设计采用串行控制技术。1.2.2、系统模块化设计本系统采用单片机AT89C51为LED显示屏的控制核心,系统主要包括LED8×8点阵显示模块、74ls154译码器等。图1-1总体硬件组成框图系统框图如图1-1所示,系统主要由三大模块组成即74ls154译码器、AT89C51单片机, 8×8 LED点阵显示模块。第2章、系统的功能概述 2.1、电路的基本概述2.1.1 、电路的基本组成 由AT89C51、4片74LS273及LED显示屏为核心组成的点阵式LED汉字显示屏是主要由时钟电路、复位电路、51单片机、点阵阳极驱动电路、点阵阴极驱动电路、16×16显示屏6部分组成。该电路采用AT89C51单片机最小化应用设计,P0口作为I/O口,输出行数据和控制信号。P2口作为I/O口,与“写”控制信号配合,输出列控制信号。LED显示采用动态扫描方式实现。控制电路部分由4片74LS32和4片74LS273传输信号,传输出来的信号通过74LS273输出。通过编译依次显示汉字。该LED显示屏用途广泛,一般用于各种公共场所,作为宣传和广告的工具1。 2.1.2、电路的特点及功能该装置通过点阵式LED汉字显示屏来显示输出汉字,通过编程能够随时对汉字进行修改、调整。本次设计以单片机AT89C51为核心,1#、2#锁存器分别控制上8行和下8行,3#、4#锁存器分别控制左8列和右8列。通过软件编译,从而达到汉字显示的目的。通过此次设计让我们能更深一层的了解LED汉字显示屏的工作原理、各部分电路的功能作用以及整个电路的用途。该课题,要综合应用数字电路,模拟电路,单片机等方面的知识,并且还要学习protel、prosys、VW软件和新的器件,使我能进一步巩固加深所学的基本理论、基本技能和专业知识,使之系统化、综合化。并且培养我收集加工各种信息与获取新知识的能力以及动手制作的能力。该LED显示屏用途广泛,一般用于各种公共场所,作为宣传和广告的工具。对于公共设施服务有着极为重要的意义。2.2 、主要设计内容及技术指标2.2.1 、主要设计内容1、用单片机AT89C51及LED点阵显示器为核心器件,制作一个点阵式汉字电子显示屏。2、完成电路原理图、印制电路板设计、元器件采购、装配及调试工作。3、完成该课题的程序设计、提交程序设计框图及程序设计清单。4、完成硬件与软件的综合调试,能实现预定的功能和主要技术指标。2.2.2 、主要技术指标(1)点阵式显示器能依次显示4个汉字。(2)通过编程能够随时对汉字进行修改、调整。 2.3、LED显示屏控制系统设计动态扫描,即一行发光二极管共用一行驱动寄存器,根据共用一行驱动寄存器的发光二极管像素数目,分为1/4,1/16扫描等,动态扫描法可以大大减少控制器的I/O口,不但符合本设计的要,求而且应用较广,因此选用此方案。LED显示屏的数据传输方式主要有串行和并行两种。日前普遍采用串行控制技术,显示屏每个单元内部的不同驱动电路和各级联单元之间,每个时钟仅传送一位数据。采用这种方式的驱动IC种类较多,不同显示单元之间的联线较少,可减少显示单元的数据传输驱动元件,从而提高整个系统的可靠性和性价比,具体工程实现也较为容易。因此本设计采用串行控制技术。第3章、系统硬件设计3.1 、硬件电路组成及工作原理 本产品采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16×16LED点阵5部分组成,如图1所示。其中,AT89C51是一种带4kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,工业标准的MCS一5l指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。时钟电路由AT89C5l的18,19脚的时钟端(XTAI l及XTAL2)以及12 MHz晶振X、电容C2、C3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻R,R2,电容C,开关K组成,分别接至AT89C51的RST复位输入端。LED点阵显示屏采用16×16共256个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。 我们把行列总线接在单片机的I0口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。但是若将LED点阵的行列端口全部直接接入89S5 1单片机,则需要使用32条I0口,这样会造成I0口资源的耗尽,系统也再无扩充的余地。因此,我们在实际应用中只是将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由416线译码器74HCl54来选择控制,这样一来列选控制只使用了单片机的4个IO口,节约了很多IO口资源,为单片机系统扩充使用功能提供了条件。考虑到P0口必需设置上拉电阻,我们采用47 k排电阻作为上拉电阻。汉字扫描显示的基本过程是这样的:通电后由于电阻R,电容c1的作用,使单片机的RST复位脚电平先高后低,从而达到复位;之后,在C、C3、X以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P0和P2接口输出与内部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P11,P12,P13,P14接口输出列选扫描信号(低电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。再改变取表地址实现汉字的滚动显示。图3-1硬件电路组成3.3、 AT89C51单片机的结构3.3.1、 AT89C5基本结构AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-2所示 图3-2外形及引脚1 内部结构:只读存储器即ROM(READ ONLY MEMORY)。2 外部结构:1、电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。3、复位引脚 4、EA引脚:EA引脚接到正电源端。3 引脚功能说明: 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 电源: VCC 芯片电源,接+5V; VSS -接地端;4 时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。 5 控制线:控制线共有4根,ALE/PROG:地址锁存允许/片内EPROM编程脉冲。 ALE功能:用来锁存P0口送出的低8位地址。 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。(2) PSEN:外ROM读选通信号。(3)RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。(4)EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端,管脚接到正电源端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。6 I/O线 89C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线).3.3.2、 单片机引脚图及封装图3-3 总线型引脚封装主要特性:·与MCS-51 兼容 ·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路 管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.4、74 LS154译码器芯片介绍74LS154是一个416译码器,4-线至16线解码器/解复用器,上述每4行至16线解码器采用的TTL电路破解四个二进制编码的输入,其中有16互相排斥的输出时,双方频闪输入,G1和G2,是低的。解复用功能,是由使用4输入线路,以解决输出线,通过数据从一台的频闪输入与其他频闪输入偏低。当频闪输入高,所有产出都很高。这些解多工器,都是一个完美适合实施高效能记忆体解码器。所有投入都缓冲和输入钳位二极管提供,以减少传输线的影响,从而简化了系统设计。表3-1 74LS154的真值表4-16线译码器, 其管脚如2-1表所示, A,B,C,D为译码的输入端,值的区间从0000到1111,Y1Y15是对应A,B,C,D四个输入引脚的输出脚,其中选中的线用输出低电平,没有选中的输出高电平, 1 G 、 2 G 是使能端,只有输入相应D低电平才能使译码器正常工作。 74LS154与AT89C51的连接:A【23脚】 ,B【22脚】 ,C【21脚】 ,D【20脚】分别接到AT89C51的P1.0【1脚】 ,P1.1【2脚】 ,P1.2【3脚】和P1.3【4脚】上。 其他脚连接:G1【18脚】 ,G2【19脚】接地,使芯片工作;Y1【1脚】Y15【17脚】连接到16*16点阵LED显示屏上;其中GND【12脚】 ,VCC【24脚】 。图3-4 74LS154管脚图3.5 、8×8 LED点阵显示模块的硬件设计及工作原理8×8 LED点阵显示模块是LED显示屏设计的关键部分,共阴和共阳接法设计的好坏直接关系到LED显示屏的亮度、稳定度等重要指标。给出 8×8 点阵LED的工作原理。图3-5为8×8点阵LED外观及引脚图,其等效电路如图3-6所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。图3-5 8×8点阵LED外观及引脚图 图3-6 8×8点阵LED等效电路由 8×8 点阵LED的工作原理图以及8×8点阵LED外观及引脚图和其等效电路,可得出16×16点阵LED显示汉字的工作原理:16×16点阵LED显示器有两种接线形式,即共阴接法和共阳接法。共阳接法的原理图如图3-6所示,图中只画出了8×8点阵的二极管。每一行发光二极管的阳极接在一起,有一个引出端X,每一列发光二极管的阴极接在一起,有一个引出端Y。当给发光二极管阳极引出端0加高电平,阴极引出端Y0加低电平时,左上角的二极管点亮。因此,对行和列的电平进行扫描控制时,可以实现显示不同汉字的目的。第4章、系统的软件设计软件是该LED显示屏控制系统的重要组成部分,在系统的软件设计中我们也才用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。4.1、软件流程本系统中(单片机89C51)的主要功能就是实现LED显示屏上字样的移位、显示、数据的读取等功能。其主程序流程如图3-1所示。开机 机系统初始化否是判断是否处于通状态?移位显示读取显示内容图4-1 主程序流程图读取AT89C51的ROM中的标志位等待判断是否有中断标志?是否4.2 、汉字的表示及编码原理UCDOS软件中的文件HZK16和文件ASC16分别为16×16的国标汉字点阵文件和8×16的ASCII码点阵文件,以二进制格式存储。在文件HZK16中,按汉字区位码从小到大依次存有国标区位码表中的所有汉字,每个汉字占用32个字节,每个区为94个汉字。在文件ASC16中按ASCII码从小到大依次存有8×16的ASCII码点阵,每个ASCII码占用16个字节在PC机的文本文件中,汉字是以机内码的形式存储的,每个汉字占用两个字节:第一个字节为区码,为了与ASCII码区别,范围从十六进制的0A1H开始(小于80H的为ASCII码字符),对应区位码中区码的第一区;第二个字节为位码,范围也是从0A1H开始,对应某区中的第一个位码。这样,将汉字机内码减去0A0AH就得该汉字的区位码。例如汉字“房”的机内码为十六进制的“B7BF”,其中“B7”表示区码,“BF”表示位码。所以“房”的区位码为0B7BFH-0A0A0H=171FH。将区码和位码分别转换为十进制得汉字“房”的区位码为“2331”,即“房”的点阵位于第23区的第31个字的位置,相当于在文件HZK16中的位置为第32×(23-1) ×94+(31-1)=67136B以后的32个字节为“房”的显示点阵。在本单片机系统中,起始地址的高4位为页号,送P1口,低15位为数据区地址,送指针DPTR。利用“MOVX”指令连续取32个字节送LCD的相应位置,就能实现正确的汉字显示。ASCII码的显示与汉字的显示基本原理相同。在文件ASC16中不存在机内码的问题,其显示点阵直接按ASCII码从小到大依次排列,只是每个ASCII码在文本文件中只占1个字节且小于80H,而且ASCII码为8×16点阵,所以在ASCII16文件中,每个ASCII码的点阵也只占16个字节。首先提取16×16的国标汉字点阵和8×16的ASCII码点阵(如UCDOS软件中的HZK16和ASC16)并将其直接写入29F040。其中HZK16(共256KB)点07页。为了便于编程,ASC16虽然只有4KB,也单独占用第8页。其余剩下的空间用来存储汉字语句的编码。由于240×128点阵的LED显示器每个只能显示15个汉字(16×16点阵汉字),即30个字节。所以可将需要显示的语句按30个字节为1行进行编写,不足30个字符的则补空格。在PC机上进行录入时,每行30个字符再加上回车键和换行符,实占32个字符。所录入的语句以纯文本形式存盘,再将该文本文件以二进制的形式写入29F040的第9页。那么,以后根据需要显示的语句行号便可以进行正确的显示。此,作者推出荐使用DOS版本的WPS软件的“编辑非文收文件”功能,它能清楚地显示每行是否有30个字符。4.3、 提取汉字的软件的设计及实现我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在256像素范围内的任何图形。图4-2用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 灭。即二进制00000000,转换为16进制为 00h.。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,p2.4亮, 即为00000100,16进制则为04h。 然后单片机转向上半部第二列,全不亮,为00000000,即16进制00h.这一列完成后继续进行下半部分的扫描,p2.5点亮,为二进制00000101,即16进制20h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位, 可以得出汉字“小”的扫描代码为:DB 00,00,00,10H,00,20H,00,40HDB 01,80H,06,02,00,01,0FFH,0FEH ;小 DB 00,00,04,00,02,00,01,00DB 00,80H,00,60H,00,00,00,00由这个原理可以看出, 无论显示何种字体或图像, 都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。4.3.1 、汉字的实现本系统的取字模软件主要是编辑LED显示屏显示的内容,在设计中采用汇编语言写了LED显示屏控制系统的内容下载软件。软件界面如图4-3所示。该软件的主要是对输入的汉字取点阵数据如下:软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。小:DB 00,00,00,10H,00,20H,00,40HDB 01,80H,06,02,00,01,0FFH,0FEH DB 00,00,04,00,02,00,01,00DB 00,80H,00,60H,00,00,00,00心:DB 00,20H,00,40H,03,80H,00,00 DB 0FH,0FCH,00,02,80H,02,40H,02 DB 38H,02,10H,02,00,02,00,0EH DB 02,00,01,00,00,0E0H,00,00慢:DB 02,00,1CH,00,00,00,0FFH,0FFH DB 10H,00,0BH,0C1H,0FAH,51H,0AAH,5AHDB 0ABH,0D4H,0AAH,54H,0ABH,0D4H,0AAH,5AH DB 0FAH,52H,07,0C1H,02,01,00,00行: DB 00,40H,08,80H,11H,00,23H,0FFHDB 0C4H,00,02,00,42H,00,42H,00DB 42H,00,42H,02,42H,01,43H,0FEH DB 0C2H,00,46H,00,02,00,00,00END第5章、系统调试与测试结果分析5.1、元器件清单和使用的仪器仪表5.1.1、电子设计元件清单元 件 编 号规 格 参 数作 用 简 介U1AT89C51待添加的隐藏文字内容3核心控制芯片LED16*16 LED点阵组成汉字显示屏U174LS1544线-16线译码器R1200复位电路R21KC322uFK1按键开关按键开关C1, C220pF时钟电路X112MHZR行16*4.7K上拉电阻列16*4.7K2n555116小功率NPN三极管2n540116小功率PNP三极管5.1.2 、使用的仪器仪表数字万用表DT92035.2 、系统调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试:LED显示模块的调试等,最后将各模块组合后进行整体测试。5.2.1、硬件调试对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。5.2.2、软件调试软件调试采用uVision3集成开发环境及微机,将编好的程序进行调试,主要是检查语法错误。Vision2IDE基于Windows的开发平台,包含一个高效的编辑器,一个项目管理和一MAKE工具。Vision2支持所有的keilc51工具。Keil C51是美国 Keil Software公司出品的51系列兼容单片机 C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势,包括C编辑器。宏汇编器,连接/定位器,目标代码到HEX的转换器。 图5-1 Vision2界面5.2.3、硬件软件联调 将调试好的硬件和软件进行联调,主要调试系统的实现功能。5.3 、测试结果此次系统设计结果较好,LED显示屏能很好的显示信息。LED显示屏由4块8*8的LED小模块组成,整个显示屏可以显示一个16*16的汉字,汉字从右到左移动显示,显示亮度也正好。图5-2 结 束 语在 LED 点阵汉字显示屏的设计过程中,学到了很多东西,基本了解了整个嵌入式开发的流程。例如,在进行整个设计之前,应该先根据需求分析,对单片机进行选型,然后对各个硬件模块在面包板进行搭试时候,要注意基本的布板原则。在焊接电路板的时候,应该从最基本的最小系统开始, 分模块, 逐个进行焊接测试。在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一方出错了。在进行搭试点阵块的时候,因为电压过高,导致点阵模块损坏。这次设计开发,本人受益非浅,在以后的开发过程中一定吸取教训。参 考 文 献1 张毅刚.单片机原理与应用M.北京:高等教育出版社,2003.2 张大明,彭旭昀,尚静基.单片微机控制应用技术M.北京:机械工业出版社,2006.3 付家才.单片机控制工程实践技术M.北京:化学工业出版社,2004.4 :Proteus,2008,3.5 戴佳,戴卫恒.51单片机C语言应用程序设计实例精讲M.北京:电子工业出版社,2006.6 彭为,黄科,雷道仲.单片机典型系统设计实例精讲M.北京:电子工业出版社,2006.7 杨将新,李华军,刘东骏.单片机程序设计及应用从基础到实践M.北京:电子业出版社工,2006.8 赵亮,侯国锐.51单片机C语言编程与实例M. 北京:人民邮电出版社.2003。9 韩志军,沈晋源. 单片机应用系统设计M.北京:机械工业出社,2003。10 睢丙东,魏泽鼎.单片机应用与实例M.北京:电子业出版社工,2004。11 李玉梅.基于MCS-51系列单片机原理的应用设计M. 北京: 国防工业出版社,2006。12 阎石.数字电子技术基础M.北京:高等教育出版社,2000。13 潘永雄.新编单片机原理与应用M.西安:西安电子科技大学出版社,2007。14 戴胜华,蒋大明,杨世武.单片机原理与应用M.北京:清华大学出版社,2005。附录1 电路设计总原理图附录2 程 序 清 单 ORG 0000HMAIN:MOVDPTR,#TAB;字码表初址赋值MOVR1,#00H ;列控制码MOVR4,#64 ; 移动" "及" 小心慢行! "4个字符,共64列CM:MOVR5,#5 ;每屏反复显示5次MOVR3,#16 ;列数C1: MOVR2,#0 ;取码指针C16:MOVP0,#00H MOVP2,#00H ;关显示 CLR P3.0 MOVA,R2 MOVCA,A+DPTR;取当前列显示字码的第一个字节 MOVP0,A ;送18行控制口 INCR2 MOVA,R2 MOVCA,A+DPTR;取当前列的显示字码的第二个字节 MOVP2,A ;送915行控制口 INC R2 MOVP1,R1 ;送列控制码 INC R1 ACALLD1MS ;显示2MSACALLD1MSDJNZR3,C16 ;一屏16列是否显示完MOVR3,#16 DJNZ R5,C1 ;未显示5次,继续 INCDPTR ;一屏反复显示5次