基于89S52的16-16LED点阵显示系统的设计_第1页
基于89S52的16-16LED点阵显示系统的设计_第2页
基于89S52的16-16LED点阵显示系统的设计_第3页
基于89S52的16-16LED点阵显示系统的设计_第4页
基于89S52的16-16LED点阵显示系统的设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于89S52 LED点阵显示系统的设计1 硬件接口电路的实现方案单片机和CPLD已经成为大学生和工程技术人员必备的专业知识,怎样才能有效的把单片机和CPLD在实际中使用起来?MCU51/Altera下载开发实验仪主要特色是集成了具有ISP功能的CPLD和Flash单片机,同时可以完成单片机和CPLD的实验,也可以从中学会怎样去把单片机和CPLD联合起来形成一个应用系统。基于这个特点,整个电路的设计就是围绕单片机89S52和CPLD来进行的。单片机和CPLD联合起来形成一个应用系统,CPLD里集成了一片74LS373暂存器,两片74LS245数据总线转换器,一片74LS154译码器,这样使电路

2、结构简单。电路板上集成了丰富的资源,可构成多个大型应用系统。1.1 89S52单片机结构介绍兼容MCS51微控制器,89S52单片机,8K字节FLASH存贮器支持在系统编程ISP 1000次擦写周期,256字节片内RAM,工作电压4.0V到5.5V,全静态时钟0 Hz 到33 MHz,三级程序加密,32个可编程IO口,2/3个16位定时/计数器,6/8个中断源,全双工UART,低功耗支持Idle和Power-down模式,Power-down模式支持中断唤醒, 看门狗定时器,双数据指针,上电复位标志。1.1.1 单片机芯片的硬件结构MCS-51系列的各种单片机由于其生产厂商和型号的不同,在片内

3、存储器容量、中断系统、外围功能模块、最高时钟频率以及处理器速度等方面有很大的不同,但其硬件系统的基本结构相同,均包括算数逻辑单元ALL、片内RAM、I/O端口、定时系统、中断系统等基本的功能单元。其内部硬件结构,包括运算电路结构、控制电路结构和存储器结构等,它们是集成在一个芯片上的单片机硬件资源,构成了一个简单的计算机系统。1.1.2 单片机系统结构单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。1. MCS-51单片机芯片内部逻辑结构MCS

4、-51单片机内部的逻辑结构图,单片机内部的逻辑结构及各个部件的功能与特点。即:中央处理器(CPU)、内部数据存储器、内部程序存储器、定时器计数器、并行IO口、串行口、中断控制系统、始终电路、位处理器、总线。2. MCS-51单片机的内部存储器MCS-51单片机芯片内部有数据存储器和程序存储器两类存储器,即所谓的内部RAM和内部ROM。同学重点要掌握内部数据存储器的结构、用途、地址分配和使用特点。一是内部数据存储器的低128单元,它包括了寄存器区、位寻址区、用户RAM区,要掌握这些单元的地址分配、作用等。二是内部数据存储器高128单元,这是为专用寄存器提供的,地址范围为80HFFH。所谓专用寄存

5、器是区别于通用寄存器而言的,即这些寄存器的功能或用途已作了专门的规定,用于存放单片机相应部件的控制命令、状态或数据等。在这些专用寄存器中,应注意以下寄存器的使用:程序计数器、累加器A、寄存器B、程序状态字(PSW)、数据指针(DPTR)。3. MCS-51的堆栈操作堆栈的功用堆栈的设置堆栈指示器堆栈使用方式4. 内部程序存储器89S52芯片内有4K ROM存储单元,其地址为0000H0FFFH,这就是我们所说的内部程序存储器(或简称“内部ROM”)。无论是片内或是片外存储器(对于无片内ROM的单片机),在程序存储器中有一组特殊的保留单元0000H002AH,使用时应特别注意。系统的启动单元:0

6、000H0002H五个中断源的中断地址区:0003H002AH0003H000AH 外部中断0中断地址区000BH0012H 定时器/计数器0中断地址区0013H001AH 外部中断1中断地址区001BH0022H 定时器/计数器1中断地址区0023H002AH 串行中断地址区中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中本应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此一般也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址去。单片机的存储器结构有两个重要的特点:

7、一是把数据存储器和程序存储器截然分开,二是存储器有内外之分。总的来说,由芯片内存储器和芯片外扩展存储器构成了单片机应用系统的整个存储器系统。MCS-51单片机有四个物理空间(片内RAM、片内ROM、片外RAM、片外ROM),三个独立的逻辑空间(片内RAM空间:00HFFH、片内外统一编址的ROM空间:0000HFFFFH、片外RAM空间:0000HFFFFH)。5. MCS-51单片机并行输入/输出口电路单片机芯片内还有一项重要内容就是并行I/O口电路。MCS-51共有四个8位的并行双向I/O口,分别记作P0、P1、P2、P3,实际上它们已被归入专用寄存器之列。这四个口除了按字节寻址之外,还可

8、以按位寻址,四个口合在一起共有32位。在单片机中,口是一个集数据输入缓冲、数据输出驱动及锁存等多项功能于一体的I/O电路。MCS-51的四个口在电路结构上是基本相同的,但它们又各具特点,因此在功能和使用上各口之间有一定的差异。6. MCS-51单片机时钟电路与时序时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。而时序所研究的则是指令执行中各信号之间的相互时间关系。要理解时钟电路的产生与作用,能根据外部所加入的晶体的振荡频率计算时序的定时单位。MCS-51的外部晶体的振荡频率范围:1.

9、2MHz12MHz,MCS-51时序的定时单位共有4个,依次是:拍节、状态、机器周期和指令周期。1.1.3 单片机控制电路原理整个系统由单片机、EPROM2716、CPLD和LED点阵显示屏组成。由于单片机89S52有8K片内EPROM,无法存储大量的汉字(图案)点阵字模,所以系统外加片外EPROM 2716储存汉字及字符数据。存入EPROM 2716的数据格式是按照逐行扫描的方式进行的,偶数地址存储每行的高8位数据,奇数地址存储低8位地址。 单片机程序初始化后,单片机从片外EPROM 2716中读取偶数地址数据作为该扫描行的高8位数据,然后再从EPROM中读入奇数地址数据作为低8位数据,并将

10、这两个数据一起送入8/16位数据转换器(两片74LS245),将2路8位数据转换成16位数据输出到列选线产生电路(两片74LS245),直接去驱动LED显示屏的列选线输入端,控制LED当前扫描列的显示。当前扫描行扫描结束后,扫描行地址递增1,转入下一扫描行扫描。重复扫描16行,将不断变化的地址计数器信息通过行选线产生电路(译码器74LS154)去依次逐行驱动(扫描)LED显示屏的行选线输入端。收到列选线产生电路送来的字符或图案信息和列选线送来的逐行扫描信息后,LED显示屏可以逐行显示EPROM存储器中的内容。如果每个扫描行的扫描时间不超过10ms,由于人眼的滞留性,可以看到一个完整的字符。如果

11、控制每个字符扫描的扫描次数,则可以控制相邻字符之间的停留时间。单片机控制电路原理图如图1所示:图1 单片机控制电路原理图1.2 EPM7128LS84-151.2.1可编程逻辑器件(PLD)概述1. PLD的特点可编程逻辑器件PLD (Programmable Lofic Device)是一种大规模集成电路芯片,它可根据用户的实际要求,由用户或集成电路(IC)制造厂商对其进行编程,从而制造符合用户要求的专用电路。单片的PLD上集成了大量逻辑门是具有一定功能的逻辑单元。PLD的基本结构如图2所示。其中,与阵列用以产生“与”逻辑项(乘积项),或阵列用来把所有与门输出的乘积项构成“与或”形式的逻辑函

12、数。图2 PLD的基本结构在数字系统设计中采用PLD,具有以下优点:逻辑功能集成度高所谓逻辑功能集成度是在给定的体积内可集成逻辑功能的数目。一般来说,一片SPLD(Simple PLD)至少可替代420个中小规模集成电路芯片,而高密度PLD(HD-PLD),如CPLD和FPGA,它所包含的等效门电路数目庞大;相应的逻辑功能块的数目更多,目前单片HDPLD密度已达几千万门。工作速度高现在许多PLD器件的引脚列引脚(pin-to-pin)间的传输延迟时间仅为数纳秒。这将使由PLD构成的系统具有的运行速度。缩短系统设计时间PLD引脚的逻辑功能是由用户根据需要来设定的,一般都有强有力的设计工具支持,不

13、管是在构思阶段还是在现实阶段,都能快速地进行一种功能或多种功能的设计。而一般中小规模集成电路的逻辑设计,则需要将多个固定功能的芯片按照逻辑功能要求进行搭接,这是很烦琐的。因为它牵涉到芯片之间的连线问题,芯片的布局问题及相互之间的影响等,往往是经过多次实验和反复修改才能制造出一块较为可靠的功能电路。设计灵活PLD具有可编程可撤除的特点,为设计带来了许多灵活性。在设计过程中,可以多次反复地修改设计方案。增添新的逻辑功能,但不需要增加器件。这可充分发挥设计者的创造性,设计出更精良的产品。多种编程技术具有ISP(In-system-programmablity)和ICR(In-circuits Rec

14、onfiguration)功能的芯片,即使已经安装在目标系统的印制板上,也可对其编程,改变它的逻辑功能,改进系统性能。这为设计师提供了极大方便。2. CPLD的主要特点CPLD是在一块芯片上集成多个PLD块,其基本逻辑单元是乘积项,即CPLD是乘积项阵列的集合,各个PAL块可以通过共享的可编程互连资源交换信息,以实现PAL块之间的互连。因此,CPLD通常又被称为分段式阵列结构。CPLD的主要特点是速度可预测性交好,但集成度不够高。1.2.2 EPM7128LS84-15简介 ALTERA的EPM7128S系列CPLD是基于第二代MAX结构体系地高性能EEPROM结构的CPLD。完全符合IEEE

15、 1149.1 JTAG边界扫描标准,具有5V ISP的功能。具有最小5ns的引脚到引脚的逻辑时延,最高可175.4MHz的计数频率。引脚可配置为开漏输出。每个宏单元都有独立的可编程电源控制,最多可以节省50%的功耗。宏单元内的寄存器具有单独的时钟和复位等信号。EPM7128SLC84-15是Altera 公司AX7000S系列CPLD,它采用CMOS工艺,并以第二代矩阵结构为基础,实际上也是一种基于E2PROM的器件。EPM7128SLC84-15YOU 84个引脚,其中5根用于ISP(In System Programmable)下载,可方便地对其进行在系统编程。此器件内集成了6000门,

16、其中典型可用门为2500个,有128个逻辑单元,60个可用I/O口,可单独配置为输入、输出及双向工作方式,2个全局时钟使能端和一个全局清除端。EPM7128SLC84-15支持多电压工作,其传输延时为7.5ns,最高工作频率高达125MHz,并支持多种编程方式,同时可利用Altera公司的第三代开发软件MAX+PLUS方便地进行仿真、综合和下载。1.2.3 电路中CPLD电路原理这里的一片74LS373暂存器,两片74LS245数据总线转换器,一片74LS154译码器和一片74LS00由一片数字芯片CPLD(EMP7128LC84-15)来代替。它的内部电路图为:上图中各芯片实现功能:1. 此

17、片为74LS00,有两个输入A,B,一个输出Q。2. 此片为两片74LS245,其程序为:LS245:module Ls_245(E,A,Din,Dout);input E,A;input 7:0Din;output 7:0Dout;/assign Dout=(!E&!A)?Din:8'h00;reg 7:0Dout;always (negedge E)beginif(!A)Dout<=Din;elseDout<=0;endendmoduleLS_245:module Ls_245(E,A,Din,Dout);input E,A;input 7:0Din;outpu

18、t 7:0Dout;/assign Dout=(!E&!A)?Din:8'h00;reg 7:0Dout;always (negedge E)beginif(!A)Dout<=Din;endendmodule单片机的数据总线是8位,而对与16×16的LED点阵显示屏来说,必须要16位数据同时送到列选线上。这时就必须用到74LS245作为8-16位数据总线的转换器。其地址为8000h和8100h。在此设计中,若两片245等待有锁存功能,而使得在实际调试中出现乱点。若消除其锁存功能,则又出现高8位的亮暗度不一致,影响美观。所以采用第一片245有锁存功能,而第二片没有

19、锁存功能。传统的74LS245为组合逻辑电路,而此设计中的74LS245为时序逻辑电路。3. 此片为74LS373,其程序为:module Ls373(E,Din,Dout);input E;input 7:0Din;output 7:0Dout;reg 7:0Dout;always (negedge E)Dout<=Din;endmodule单片机在读时序时P2口在整个读周期内都充当地址线,所以不需要373做暂存器,而对P0口来说,在前半周期作为地址线,输出地址信号,而后半周期作为数据输入口,所以为了使地址在整个读周期内有效,就必须用74LS373作为暂存器,来存储低8位地址。4. 此

20、片为74LS154。其程序为:module Ls154(E,Din,Dout);input E;input 3:0Din;output 15:0Dout;reg 15:0Dout;/assign Dout=(!E)?16'b000000000000001<<Din:Dout;always (negedge E)Dout<=16'b0000000000000001<<Din;endmodule传统74LS154为纯组合逻辑电路,此设计中74LS154是有时钟输入的时序逻辑电路,并带有锁存功能。行地址生成:这里使用地址线上的A1-A4四根线经过74LS

21、154译码器产生行选择信号。用这种选择方案,数据和行地址选择基本上是同步的 ,这样对点阵LED的显示效果有积极的一面。但要使一行的16个发光二极管全亮,约需100MA的电流,仅靠+5V的电源来驱动效果不佳,这里加上三片MC1413反相驱动器来为二极管提供足够的电流。1.3 LED显示器简介LED显示屏主要分为数码显示和点阵显示两大数,在这里以4片8×8 LED点阵组合成16×16显示屏为例。一片8×8 LED点阵是由64个小二极管组成的,当其中所有二极管的负极都接低电平(也就是LED显示屏的列选线)时,只要给正极一个高电平(也就是LED显示屏的行选线),此对应的二

22、极管发光,从而组成一个字体。点阵显示屏都是单管芯,分(行)共阴极接法和(行)共阳极接法,一般都用+5v供电。在这里我们一般使用的是共阳极接法,但也可在单片机里把共阴极接法设置成共阳极的接法。1共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用是公共阴极接地,这样阳极端输入高电平的发光二极管就导通点亮,而输入低电平的则不点亮。2共阳极接法把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5V。这样阴极端入低电平的发光二极管就导通点亮,而输入高电平的则不点亮。1.3.1 LED显示器的硬件设计LED 8×8点阵模块为显示器件的显示屏其工作方式是扫描式的(1/8),驱动电路可分为

23、行和列,每一行的模块(可以是四个、六个或更多)的行可以并联形成八条行线,显示点阵的列数位8×并联的模块数,由于控制等方面的原因一般是将一个较大的显示系统分为几个标准化的小单元,每个小单元是完全一样的,这将有利于灵活组屏和方便生产调试。对于标准单元的设计应本着这样的原因:较少的输入引入、方便的级联。LED点阵滚动显示屏由单片机控制部分和显示驱动部分组成。单片机控制部分由ALTERA公司的89S52、CPLD和EPROM 2716组成。显示驱动部分由4片8×8 LED点阵模块、行扫描信号移动寄存器74LS154译码器、行驱动器、列点阵数据移动寄存器、锁存器74LS373组成。4

24、片8×8 LED模块行列相连组成一个16×16 LED点阵,用于扩大字体,显得清晰可见。因LED显示屏的管脚并不是按照起顺序依次排开的,所以在焊接时需用电压表测试其管脚。在将显示屏焊接在一起时,需注意两两LED显示屏行与行,列与列的连接。若接错或是虚焊,都会造成显示的错误。1.3.2 LED显示器的驱动LED显示屏是由很多个二极管组成的,其中所有的行选线接二极管的正极,列选线接二极管的负极。只要一次给出16根列选线的低电平,同时再给出某根行选线的高电平,该行对应的二极管就会导通发光。要使LED亮,此时它应得到最大的顺向电流,通常一个LED点阵显示屏需要10mA的顺向电流。在

25、做四位数的扫描时,每一个LED点阵的平均电流值只有1/4的最高电流值,因此扫描使要得到适当的亮度最好有30mA以上的瞬间电流。所以我们在列选线前添置三片MC1413来驱动LED,使得它达到一定的亮度。MC1413是一个反相驱动器,它能提高流入LED显示屏的瞬时电流强度,很好的增加LED的显示效果。1.3.3 LED显示器的显示方式LED显示方式的设置由单片机任意控制,单片机在传送汉字点阵字模或字符ASC 码时,先传送显示方式控制字,单片机根据接收到的显示方式控制字,确定显示方式。显示过程由单片机定时中断程序控制,每次定时中断点亮一行,定时中断时间为1/1024秒,每中断16次,即可对整个显示屏

26、扫描一次,完成一整屏信息的刷新,每秒显示画面数达64屏,可保证画面无闪烁感。2 软件设计的实现2.1 单片机C语言开发环境Keil C5189S52系列单片机的软件可以用汇编语言C语言编写。C语言即具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许多以前只能采用汇编语言来解决问题现在都可以改用语言来解决。Keil C51是一种专为8051单片机设计的高效率C语言编程器,符合ANSI标准,生成的程序代码运行速度高,所需要的储存器空间极小,完全可以和汇编语言相媲美。它源于编写UNIX操作系统的语言,是一种结构化语言,可产生紧凑代码。语言可以进行许多机器级函数控制而不用

27、汇编语言。用语言来编写目标系统软件,会大大缩短开发周期,且明显的增加软件的可读性,便于改进个扩充,从而研制出规模更大,性能更完备的系统。1存储器和特殊功能寄存器的存取 C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字 at还能把变量放入固定的存储器存储模式(大,中,小)决定了变量的存储类型。连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。2中断功能 C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄

28、存器区的转换功能使C语言中断功能更加高效。 可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。3灵活的指针C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需12字节,因此,指针存取非常迅速。2.2 基于MAX+PLUS10.2的设计过程2.2.1 MAX+PLUS概述MAX+PLUS软件是美国Altera公司提供的现代数字电路设计的有利平台,是一个用语可编程逻辑器件(CPLD)的集成化软件包,是一种与结构无关的全集成化

29、设计环境,使设计者能对Altera的各种CPLD系列方便地进行设计输入、快速处理和器件编程。MAX+PLUS开发系统具有强大的处理能力和高度的灵活性。其主要优点:与结构无关、多平台、丰富的设计库、开放的界面、全集成化、支持多种硬件描述语言(HDL)等 。设计流程数字系统的设计采用自顶向下、由粗到细,逐步分解的设计方法,最顶层电路是指系统的整体要求最下层是具体的逻辑电路的实现。设计输入MAX+PLUS 支持多种设计输入方式,如原理图输入、波形输入、文本输入和它们的混合输入。设计处理、设计检查器件编程、系统仿真系统设计之后还要进行仿真。系统采用MAX7000S系列CPLD芯片,应用MAX+PLUS

30、对各种文件从底层到顶层逐个编译,再进行逻辑仿真。真之后通过MAX+PLUS的Programmer下载到可编程芯片上便完成设计。2.2.2 MAX+PLUS 10.2开发设计的一般流程利用MAX+PLUS10.2来进行CPLD开发设计一般可以分为设计输入、项目编译、功能与时序仿真和下载编程四大步骤。其相互之间的关系可以用图1 流程图来表示。 图1 MAX+PLUS10.2的流程图1.设计输入用户使用MAX+PLUS10.2提供的图形编辑器和文本编辑器可以实现原理图输入(包括AHDL,VHDL和Verilog-HDL五种语言)、波形图输入等,也可以输入网表文件。2.项目编译设计输入环节完成后,用户

31、可以利用软件自带的(Compiler)对项目进行编译。在编译过程中除了可以生成一系列标准文件,可进行时序模拟、适配之外,还可以检查出设计输入文件中存在的问题,并指出错误的位置和理由。用户必须重新修改设计文件直至错误全消除,才可以进行项目效验。3.项目效验利用MAX+PLUS10.2自身集成仿真器来对设计进行功能和时序仿真,并对信号延迟进行分析,给出延时结果。4.编程配置利用下载电缆对器件进行编程配置,实现预期的功能。当然,如果编程验证后发现原设计有问题,则可以重新返回修改设计。这一步有时并不是多余的,因为通过最后结果来判断设计是否存在问题,是一种直观、简洁、有效的办法。2.3 下载配置(Pro

32、gram)用MAX+PLUS开发软件对CPLD进行编程(配置)不需要专门的编程器,只需要一根下载电缆(ByteBlaster MV),通过机的并口连到控制器板JTAG口即可以对器件直接编程。JTAG配置MAX器件是将.pof(Programmer Object File)文件下载到可编程器件中。JTAG配置MAX器件的接口电路图如图2所示:图2 JTAG配置MAX器件的接口3 系统调试及仿真3.1 设计思路此电路是由可编程字符(图案)显示器的设计演变而来的。原设计电路中要使用到两片555定时器(高电平有效),一个是用来提供字符显示脉冲,其频率应大于2KHz,使得字符的显示更稳定;另一个上用来提

33、供字符切换显示脉冲,其频率应小于1KHz,让人眼不会有闪烁感。并且这两个555定时器必须同步,才能有效的显示出字符。若想更换它的频率,则必须通过公式来计算,显然给实验工作带来很大的不便之处。于是,我选用单片机来控制。它是由外接晶振电路来代替555定时器的时钟脉冲源,并且只需改变晶振大小,便可解决频率问题(这里使用晶振为12M晶振)。当单片机89S52采用12MHz晶振时,一个机器周期为1,计数频率为1MHz。一个高电平至低电平的跳变需要二个机器周期,所以最高计数频率为振荡频率的1/24,即12 M1/24=5KHz,远远大于2KHz,使字符的显示很稳定。而显示的闪烁感只需要在单片机程序里稍作修

34、改就可以了。另外,555定时器的复位功能只能是从头开始,而单片机的复位功能也是任由单片机的内部程序来控制,可以从当前位置复位,也可以从头开始复位。大大增加了电路的灵活性,让其显示内容无重复性。3.2 系统调试在设计的电子电路中总有理想与现实的冲突。当一个电路图绘制出来以后,需要先分析其合理性,在结合实物组合成成品。这里由于组合逻辑电路与时序逻辑电路的区别,我由单独的组合逻辑电路更换成时序逻辑电路,从中大大的体会到,软硬件结合的好处。在整个的系统调试中最主要的是让字符显示的速度不快不慢。只须将语句delay(500)中的500修改到适中的速度就可以了,显示得快就改小,显示得慢就改大。语句for

35、(s=0;s<20;s+=2)中的20是表示系统中要显示的字符数n=s/2,此语句是用来控制LED显示字符数的,它可以根据所要显示内容的要求来改变。语句for (n=0;n<700;n+)可改变刷屏率,让眼睛无闪烁感。在CPLD芯片设计中,出现过的乱点现象是因为两片74LS245都带有锁存功能,但是如果消除它们的锁存功能又会出现高8位与低8位的亮暗度不一致,从而影响美观。所以,就采用第一片74LS245带有锁存功能,而第二片74LS245无锁存功能,这样就达到完美的效果。3.3 运行结果及性能分析在运行结果时,最容易出现两种现象:一是扫描速度的快慢,让人眼有闪烁感,很刺眼;二是显示

36、速度的快慢,无等待时间。其显示效果如下:其各个芯片的仿真波形如下:174LS154:274LS245:374LS_245:474LS373:3.4 改进设想此电路可拓展为利用C语言编写实现微机与单片机通讯的动态链接库函数,在Keil C51应用程序中,通过调用动态链接库函数实现微机对显示内容的控制。使在LED显示屏上的汉字或字符随意的改变。还可以利用单片机的P1口(高电平有效)加置开关,使LED显示器在任何情况下都可以随意的控制显示方式。因EPROM内容的单一性,本设计还可扩展为利用单片机的UART口实现单片机和PC机之间的通信,通过一定的协议,实现PC机向单片机的数据传送,到达实时改变显示内

37、容的目的。其从功能上可以将系统分成:顶层PC机软体模块,中层MCU软体模块和底层硬件模块。各部分功能详述如下:1 顶层PC机软体模块:主要实现从字符(图案)到代码的转换,并将转换代码发送到中层MCU模块。2 中层MCU软体模块:主要负责接收从PC机发送来的数据和控制显示器的显示性能,包括屏幕刷新率、显示字符、显示有规律图案等等。3 底层硬件模块:为上层软体提供硬件支持。以上的改进是方便字符的输出与输出方式,但硬件方面并没改变。此设计每次只能显示单独的一个字,若改变单片机的程序使它成为滚动字幕,观看效果就会很差,如果改变CPLD的内部电路增加列选线的数目(增加译码器74LS154的个数,片外只需增加驱动LED点阵的MC1413个即可),数加大显示器的列数,就更加能与我们日常生活中所见的显示屏相媲美了。课程设计总结本文用单片机和CPLD设计的LED点阵显示屏可实现单行汉字或字符的显示方式。2K的EPROM可存储64个字符,可广泛应用于生活中。所有外围器件既可以独立用于单片机,也可以用于CPLD,而且还可以作为单片机和CPLD综合应用的部件。自带电源、光盘、连接线,拿到就可以试验!随时改变单片机的程序,也可看到不同的显示效果。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论