单片机课程设计报告12信Y1杨晓丹(12120531)单单片片机机课课程程设设计计实实验验报报告告课程设计名称:MAX7221动态显示课程设计姓名:12信Y1班杨晓丹(12120531)设计目标:1、利用Proteus软件设计一个以AT89C52单片机为主控元件由MAX7221驱动的8位7段数码管动态显示电路。2、利用protel99绘制原理图。3、利用microfostVisio绘制硬件总设计框图和程序流程图。4、根据流程图利用KeiluVision对单片机软件进行编译,与Proteus联调后使系统控制能够完成显示:“01234567”,保持。单片机课程设计实验报告12信Y1杨晓丹(12120531)2一、系统设计本设计中“MAX7221动态显示”,采用以AT89C52单片机作为主控元件,MAX7221作为显示驱动器,使用8位7段数码管显示器。结合少量外围芯片的的设计思路,以达到设计目的,硬件总设计框图如图1所示。AT89C52单片机数码管显示驱动电路数码管显示电路图1总设计框图二、硬件电路设计本设计中,单片机采用Atmel公司的AT89C52;MAX7221串行输入/输出共阴极显示驱动器;LED数码显示器采用8位7段共阴极数码管显示器。(硬件总原理图见附件1)P3.0口用来串行数据的接收;P3.1口用来串行数据的发送;P3.2口为外部中断0,此处电平触发(IT0=1)每次执行完中断里面的程序(只要不关闭中断)就又跳进中断里去了,不断的循环执行。XTAL1和XTAL2外接12MHz的晶振和2个22pF的电容构成时钟电路。EA/VPP,当EA=1时允许使用片内ROM,当EA=0时只使用片外ROM。EA/VPP端和RESET复位端连接一个10μF的有极性电容,在EA端再接+5V,在RESET端接一个8.2k的电阻并接地构成复位电路。AT89C52与时钟电路和复位电路构成单片机最小系统。MAX7221采用串行接口方式,可以很方便地和单片机相连,仅占用单片机的P3.0口,P3.1口和P3.2口。DIN脚为串行数据输入端,数据存入内部16位移位寄存器,它与P3.0口相连。CS脚是片选输入端,当CS=0时,串行数据存入移位寄存器,当CS为上升沿时锁存最后16位数据,与P3.1口相连。CLK脚是串行时钟输入端,最高频率10MHz,在时钟上升沿数据移位存入内部移位寄存器,当时钟下降沿时,数据由DOUT输出,CLK输入仅当CS为0时有效,与P3.2口相连。DIG0~DIG7脚为8位共阴极数码管的控制输入端,显示关闭时输出高电平与LED显示器1~8引脚相连。SEGA~SEGG,SEGDP脚为数码管七段驱动和小数点驱动端,关闭显示时各段驱动输出为高电平,与LED显示器A~G段选信号端相连,ISET端与一个9k的电阻相连再连一个+5V。LED数码显示器采用7SEG-MPX8-CC-BLUE8位7段共阴极数码管显示器。2.1时钟电路(见图2)AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附单片机课程设计实验报告12信Y1杨晓丹(12120531)3加电路。AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,外接12MHz石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,本设计中电容使用22pF。C222pFC122pFY12MHzX1X2图2AT89C52时钟电路选用12MHz晶振,因此:震荡频率:fosc=12×106Hz;时钟周期:P=1/12μs;机器周期:Tcy=1μs;程序循环的频率跟晶振有关,晶振的频率直接关系到单片机执行指令的速度。频率越高速度也就越快。2.2复位电路(如图3)为了初始化单片机内部的某些特殊功能寄存器,必须利用复位电路,复位后可使CPU及系统各部件处于确定的初始状态。单片机接通电源时产生复位信号,完成单片机的启动,确定单片机的起始工作状态。复位电路是为了确保单片机系统中电路稳定可靠工作必不可少的一部分,复位电路的第一功能是上电复位。一般单片机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于单片机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V(此处VCC为+5V)以及晶体振荡器稳定工作时,复位信号才会被撤除,单片机电路开始正常工作。电容和电阻串联,电容的正端接VCC,VCC与电容正端连接处接单片机EA引脚,负端跟电阻相连,电阻另一端接地,电容和电阻相接处接单片机的RESET复位引脚。电容大小可以选几微法到20多微法,电阻可以选几千欧到几十千欧,本设计中电容为10μF,电阻为8.2k。单片机课程设计实验报告12信Y1杨晓丹(12120531)4C310μFR28.2k+5EARESET图3AT89C52复位电路2.3AT89C52最小单片机系统AT89C52是片内有程序存储器的单片机,要构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可。这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的I/O线。2.4MAX7221数码管显示驱动器1、MAX7221芯片简介MAX7221是Maxim(美信)公司专为LED显示驱动而设计生产的是一种集成化的串行输入/输出共阴极数码管显示驱动器,单片最多可驱动8位数码管。MAX7221包含有七段译码器、位和段驱动器、多路扫描器、段驱动电流调节器、亮度脉宽调节器及多个特殊功能寄存器。MAX7221不仅可以很方便地与单片机相连接,还可通过级联进行扩展。它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来储存每一个数据。只要一个外部寄存器用来设置各个LED的段电流。MAX7221与SPI、QSPI以及MICROWIRE相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。一个方便的四线串行接口可以联接所有通用的微处理器。每个数据可以寻址在更新时不需要改写所有的显示。MAX7221同时允许用户对每一个数据选择编码或者不编码。整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1~8位数据,还有一个让所有LED发光的检测模式。在接口可以联接所有通用的微处理器,每个数据可以寻址在更新时不需要改写所有的显示。2、MAX7221主要功能特点:1)10MHz的串行接口;单片机课程设计实验报告12信Y1杨晓丹(12120531)52)BCD译码/非译码模式选择;3)耗电仅150μA的关断模式;4)数字和模拟双重亮度控制;5)SPI,QSPI,Microwire等多种串行接口;6)显示位数可方便地进行扩展。在传统的显示驱动电路中,每一个LED显示器需要一个译码芯片,而每一段又需要一个限流电阻,在显示信息量较大时,电路变得不仅复杂而且也会占用系统很多资源。然而在使用MAX7221芯片的外围接口电路简单,使用方便,仅需三根I/O口线便可驱动多块LED进行动态显示。而MAX7221只需一个外部电阻来设置所有LED的段电流(如图4所示),不仅可以克服常规的动态显示亮度不够、闪烁等缺点,而且大大简化硬件电路并减少软件的工作量,因此MAX7221芯片成为众多单片机应用系统中首选的LED显示驱动接口电路。DIG26DIG65GND4SEGE21SEGG17ISET18V+19SEGC20DIG43SEGD23DIN1DIG02SEGF15SEGB16SEGA14GND9DIG111DIG510CLK13SEGDP22DIG37DIG78DOUT24CS12U1MAX7221R19k+5RXDTXDINT0BACDEFGDP01234567图4MAX7221外接外部电阻3、MAX7221内部寄存器的功能1)串行数据输入和控制寄存器串行数据输入输出时CS必须为低电平,串行数据由Din送入一个16位的数据包,并在每个时钟上升沿时存入内部16位移位寄存器。数据经16.5个周期后,在时钟的下降沿由Dout引脚输出。D0~D7包含数据,D8~D11包含寄存器地址,D12~D15为未定义位,芯片最先接收D15位。2)省电模式MAX7221允许工作在省电模式(显示关闭),在该模式下,供电电流可降低到150μA,器件在这种模式下上电时,在250μs内即可进入正常工作模式。在测试状态下,省电模式被屏蔽。单片机课程设计实验报告12信Y1杨晓丹(12120531)63)译码/非译码模式译码模式寄存器可以设置对每一位数字的BCD译码模式或非译码模式,寄存器的每一位对应一个数字,高电平代表译码,低电平代表旁路译码器。当芯片处于译码模式时,数据位只有D0~D3有效,D4~D6位为无效位,D7为小数点位。当芯片处于非译码模式时,数据D0~D7位对应8个笔划段。4)亮度控制寄存器本芯片允许由外加在Vdd和Iset之间的电阻Rset调节LED亮度,Rset阻值至少为9.53K,它也允许由亮度控制寄存器进行设置,通过设置每一笔划的扫描脉冲占空比达到调整亮度的目的。MAX7221能够从软硬件两个方面来控制端电流。一种是更具亮度寄存器的数据,由内部的脉宽调制器控制LED段电流的持续时间和扫描时间比,来控制LED亮度。5)扫描位数控制寄存器扫描位数控制寄存器可以设置显示1~8位LED进行动态显示,多路扫描器在显示8位时典型的扫描频率为800Hz.显示位数减少时,扫描频率上升为8f/N(f为扫描频率,N为显示位数)。对应不同的扫描位数,将扫描位数控制寄存器的数据置值,来控制这个频率。当显示位数为3位、2位、1位时,Rset应至少增大为15k、20k、40k。6)显示测试模式和空操作模式显示测试寄存器操作有两种模式:正常模式和显示测试模式。显示测试时屏蔽所有功能设置,全部8位的每一笔划的扫描脉冲占空比均为15/16。空操作模式用于芯片扩展,后面的芯片要显示的数据经过前面的芯片时,前面的芯片应处于空操作模式。2.57段显示数码管LED(见图5)LED显示屏以其亮度高、动态影像显示效果好、故障低、能耗少、使用寿命长、显示内容多样、显示方式丰富、性能价格比高等优势,作为新一代的显示媒体,已广泛应用于各行各业。在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED显示屏具有发光亮度高、参数一致性好、可靠性高、接线简单、拼装方便等优点,能构成各种尺寸的大屏幕显示屏。因此,它被广泛用于由计算机控制的大型LED智能显示屏、智能仪器和机电一体化设备中,利用先进的智能显示技术来取代传统的数显技术。现代信息社会中,作为人一机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的单片机课程设计实验报告12信Y1杨晓丹(12120531)7显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。目前其正朝着高亮度、全彩化、标准化、规范化、产品结构多样化发展。LED显示器是采用发光二极管显示字段的显示器件,也可称为数码管。单片机系统中通常是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管