资源描述
-基于89S52 LED点阵显示系统的设计1硬件接口电路的实现方案单片机和CPLD已经成为大学生和工程技术人员必备的专业知识,怎样才能有效的把单片机和CPLD在实际中使用起来.MCU51/Altera下载开发实验仪主要特色是集成了具有ISP功能的CPLD和Flash单片机,同时可以完成单片机和CPLD的实验,也可以从中学会怎样去把单片机和CPLD联合起来形成一个应用系统。基于这个特点,整个电路的设计就是围绕单片机89S52和CPLD来进展的。单片机和CPLD联合起来形成一个应用系统,CPLD里集成了一片74LS373暂存器,两片74LS245数据总线转换器,一片74LS154译码器,这样使电路构造简单。电路板上集成了丰富的资源,可构成多个大型应用系统。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模式支持中断唤醒, 看门狗定时器,双数据指针,上电复位标志。单片机芯片的硬件构造MCS-51系列的各种单片机由于其生产厂商和型号的不同,在片存储器容量、中断系统、外围功能模块、最高时钟频率以及处理器速度等方面有很大的不同,但其硬件系统的根本构造一样,均包括算数逻辑单元ALL、片RAM、I/O端口、定时系统、中断系统等根本的功能单元。其部硬件构造,包括运算电路构造、控制电路构造和存储器构造等,它们是集成在一个芯片上的单片机硬件资源,构成了一个简单的计算机系统。 单片机系统构造单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个根本局部组成的。单片机是把包括运算器、控制器、少量的存储器、最根本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。1. MCS-51单片机芯片部逻辑构造MCS-51单片机部的逻辑构造图,单片机部的逻辑构造及各个部件的功能与特点。即:中央处理器CPU、部数据存储器、部程序存储器、定时器计数器、并行IO口、串行口、中断控制系统、始终电路、位处理器、总线。2. MCS-51单片机的部存储器MCS-51单片机芯片部有数据存储器和程序存储器两类存储器,即所谓的部RAM和部ROM。同学重点要掌握部数据存储器的构造、用途、地址分配和使用特点。一是部数据存储器的低128单元,它包括了存放器区、位寻址区、用户RAM区,要掌握这些单元的地址分配、作用等。二是部数据存储器高128单元,这是为专用存放器提供的,地址围为80HFFH。所谓专用存放器是区别于通用存放器而言的,即这些存放器的功能或用途已作了专门的规定,用于存放单片机相应部件的控制命令、状态或数据等。在这些专用存放器中,应注意以下存放器的使用:程序计数器、累加器A、存放器B、程序状态字PSW、数据指针DPTR。3. MCS-51的堆栈操作堆栈的功用堆栈的设置堆栈指示器堆栈使用方式4. 部程序存储器89S52芯片有4K ROM存储单元,其地址为0000H0FFFH,这就是我们所说的部程序存储器或简称部ROM。无论是片或是片外存储器对于无片ROM的单片机,在程序存储器中有一组特殊的保存单元0000H002AH,使用时应特别注意。系统的启动单元:0000H0002H五个中断源的中断地址区:0003H002AH0003H000AH 外部中断0中断地址区000BH0012H 定时器/计数器0中断地址区0013H001AH 外部中断1中断地址区001BH0022H 定时器/计数器1中断地址区0023H002AH 串行中断地址区中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中本应存放中断效劳程序。但通常情况下,8个单元难以存下一个完整的中断效劳程序,因此一般也是从中断地址区首地址开场存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断效劳程序的实际入口地址去。单片机的存储器构造有两个重要的特点:一是把数据存储器和程序存储器截然分开,二是存储器有外之分。总的来说,由芯片存储器和芯片外扩展存储器构成了单片机应用系统的整个存储器系统。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,实际上它们已被归入专用存放器之列。这四个口除了按字节寻址之外,还可以按位寻址,四个口合在一起共有32位。在单片机中,口是一个集数据输入缓冲、数据输出驱动及锁存等多项功能于一体的I/O电路。MCS-51的四个口在电路构造上是根本一样的,但它们又各具特点,因此在功能和使用上各口之间有一定的差异。6. MCS-51单片机时钟电路与时序时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进展工作。而时序所研究的则是指令执行中各信号之间的相互时间关系。要理解时钟电路的产生与作用,能根据外部所参加的晶体的振荡频率计算时序的定时单位。MCS-51的外部晶体的振荡频率围:1.2MHz12MHz,MCS-51时序的定时单位共有4个,依次是:拍节、状态、机器周期和指令周期。单片机控制电路原理整个系统由单片机、EPROM2716、CPLD和LED点阵显示屏组成。由于单片机89S52有8K片EPROM,无法存储大量的汉字(图案)点阵字模,所以系统外加片外EPROM 2716储存汉字及字符数据。存入EPROM 2716的数据格式是按照逐行扫描的方式进展的,偶数地址存储每行的高8位数据,奇数地址存储低8位地址。 单片机程序初始化后,单片机从片外EPROM 2716中读取偶数地址数据作为该扫描行的高8位数据,然后再从EPROM中读入奇数地址数据作为低8位数据,并将这两个数据一起送入8/16位数据转换器(两片74LS245),将2路8位数据转换成16位数据输出到列选线产生电路(两片74LS245),直接去驱动LED显示屏的列选线输入端,控制LED当前扫描列的显示。当前扫描行扫描完毕后,扫描行地址递增1,转入下一扫描行扫描。重复扫描16行,将不断变化的地址计数器信息通过行选线产生电路译码器74LS154去依次逐行驱动(扫描)LED显示屏的行选线输入端。收到列选线产生电路送来的字符或图案信息和列选线送来的逐行扫描信息后,LED显示屏可以逐行显示EPROM存储器中的容。如果每个扫描行的扫描时间不超过10ms,由于人眼的滞留性,可以看到一个完整的字符。如果控制每个字符扫描的扫描次数,则可以控制相邻字符之间的停留时间。单片机控制电路原理图如图1所示:图1 单片机控制电路原理图1.2EPM7128LS84-15可编程逻辑器件PLD概述1. PLD的特点可编程逻辑器件PLD (Programmable Lofic Device)是一种大规模集成电路芯片,它可根据用户的实际要求,由用户或集成电路IC制造厂商对其进展编程,从而制造符合用户要求的专用电路。单片的PLD上集成了大量逻辑门是具有一定功能的逻辑单元。PLD的根本构造如图2所示。其中,与阵列用以产生与逻辑项乘积项,或阵列用来把所有与门输出的乘积项构成与或形式的逻辑函数。图2 PLD的根本构造在数字系统设计中采用PLD,具有以下优点:逻辑功能集成度高所谓逻辑功能集成度是在给定的体积可集成逻辑功能的数目。一般来说,一片SPLD(Simple PLD)至少可替代420个中小规模集成电路芯片,而高密度PLD(HD-PLD),如CPLD和FPGA,它所包含的等效门电路数目庞大;相应的逻辑功能块的数目更多,目前单片HDPLD密度已达几千万门。工作速度高现在许多PLD器件的引脚列引脚pin-to-pin间的传输延迟时间仅为数纳秒。这将使由PLD构成的系统具有的运行速度。缩短系统设计时间PLD引脚的逻辑功能是由用户根据需要来设定的,一般都有强有力的设计工具支持,不管是在构思阶段还是在现实阶段,都能快速地进展一种功能或多种功能的设计。而一般中小规模集成电路的逻辑设计,则需要将多个固定功能的芯片按照逻辑功能要求进展搭接,这是很烦琐的。因为它牵涉到芯片之间的连线问题,芯片的布局问题及相互之间的影响等,往往是经过屡次实验和反复修改才能制造出一块较为可靠的功能电路。设计灵活PLD具有可编程可撤除的特点,为设计带来了许多灵活性。在设计过程中,可以屡次反复地修改设计方案。增添新的逻辑功能,但不需要增加器件。这可充分发挥设计者的创造性,设计出更精良的产品。多种编程技术具有ISP(In-system-programmablity)和ICR(In-circuits Reconfiguration)功能的芯片,即使已经安装在目标系统的印制板上,也可对其编程,改变它的逻辑功能,改良系统性能。这为设计师提供了极大方便。2. CPLD的主要特点CPLD是在一块芯片上集成多个PLD块,其根本逻辑单元是乘积项,即CPLD是乘积项阵列的集合,各个PAL块可以通过共享的可编程互连资源交换信息,以实现PAL块之间的互连。因此,CPLD通常又被称为分段式阵列构造。CPLD的主要特点是速度可预测性交好,但集成度不够高。EPM7128LS84-15简介ALTERA的EPM7128S系列CPLD是基于第二代MA*构造体系地高性能EEPROM构造的CPLD。完全符合IEEE 1149.1 JTAG边界扫描标准,具有5V ISP的功能。具有最小5ns的引脚到引脚的逻辑时延,最高可175.4MHz的计数频率。引脚可配置为开漏输出。每个宏单元都有独立的可编程电源控制,最多可以节省50%的功耗。宏单元的存放器具有单独的时钟和复位等信号。EPM7128SLC84-15是Altera 公司A*7000S系列CPLD,它采用CMOS工艺,并以第二代矩阵构造为根底,实际上也是一种基于E2PROM的器件。EPM7128SLC84-15YOU 84个引脚,其中5根用于ISPIn System Programmable下载,可方便地对其进展在系统编程。此器件集成了6000门,其中典型可用门为2500个,有128个逻辑单元,60个可用I/O口,可单独配置为输入、输出及双向工作方式,2个全局时钟使能端和一个全局去除端。EPM7128SLC84-15支持多电压工作,其传输延时为7.5ns,最高工作频率高达125MHz,并支持多种编程方式,同时可利用Altera公司的第三代开发软件MA*+PLUS方便地进展仿真、综合和下载。 电路中CPLD电路原理这里的一片74LS373暂存器,两片74LS245数据总线转换器,一片74LS154译码器和一片74LS00由一片数字芯片CPLD(EMP7128LC84-15)来代替。它的部电路图为:上图中各芯片实现功能:1. 此片为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:8h00;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;output 7:0Dout;/assign Dout=(!E&!A)Din:8h00;reg 7:0Dout;always (negedge E)beginif(!A)Dout=Din;endendmodule单片机的数据总线是8位,而对与1616的LED点阵显示屏来说,必须要16位数据同时送到列选线上。这时就必须用到74LS245作为8-16位数据总线的转换器。其地址为8000h和8100h。在此设计中,假设两片245等待有锁存功能,而使得在实际调试中出现乱点。假设消除其锁存功能,则又出现高8位的亮暗度不一致,影响美观。所以采用第一片245有锁存功能,而第二片没有锁存功能。传统的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. 此片为74LS154。其程序为:module Ls154(E,Din,Dout);input E;input 3:0Din;output 15:0Dout;reg 15:0Dout;/assign Dout=(!E)16b0001Din:Dout;always (negedge E)Dout=16b00001Din;endmodule传统74LS154为纯组合逻辑电路,此设计中74LS154是有时钟输入的时序逻辑电路,并带有锁存功能。行地址生成:这里使用地址线上的A1-A4四根线经过74LS154译码器产生行选择信号。用这种选择方案,数据和行地址选择根本上是同步的 ,这样对点阵LED的显示效果有积极的一面。但要使一行的16个发光二极管全亮,约需100MA的电流,仅靠+5V的电源来驱动效果不佳,这里加上三片MC1413反相驱动器来为二极管提供足够的电流。1.3 LED显示器简介LED显示屏主要分为数码显示和点阵显示两大数,在这里以4片88 LED点阵组合成1616显示屏为例。一片88 LED点阵是由64个小二极管组成的,当其中所有二极管的负极都接低电平也就是LED显示屏的列选线时,只要给正极一个高电平也就是LED显示屏的行选线,此对应的二极管发光,从而组成一个字体。点阵显示屏都是单管芯,分(行)共阴极接法和(行)共阳极接法,一般都用+5v供电。在这里我们一般使用的是共阳极接法,但也可在单片机里把共阴极接法设置成共阳极的接法。1共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用是公共阴极接地,这样阳极端输入高电平的发光二极管就导通点亮,而输入低电平的则不点亮。2共阳极接法把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5V。这样阴极端入低电平的发光二极管就导通点亮,而输入高电平的则不点亮。 LED显示器的硬件设计LED 88点阵模块为显示器件的显示屏其工作方式是扫描式的1/8,驱动电路可分为行和列,每一行的模块可以是四个、六个或更多的行可以并联形成八条行线,显示点阵的列数位8并联的模块数,由于控制等方面的原因一般是将一个较大的显示系统分为几个标准化的小单元,每个小单元是完全一样的,这将有利于灵活组屏和方便生产调试。对于标准单元的设计应本着这样的原因:较少的输入引入、方便的级联。LED点阵滚动显示屏由单片机控制局部和显示驱动局部组成。单片机控制局部由ALTERA公司的89S52、CPLD和EPROM 2716组成。显示驱动局部由4片88 LED点阵模块、行扫描信号移动存放器74LS154译码器、行驱动器、列点阵数据移动存放器、锁存器74LS373组成。4片88 LED模块行列相连组成一个1616 LED点阵,用于扩大字体,显得清晰可见。因LED显示屏的管脚并不是按照起顺序依次排开的,所以在焊接时需用电压表测试其管脚。在将显示屏焊接在一起时,需注意两两LED显示屏行与行,列与列的连接。假设接错或是虚焊,都会造成显示的错误。 LED显示器的驱动LED显示屏是由很多个二极管组成的,其中所有的行选线接二极管的正极,列选线接二极管的负极。只要一次给出16根列选线的低电平,同时再给出*根行选线的高电平,该行对应的二极管就会导通发光。要使LED亮,此时它应得到最大的顺向电流,通常一个LED点阵显示屏需要10mA的顺向电流。在做四位数的扫描时,每一个LED点阵的平均电流值只有1/4的最高电流值,因此扫描使要得到适当的亮度最好有30mA以上的瞬间电流。所以我们在列选线前添置三片MC1413来驱动LED,使得它到达一定的亮度。MC1413是一个反相驱动器,它能提高流入LED显示屏的瞬时电流强度,很好的增加LED的显示效果。 LED显示器的显示方式LED显示方式的设置由单片机任意控制,单片机在传送汉字点阵字模或字符ASC 码时,先传送显示方式控制字,单片机根据接收到的显示方式控制字,确定显示方式。显示过程由单片机定时中断程序控制,每次定时中断点亮一行,定时中断时间为1/1024秒,每中断16次,即可对整个显示屏扫描一次,完成一整屏信息的刷新,每秒显示画面数达64屏,可保证画面无闪烁感。2 软件设计的实现2.1 单片机C语言开发环境Keil C5189S52系列单片机的软件可以用汇编语言C语言编写。C语言即具有一般高级语言的特点,又能直接对计算机的硬件进展操作,表达和运算能力也较强,许多以前只能采用汇编语言来解决问题现在都可以改用语言来解决。Keil C51是一种专为8051单片机设计的高效率C语言编程器,符合ANSI标准,生成的程序代码运行速度高,所需要的储存器空间极小,完全可以和汇编语言相媲美。它源于编写UNI*操作系统的语言,是一种构造化语言,可产生紧凑代码。语言可以进展许多机器级函数控制而不用汇编语言。用语言来编写目标系统软件,会大大缩短开发周期,且明显的增加软件的可读性,便于改良个扩大,从而研制出规模更大,性能更完备的系统。1存储器和特殊功能存放器的存取C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字at还能把变量放入固定的存储器存储模式大,中,小决定了变量的存储类型。连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015根底上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。2中断功能C51允许用户使用C语言编写中断效劳程序,快速进、出代码和存放器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。3灵活的指针C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向*一特定的存储区域。由于地址的存储只需12字节,因此,指针存取非常迅速。2.2 基于MA*+PLUS10.2的设计过程2.2.1MA*+PLUS概述MA*+PLUS软件是美国Altera公司提供的现代数字电路设计的有利平台,是一个用语可编程逻辑器件CPLD的集成化软件包,是一种与构造无关的全集成化设计环境,使设计者能对Altera的各种CPLD系列方便地进展设计输入、快速处理和器件编程。MA*+PLUS开发系统具有强大的处理能力和高度的灵活性。其主要优点:与构造无关、多平台、丰富的设计库、开放的界面、全集成化、支持多种硬件描述语言(HDL)等 。设计流程数字系统的设计采用自顶向下、由粗到细,逐步分解的设计方法,最顶层电路是指系统的整体要求最下层是具体的逻辑电路的实现。设计输入MA*+PLUS支持多种设计输入方式,如原理图输入、波形输入、文本输入和它们的混合输入。设计处理、设计检查器件编程、系统仿真系统设计之后还要进展仿真。系统采用MA*7000S系列CPLD芯片,应用MA*+PLUS对各种文件从底层到顶层逐个编译,再进展逻辑仿真。真之后通过MA*+PLUS的Programmer下载到可编程芯片上便完成设计。2.2.2MA*+PLUS 10.2开发设计的一般流程利用MA*+PLUS10.2来进展CPLD开发设计一般可以分为设计输入、工程编译、功能与时序仿真和下载编程四大步骤。其相互之间的关系可以用图1 流程图来表示。 图1 MA*+PLUS10.2的流程图1.设计输入用户使用MA*+PLUS10.2提供的图形编辑器和文本编辑器可以实现原理图输入包括AHDL,VHDL和Verilog-HDL五种语言、波形图输入等,也可以输入网表文件。2.工程编译设计输入环节完成后,用户可以利用软件自带的piler对工程进展编译。在编译过程中除了可以生成一系列标准文件,可进展时序模拟、适配之外,还可以检查出设计输入文件中存在的问题,并指出错误的位置和理由。用户必须重新修改设计文件直至错误全消除,才可以进展工程效验。3.工程效验利用MA*+PLUS10.2自身集成仿真器来对设计进展功能和时序仿真,并对信号延迟进展分析,给出延时结果。4.编程配置利用下载电缆对器件进展编程配置,实现预期的功能。当然,如果编程验证后发现原设计有问题,则可以重新返回修改设计。这一步有时并不是多余的,因为通过最后结果来判断设计是否存在问题,是一种直观、简洁、有效的方法。2.3 下载配置Program用MA*+PLUS开发软件对CPLD进展编程配置不需要专门的编程器,只需要一根下载电缆ByteBlaster MV,通过机的并口连到控制器板JTAG口即可以对器件直接编程。JTAG配置MA*器件是将.pofProgrammer Object File文件下载到可编程器件中。JTAG配置MA*器件的接口电路图如图2所示:图2 JTAG配置MA*器件的接口3 系统调试及仿真3.1 设计思路此电路是由可编程字符图案显示器的设计演变而来的。原设计电路中要使用到两片555定时器高电平有效,一个是用来提供字符显示脉冲,其频率应大于2KHz,使得字符的显示更稳定;另一个上用来提供字符切换显示脉冲,其频率应小于1KHz,让人眼不会有闪烁感。并且这两个555定时器必须同步,才能有效的显示出字符。假设想更换它的频率,则必须通过公式来计算,显然给实验工作带来很大的不便之处。于是,我选用单片机来控制。它是由外接晶振电路来代替555定时器的时钟脉冲源,并且只需改变晶振大小,便可解决频率问题这里使用晶振为12M晶振。当单片机89S52采用12MHz晶振时,一个机器周期为1,计数频率为1MHz。一个高电平至低电平的跳变需要二个机器周期,所以最高计数频率为振荡频率的1/24,即12 M1/24=5KHz,远远大于2KHz,使字符的显示很稳定。而显示的闪烁感只需要在单片机程序里稍作修改就可以了。另外,555定时器的复位功能只能是从头开场,而单片机的复位功能也是任由单片机的部程序来控制,可以从当前位置复位,也可以从头开场复位。大大增加了电路的灵活性,让其显示容无重复性。3.2 系统调试在设计的电子电路中总有理想与现实的冲突。当一个电路图绘制出来以后,需要先分析其合理性,在结合实物组合成成品。这里由于组合逻辑电路与时序逻辑电路的区别,我由单独的组合逻辑电路更换成时序逻辑电路,从大的体会到,软硬件结合的好处。在整个的系统调试中最主要的是让字符显示的速度不快不慢。只须将语句delay(500)中的500修改到适中的速度就可以了,显示得快就改小,显示得慢就改大。语句for (s=0;s20;s+=2)中的20是表示系统中要显示的字符数n=s/2,此语句是用来控制LED显示字符数的,它可以根据所要显示容的要求来改变。语句for (n=0;n700;n+)可改变刷屏率,让眼睛无闪烁感。在CPLD芯片设计中,出现过的乱点现象是因为两片74LS245都带有锁存功能,但是如果消除它们的锁存功能又会出现高8位与低8位的亮暗度不一致,从而影响美观。所以,就采用第一片74LS245带有锁存功能,而第二片74LS245无锁存功能,这样就到达完美的效果。3.3 运行结果及性能分析在运行结果时,最容易出现两种现象:一是扫描速度的快慢,让人眼有闪烁感,很刺眼;二是显示速度的快慢,无等待时间。其显示效果如下:其各个芯片的仿真波形如下:174LS154:274LS245:374LS_245:474LS373:3.4 改良设想此电路可拓展为利用C语言编写实现微机与单片机通讯的动态库函数,在Keil C51应用程序中,通过调用动态库函数实现微机对显示容的控制。使在LED显示屏上的汉字或字符随意的改变。还可以利用单片机的P1口高电平有效加置开关,使LED显示器在任何情况下都可以随意的控制显示方式。因EPROM容的单一性,本设计还可扩展为利用单片机的UART口实现单片机和PC机之间的通信,通过一定的协议,实现PC机向单片机的数据传送,到达实时改变显示容的目的。其从功能上可以将系统分成:顶层PC机软体模块,中层MCU软体模块和底层硬件模块。各局部功能详述如下:1 顶层PC机软体模块:主要实现从字符图案到代码的转换,并将转换代码发送到中层MCU模块。2 中层MCU软体模块:主要负责接收从PC机发送来的数据和控制显示器的显示性能,包括屏幕刷新率、显示字符、显示有规律图案等等。3 底层硬件模块:为上层软体提供硬件支持。以上的改良是方便字符的输出与输出方式,但硬件方面并没改变。此设计每次只能显示单独的一个字,假设改变单片机的程序使它成为滚动字幕,观看效果就会很差,如果改变CPLD的部电路增加列选线的数目增加译码器74LS154的个数,片外只需增加驱动LED点阵的MC1413个即可,数加大显示器的列数,就更加能与我们日常生活中所见的显示屏相媲美了。课程设计总结本文用单片机和CPLD设计的LED点阵显示屏可实现单行汉字或字符的显示方式。2K的EPROM可存储64个字符,可广泛应用于生活中。所有外围器件既可以独立用于单片机,也可以用于CPLD,而且还可以作为单片机和CPLD综合应用的部件。自带电源、光盘、连接线,拿到就可以试验!随时改变单片机的程序,也可看到不同的显示效果。另外,单片机和CPLD的联合应用,不仅能降低数字电子系统设计的复杂性和难度性,而且也能显著地增强设计的灵活性,也有助于提高设计效率和缩短设计周期。利用MA*+PLUS软件模拟仿真结果具有同传统硬件实验数据一样的重要性和可信度。为了验证设计的正确性,我们软件MA*+PLUS中的模拟仿真器,对通过编译的字符显示器的Verilog-HDL设计进展了模拟仿真验证,实验证明汉字滚动和显示扫描情况均正常,也就是说CPLD的核硬件工作良好,可以正确地实现设计功能。对硬件系统的实验验证也获得了与软件模拟仿真结论相吻合的结果。附录1:单片机控制程序流程图附录2:单片机控制程序清单/The Header files below:*include *include /The macro Define:*define uchar unsigned char*define uint unsigned int/Sub Functions below:void dis_chinese(uint s);/*Descriptions: s represents the Num. of one word */ /Because the 2716 have 2K Bytes room, in the other word, we can store /128 chinese words. So s is range from 0 to 127void delay(uint t); /Delay time/Globle Paremeters below:uint s;uchar Buffer;/Main Functions below:void main(void) uint n; for(n=0;n5000;n+); for(n=0;n5000;n+); for(n=0;n5000;n+); /空语句 loop: for (s=0;s20;s+=2) /显示字符数n,s=n*2; for (n=0;n700;n+) dis_chinese(s); /显示第s/2个字符 /delay(500); goto loop; /循环显示 void dis_chinese(uint s) uchar i; for (i=0;i32;i+) Buffer=*BYTEs*16+i+; /从2716中读取高八位字节 *BYTE0*0000+i=Buffer; /将高八位字节送入LS245 Buffer=*BYTEs*16+i; /从2716中读取低八位字节 *BYTE0*0000+i-1=Buffer; /将低八位字节送入另一片LS245 delay(50); void delay(uint t)/延时子程序while(t-);. z-附录3:系统设计电路图. z-. z
展开阅读全文