1基于89S52LED点阵显示系统的设计1硬件接口电路的实现方案单片机和CPLD已经成为大学生和工程技术人员必备的专业知识,怎样才能有效的把单片机和CPLD在实际中使用起来?MCU51/Altera下载开发实验仪主要特色是集成了具有ISP功能的CPLD和Flash单片机,同时可以完成单片机和CPLD的实验,也可以从中学会怎样去把单片机和CPLD联合起来形成一个应用系统。基于这个特点,整个电路的设计就是围绕单片机89S52和CPLD来进行的。单片机和CPLD联合起来形成一个应用系统,CPLD里集成了一片74LS373暂存器,两片74LS245数据总线转换器,一片74LS154译码器,这样使电路结构简单。电路板上集成了丰富的资源,可构成多个大型应用系统。1.189S52单片机结构介绍兼容MCS51微控制器,89S52单片机,8K字节FLASH存贮器支持在系统编程ISP1000次擦写周期,256字节片内RAM,工作电压4.0V到5.5V,全静态时钟0Hz到33MHz,三级程序加密,32个可编程IO口,2/3个16位定时/计数器,6/8个中断源,全双工UART,低功耗支持Idle和Power-down模式,Power-down模式支持中断唤醒,看门狗定时器,双数据指针,上电复位标志。1.1.1单片机芯片的硬件结构MCS-51系列的各种单片机由于其生产厂商和型号的不同,在片内存储器容量、中断系统、外围功能模块、最高时钟频率以及处理器速度等方面有很大的不同,但其硬件系统的基本结构相同,均包括算数逻辑单元ALL、片内RAM、I/O端口、定时系统、中断系统等基本的功能单元。其内部硬件结构,包括运算电路结构、控制电路结构和存储器结构等,它们是集成在一个芯片上的单片机硬件资源,构成了一个简单的计算机系统。1.1.2单片机系统结构单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、2串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。1.MCS-51单片机芯片内部逻辑结构MCS-51单片机内部的逻辑结构图,单片机内部的逻辑结构及各个部件的功能与特点。即:中央处理器(CPU)、内部数据存储器、内部程序存储器、定时器/计数器、并行I/O口、串行口、中断控制系统、始终电路、位处理器、总线。2.MCS-51单片机的内部存储器MCS-51单片机芯片内部有数据存储器和程序存储器两类存储器,即所谓的内部RAM和内部ROM。同学重点要掌握内部数据存储器的结构、用途、地址分配和使用特点。一是内部数据存储器的低128单元,它包括了寄存器区、位寻址区、用户RAM区,要掌握这些单元的地址分配、作用等。二是内部数据存储器高128单元,这是为专用寄存器提供的,地址范围为80H~FFH。所谓专用寄存器是区别于通用寄存器而言的,即这些寄存器的功能或用途已作了专门的规定,用于存放单片机相应部件的控制命令、状态或数据等。在这些专用寄存器中,应注意以下寄存器的使用:程序计数器、累加器A、寄存器B、程序状态字(PSW)、数据指针(DPTR)。3.MCS-51的堆栈操作①堆栈的功用②堆栈的设置③堆栈指示器④堆栈使用方式4.内部程序存储器89S52芯片内有4KROM存储单元,其地址为0000H~0FFFH,这就是我们所说的内部程序存储器(或简称“内部ROM”)。无论是片内或是片外存储器(对于无片内ROM的单片机),在程序存储器中有一组特殊的保留单元0000H~002AH,使用时应特别注意。系统的启动单元:0000H~0002H五个中断源的中断地址区:0003H~002AH0003H~000AH外部中断0中断地址区000BH~0012H定时器/计数器0中断地址区0013H~001AH外部中断1中断地址区001BH~0022H定时器/计数器130023H~002AH串行中断地址区中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中本应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此一般也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址去。单片机的存储器结构有两个重要的特点:一是把数据存储器和程序存储器截然分开,二是存储器有内外之分。总的来说,由芯片内存储器和芯片外扩展存储器构成了单片机应用系统的整个存储器系统。MCS-51单片机有四个物理空间(片内RAM、片内ROM、片外RAM、片外ROM),三个独立的逻辑空间(片内RAM空间:00H~FFH、片内外统一编址的ROM空间:0000H~FFFFH、片外RAM空间:0000H~FFFFH)。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.2MHz~12MHz,②MCS-51时序的定时单位共有4个,依次是:拍节、状态、机器周期和指令周期。1.1.3单片机控制电路原理整个系统由单片机、EPROM2716、CPLD和LED点阵显示屏组成。由于单片机89S52有8K片内EPROM,无法存储大量的汉字(图案)点阵字模,所以系统外加片外EPROM2716储存汉字及字符数据。存入EPROM2716的数据格式是按照逐行扫描的方式进行的,偶数地址存储每行的高8位数据,奇数地址存储低8位地址。单片机程序初始化后,单片机从片外EPROM2716中读取偶数地址数据作为该扫描4行的高8位数据,然后再从EPROM中读入奇数地址数据作为低8位数据,并将这两个数据一起送入8/16位数据转换器(两片74LS245),将2路8位数据转换成16位数据输出到列选线产生电路(两片74LS245),直接去驱动LED显示屏的列选线输入端,控制LED当前扫描列的显示。当前扫描行扫描结束后,扫描行地址递增1,转入下一扫描行扫描。重复扫描16行,将不断变化的地址计数器信息通过行选线产生电路(译码器74LS154)去依次逐行驱动(扫描)LED显示屏的行选线输入端。收到列选线产生电路送来的字符或图案信息和列选线送来的逐行扫描信息后,LED显示屏可以逐行显示EPROM存储器中的内容。如果每个扫描行的扫描时间不超过10ms,由于人眼的滞留性,可以看到一个完整的字符。如果控制每个字符扫描的扫描次数,则可以控制相邻字符之间的停留时间。单片机控制电路原理图如图1所示:图1单片机控制电路原理图1.2EPM7128LS84-151.2.1可编程逻辑器件(PLD)概述1.PLD的特点可编程逻辑器件PLD(ProgrammableLoficDevice)是一种大规模集成电路芯片,它可根据用户的实际要求,由用户或集成电路(IC)制造厂商对其进行编程,从而制造符合用户要求的专用电路。单片的PLD上集成了大量逻辑门是具有一定功能的逻辑单元。PLD的基本结构如图2所示。其中,与阵列用以产生“与”逻辑项(乘积项),或阵列用来把所有与门输出的乘积项构成“与—或”形式的逻辑函数。5图2PLD的基本结构在数字系统设计中采用PLD,具有以下优点:⑴逻辑功能集成度高所谓逻辑功能集成度是在给定的体积内可集成逻辑功能的数目。一般来说,一片SPLD(SimplePLD)至少可替代4~20个中小规模集成电路芯片,而高密度PLD(HD-PLD),如CPLD和FPGA,它所包含的等效门电路数目庞大;相应的逻辑功能块的数目更多,目前单片HDPLD密度已达几千万门。⑵工作速度高现在许多PLD器件的引脚列引脚(pin-to-pin)间的传输延迟时间仅为数纳秒。这将使由PLD构成的系统具有的运行速度。⑶缩短系统设计时间PLD引脚的逻辑功能是由用户根据需要来设定的,一般都有强有力的设计工具支持,不管是在构思阶段还是在现实阶段,都能快速地进行一种功能或多种功能的设计。而一般中小规模集成电路的逻辑设计,则需要将多个固定功能的芯片按照逻辑功能要求进行搭接,这是很烦琐的。因为它牵涉到芯片之间的连线问题,芯片的布局问题及相互之间的影响等,往往是经过多次实验和反复修改才能制造出一块较为可靠的功能电路。⑷设计灵活PLD具有可编程可撤除的特点,为设计带来了许多灵活性。在设计过程中,可以多次反复地修改设计方案。增添新的逻辑功能,但不需要增加器件。这可充分发挥设计者的创造性,设计出更精良的产品。⑸多种编程技术具有ISP(In-system-programmablity)和ICR(In-circuitsReconfiguration)功能的芯片,即使已经安装在目标系统的印制板上,也可对其编程,改变它的逻辑功能,改进系统性能。这为设计师提供了极大方便。2.CPLD的主要特点CPLD是在一块芯片上集成多个PLD块,其基本逻辑单元是乘积项,即CPLD是乘积项阵列的集合,各个PAL块可以通过共享的可编程互连资源交换信息,以实现PAL块之间的互连。因此,CPLD通常又被称为分段式阵列结构。CPLD的主要特点是速度6可预测性交好,但集成度不够高。1.2.2EPM7128LS84-15简介ALTERA的EPM7128S系列CPLD是基于第二代MAX结构体系地高性能EEPROM结构的CPLD。完全符合IEEE1149.1JTAG边界扫描标准,具有5VISP的功能。具有最小5ns的引脚到引脚的逻辑时延,最高可175.4MHz的计数频率。引脚可配置为开漏输出。每个宏单元都有独立的可编程电源控制,最多可以节省50%的功耗。宏单元内的寄存器具有单独的时钟和复位等信号。EPM7128SLC84-15是Altera公司AX7000S系列CPLD,它采用CMOS工艺,并以第二代矩阵结构为基础,实际上也是一种基于E2PROM的器件。EPM7128SLC84-15YOU84个引脚,其中5根用于ISP(InSystemProgrammable)下载,可方便地对其进行在系统编程。此器件内集成了6000门,其中典型可用门为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)来代替。它的内部电路图为:上图中各芯片实现功能:71.此片为74LS00,有两个输入A,B,一个输出Q。2.此片为两片74LS245,其程序为:LS245:moduleLs_245(E,A,Din,Dout);inputE,A;input[7:0]Din;output[7:0]Dout;//assignDout=(!E&!A)?Din:8'h00;reg[7:0]Dout;always@(negedgeE)beginif(!A)Dout=Din;elseDout=0;endend