基于单片机的多点阵LED字符显示屏的设计

上传人:hm****62 文档编号:70731260 上传时间:2022-04-06 格式:DOC 页数:38 大小:269KB
返回 下载 相关 举报
基于单片机的多点阵LED字符显示屏的设计_第1页
第1页 / 共38页
基于单片机的多点阵LED字符显示屏的设计_第2页
第2页 / 共38页
基于单片机的多点阵LED字符显示屏的设计_第3页
第3页 / 共38页
点击查看更多>>
资源描述
.2021 届毕业设计说明书基于单片机的多点阵LED字符显示屏的设计与制作院 、 部: 电气与信息工程学院 学生XX: 饶伟 指导教师: 桂友超 职称 讲师 肖金凤 职称 副教授 专 业: 电气工程及其自动化 班 级: 电气本1004班 完成时间: 2021年5月 摘 要随着显示器件与显示技术的进而开展,作为一种重要的传媒,屏幕显示系统已经广泛应用于国民经济中。LED显示屏是由LED点阵模块或像素单元构成的。计算机技术的飞速开展,使得LED数码管能够在减少驱动器的情况下直接被驱动。LED数码管具有高可靠性、长寿命、高性价比、低本钱、强适应能力等特点,使得它在平板显示领域一直扮演着举足轻重的角色,而且它今后的开展空间还相当大。本次毕业设计是以单片机为根底控制核心,用4块88 LED点阵组合制作了一个能显示16x16 点阵LED电子显示屏。要求显示屏的各发光二极管的亮度足够并且均匀,显示稳定、清晰的图形或者文字,其显示出的图形或者文字应能有静止、移入移出的效果。点阵显示屏采用动态显示方式,动态扫描逐行轮流点亮。点阵显示数据的传输采用串行传输方法。本文重点讲述的是LED显示屏的硬件电路的组成及软件局部的编程、LED点阵显示屏的功能实现。关键字:1616点阵;单片机;LED显示屏. v.ABSTRACTWith the further development of display devices and display technologies , as an important media -screen display system has been widely used in the national economy. LED display is a LED dot matrix module or pixel units. The rapid development of puter technology , makes digital LED can be driven directly in the drive to reduce the case . LED digital tube with high reliability, long life , cost-effective , low-cost, adaptable characteristics, making it the field of flat panel display has been playing a pivotal role in the future development of space and it is also quite large.The graduation project is a microcontroller -based control center, with four 8 8 LED dot matrix display bination can produce a 16x16 dot matrix LED display . Requirements of each light-emitting diode display brightness and uniform enough , shows a steady , clear graphics or text, which shows a graphic or text should be able to have a rest , moved out of the results. Dot matrix display with a dynamic display, dynamic progressive scan turns lights. Dot matrix display using serial transmission of data transfer methods. This article focuses on the LED display is posed of programming hardware and software parts of the circuit , LED dot matrix display function realization .Keywords: 16 16 dot matrix; SCM;LED display. v.目 录1 绪论11.1设计的背景11.2 LED点阵显示屏的开展趋势22 整体设计方案32.1 设计所实现的功能及构成32.2 显示模块的方案32.2.1静态显示方式32.2.2动态显示方式32.3数据传输方案论证43 硬件电路的构成53.1设计框图及介绍53.2 51系列单片机53.3单片机的最小应用系统83.4 LED点阵93.5 LED显示方式103.6点阵的移动113.7 点阵颜色的转换143.8 LED点阵列驱动电路154软件设计184.1单片机延时子程序184.2点阵左移显示的流程图及分析194.3 PROTEUS ISIS仿真21参考文献22致23附录24 附录124 附录234 附录337. v.1 绪论1.1设计的背景随着显示器件与显示技术的进而开展,作为一种重要的传媒,屏幕显示系统已经广泛应用于国民经济中。LED显示屏是由LED点阵模块或像素单元构成的。计算机技术的飞速开展,使得LED数码管能够在减少驱动器的情况下直接被驱动。LED数码管由于具有高可靠性、长寿命、高性价比、低本钱、强适应能力等特点,使得它在平板显示领域一直扮演着举足轻重的角色,而且它今后的开展空间还相当大。因此,LED数码管广泛用于我们日常生活中,并扮演着的信息显示与广告宣传的角色。组合型LED点阵显示器是开场出现于20世纪末,它具有很高的亮度、较低的能耗、广阔的视角、长久的使用时间及引脚少和耐高温极寒,耐腐蚀的多种特点。点阵显示器有单色的点阵显示器和双色的点阵显示器,可显示红,橙、黄、绿等多种不同颜色。LED点阵具有多种不同的点阵;本文设计制作的就是1616的LED显示屏,在下文会详细概述。LED点阵显示器以像素的数目可将其区分为双基色和三基色等类型。根据不同像素颜色所显示的图文等信息的颜色也不尽一样,单色色彩的显示是使用单基色的点阵,如红、黄、绿等,其都是固定的。将颜色不同的发光二极管组合点亮使得显示出不同颜色的点阵。如红蓝都亮时即可显示紫色,要想实现256或更高级的灰度的这种真彩色显示,就需使用脉冲方式来决定二极管点亮的时间。一般的数码管能显示阿拉伯数字和其他的一些中西文字与符号,这种数码管还可以用一个单块的LED点阵显示器来替代。常用的英文字母可以使用57点阵显示器来显示,显示中英文就可以用58点阵显示,显示文本和图形可以采用88点阵来显示。要形成大屏幕的显示,它需组合使用多个点阵显示器。像这种大屏幕点阵显示器是通过单片机或者微型计算机控制其驱动来实现多种信息的显示。1.2 LED点阵显示屏的开展趋势改革开放后期,LED点阵显示屏作为一种新式的信息显示媒介在全世界快速的成长起来,因为其有着可以长期使用的寿命、非常可靠和可观的性价比、环境适应能力强、低廉的使用本钱、低能耗等特性,仅仅在短短的八十年后期至九十年代初期的这段时间内,就迅速开展成为主流高科技领域显示所采用的产品,并得到普及的推广使用,引领着信息显示领域的开展。在现如今高速开展的社会,信息传播显示产品技术在飞速的往前进步,人们对视觉效果的要求也越来越高,也就意味着对显示屏的显示技术要求日益求精。二十一世纪的显示技术也将成为平板显示的时代,作为平板显示的主要架构产品,LED显示屏无庸置疑将会有更快的开展,并成为全球代表性的主流显示产品。随着根底材料的实现产业化,使得LED显示屏的本钱也逐步降低,应用性也得到更广泛的普及。由此可预计在今后的时间内,LED显示屏的开展会越发迅速,其在户外媒体广告宣传显示中将逐渐的完全替代那些传统的霓虹灯、灯箱等产品。多种颜色的LED显示屏的普遍性的应用将使得LED显示屏产业的开展到达一个增长点的新高。未来LED显示屏的开展方向也将越发标准、规X、构造多样化。. v.2 整体设计方案2.1 设计所实现的功能及构成基于单片机的1616 LED点阵显示屏的设计,要求其显示屏的各发光二极管的亮度足够并且均匀,显示稳定、清晰的图形或者文字,其显示出的图形或者文字应能有静止、移入移出的效果。本设计的1616点阵显示屏是采用四个88的点阵组合构成的。行列之间的交织处都含有一个发光二极管,总共是由256个发光二极管组成。2.2 显示模块的方案为了到达显示效果的增强,一般都具有几种显示模式,可分为两种显示模式,一种为静态显示方式,一种为动态显示方式。2.2.1静态显示方式静态显示,每一位显示器的字段都用独立的控制线。由于每一位显示器分别由一个8位的输出口控制其字段码,所以每一位显示器就得需要8根的输出控制线,这样来说,更多位的显示器就需要更多的输出控制线。这样一来将占用较多I/O资源。而单片机只能提供的有限的I/O口。因此,在实际使用中,输出口数目不够的问题,可以通过I/O口扩展的方式解决。静态显示主要的优点是显示稳定,在发光二极管电流导通一定的情况下显示器的亮度高亮,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其缺乏之处是硬件占用资源较多,由于每个LED数码管需单独占用8条输出线。因而显示器位数的一增加,需求的I/O口线也将一一增加。2.2.2动态显示方式在多位显示时,为了弥补静态显示方式的缺乏一般来说可以以采用动态显示方式来代替,全部数码管共用一套段码驱动电路,各位数码管的同段引脚短接后再接到对应段码的驱动线上。显示时通过位控信号采用扫描的方法逐位地循环点亮各位数码管。动态显示虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮的效果完全一样。动态显示具有硬件简单,功耗低和显示灵活性强等优点。鉴于LED显示器为并排使用的多位数码管,本次设计将采用动态显示方式,动态扫描逐行轮流点亮,因为每一行都有一个行驱动器,而各行的同名列又共用一个驱动器。单片机中存储器放置着显示所需数据,这些显示数据按8位一个字节的形式顺序排列放置。当要显示时就需把一行中的各列数据信息都传给其对应的列驱动器上面去,在这中情况下就会出现一个显示数据传输的问题。所以这时可以使用并列的方式或串行方式来实现控制电路到列驱动器之间的传输。2.3数据传输方案论证在采用并行模式的时候,从控制电路到列驱动器传输数据需要非常多的线路和硬件数。这样在很多列数时,并行传输模式是行不通的。使用串行传输方法来实现显示数据的传输时,用一根信号线就能把列数据送到列驱动器中,该方法具有十分的经济性。但由于串行传输过程比拟长,根据顺序将数据发送到列驱动器时,要想这一行的每列并行显示就得等待其各列的数据都传送完毕。在采用这种串行传输方式的时候,且在确定行扫描周期的情况下,因为列数据所消耗的准备时间可能会比拟长,因此行显示时间就会缺乏,将导致发光二极管亮度也会缺乏。重叠处理法的关键点是该行列数据进展显示的时候,同时把该行的下一行列数据传送给列驱动器。这种处理法可以用来解决列数据显示时间与准备时间之间的互相矛盾的问题。要想到达重叠处理,要求列数据的显示必须得具有锁存的功能。为了不影响本行的显示,列数据准备应具有实现串入并出的移位功能。3 硬件电路的构成3.1设计框图及介绍LED显示点阵的硬件电路由单片机系统及外围电源电路、列驱动电路和行驱动电路组成。设计的点阵总体框图如图1所示。图1 点阵显示的总体框图3.2 51系列单片机单片机又称微处理器。它是计算机的一个分支,它的组成原理和典型PC计算机有点相似,由多局部根本功能部件集成而来,它一般包括着中央处理器CPU、内部数据存储器、程序存储器、定时器/计数器、并行I/O口、串行口、中断控制电路、位处理器和一些必须的内部总线。单片机的根本构造如图2所示。图2 51单片机的根本构造控制器运算器构成cpu、内外程序数据存储加上串并行通信口、中断与定时计数这类事件触发单元构成单片微型计算机最根本外设通过外部设备的扩展从而构成单片机最小系统。单片机的核心是中央处理器CPU,主要用于完成一些运算和实现控制操作。算术逻辑控制单元加控制器即中央处理器两个最核心局部运算器电路和控制器电路。算术逻辑单元主要对数据进展处理包括加、乘、减、根本算术运算,逻辑单元进展逻辑功能运算,布尔处理器进展位操作。运算的实现是把运算数值放置累加器ACC中通过指令进展各种四那么运算当然这还需要其它存放器的配合。一个用来存放指令执行的状态信息的8位存放器PSW即程序状态字。PSW的位状态可以用专门指令进展测试,也可以用指令读出。其各位的为序所定义的标志位如下:PSW中最常用的标志位是进位标志位,即CY;在加法的运算中存放,假设有进位时,CY置1,没有进位时CY需要清零;而在减法的运算中它用来存放借位标志位,假设有借位CY置1,没有借位CY清零。半进位标志位AC是低半字节的进位位,AC置1表示低4位在往高4位进位,AC清零表示低4位在向高4位借位。可由用户自定义的标志位叫做用户标志位F0;通过低半字节对其置位和复位。 RS1和RS0:存放器组选择控制位,用来设置4组工作存放器的组号。OV:溢出标志位。在加减运算中,运算超出了累加器A的有效X围-128+127时,那么OV置1,产生满溢,否那么OV由硬件清零,代表运算的结果无错误。在无符号乘法运算中,当乘法结果超过255时,OV=1,高8位的乘积放在B中,低8位放在A中;没超过255时,那么OV清零,代表乘积置存放在A中。奇偶标志位用P表示。说明累加器A中1的个数的奇偶性,假设A中1的个数是偶数时,那么P=0;假设A中1的个数是奇数,那么P=1。单片机是一种通过程序控制的微型计算机;工作过程是从程序存储器中取指令送指令存储器,译码器译码生成一系列符合定时要求的微操作信号,来控制单片机的各局部执行动作。在80C51内部的功能部件间数据的传送和运算是由控制器所协调的。2存储器组织51系列的单片机的存储器具有两个局部,即程序存储器和数据存储器。程序存储器和数据存储器两个的构造是分开的。程序存储器是用来存放单片机系统的目标程序的,可分片内和片外程序存储器。同理数据存储器就是存储数据的,其也具有片内和片外之分。哈佛类型构造单片机指的是有着它自己的寻址机构和寻址方式的存储构造。还有一种与哈佛构造单片机不同构造的单片机叫做普利适顿型,这种构造单片机的存储器的逻辑空间是唯一的,访问存储器时共用一种一样的指令,它的程序存储器和数据存储器可以随便安排。80C51的片内具有的程序存储器和数据存储器大小分别为4KB(ROM)、256K,程序存储器和数据存储器都可在片外扩展64KB的寻址X围,也就是说80C51在片外的存储器扩展X围上限为264KB。80C51单片机的存储器的配置如图3所示。 图3 80C51单片机的存储器配置80C51程序存储器有64KB空间的可寻址地址,程序存储器通过16位的地址总线以程序计数器PC作为地址指针,用来存放程序和一些表格及常数。8031片内没有程序存储器,需要在外部扩展。而8051与8031不同,在8051单片机片内有驻留最低4KB存储器地址空间0000HFFFH。51系列单片机中,64KB的程序存储器编址都是统一的。EA引脚可区分片内ROM和片外ROM,8051单片机中,EA引脚接高电平时,单片机从片内ROM取指令执行程序,当超过片内ROM地址空间0FFFH后,自动转向片外ROM取指令执行程序,所以片外程序存储器ROM地址空间是1000HFFFFH。EA引脚接低电平,中央处理器CPU只从片外程序存储器ROM中取用指令来执行。8051单片机有256个单元的数据存储器,根据功能可以把256个单元分为低128单元和高128单元。低128单元(00H7FH)称为内部RAM,内部RAM是真正意义上的RAM区,其各单元可直接寻址,用于读写各种类型数据。高128单元80HFFH是给特殊功能存放器SFR专用的,用于存放相应功能的控制命令、状态或数据。8051片内还有着21个8位的特殊功能存放器,访问时可使用它们的位符号或者位地址,还可用“存放器名.位表示,像表示ACC的最低位为ACC.0,表示B存放器的最高位为B.7。. v.3.3单片机的最小应用系统将片内有程序存储器的单片机与时钟电路、复位电路组合,再与单片机内部的中断系统、定时器计数器、串、并行接口连接就构成了单片机的最小应用系统。如图4所示,就是一个单片机最小应用系统。 图4 单片机最小应用系统单片机实现复位的方式只有2种,加电复位和手动复位。加电复位是指单片机在开机时由系统自动通过复位电路完成。手动复位是单片机系统必须有的一项功能,在系统出现死机或进入程序跑飞死循环的情况时,可通过手动复位重新启动操作来解决。我们通常把加电复位电路与手动复位所结合成一个既可以自动加电复位也能手动的复位电路。单片机的复位电路简图如图5所示。图5 单片机的复位电路简图51系列单片机的工作电压为5V,其EA引脚需接高电平,51系列单片机的电源电路如图6所示。 图6 51系列单片机的电源电路3.4 LED点阵在LED显示屏系统中,其构成的根本单元为点阵构造。每一个显示屏的单元都是由假设干个88的单色LED点阵显示模块组成。每个88的LED点阵都是由64个单个发光二极管组合的,在每行与每列的交汇点放置一个单个的发光二极管排列成了一个88的单色LED点阵。使用两块单色的88 LED点阵正确的连线可以显示两种颜色,这就是双色88点阵。单色88 LED点阵和双色88 LED点阵的构造如图7所示。单色88 LED点阵双色88 LED点阵图7 单双色88 LED点阵构造本设计是采用4块88的LED点阵模块组合成1个1616的LED点阵显示模块。如图8所示。图8 1616 LED 点阵3.5 LED显示方式 本设计所设计的1616 LED点阵采用的是动态扫描方法,将所有位数码管的段选线一起并联,即同一列发光二极管阴极一起连接,同以行发光二极管阳极一起连接。从首行开场,把数据送出并且锁存,使首行对应的发光二极管亮熄一定时间;然后依照这样,再进展接下来的每一行都以一样时间亮熄,直至第十六行完成后,又重新回到第一行执行亮熄,如此反复循环的亮熄。当以每秒24次以上的亮熄速度时,稳定的图形就能出现在显示屏上,这是因为人眼的视觉暂留现象产生的。相比静态扫描来说,这种灵活的动态扫描方法能有效的节省单片机的资源。显示数据传输使用的是串行传输的方法。使用串行传输方法来实现显示数据的传输时,用一根信号线就能把列数据送到列驱动器中,该方法具有十分的经济性。但由于串行传输过程比拟长,根据顺序将数据发送到列驱动器时,要想这一行的每列并行显示就得等待其各列的数据都传送完毕。在采用这种串行传输方式的时候,且在确定行扫描周期的情况下,因为列数据所消耗的准备时间可能会比拟长,因此行显示时间就会缺乏,将导致发光二极管亮度也会缺乏。串行传输过程中列数据的准备时间会与数据显示时间相矛盾,一般使用重叠处理方法解决。重叠处理法的关键点是该行列数据进展显示的时候,同时把该行的下一行列数据传送给列驱动器。要想到达重叠处理,要求列数据的显示必须得具有锁存的功能。为了不影响本行的显示,列数据准备应具有实现串入并出的移位功能。LED点阵显示模块有水平方向(X方向)扫描和竖直方向Y方向扫描方式。水平扫描法即列扫描方法:用一个P口输出列的位码来确定点亮哪一列,另一个P口输出行的位码确定行上的具体点亮哪个发光二极管。自左向右循环扫描16次,显示出稳定的图像。3.6点阵的移动如下为1616点阵移动介绍。点阵的组字是通过横向和纵向的16点数据显示不同的字符,每一组成的字符都可以水平、竖直的在点阵屏上移动。1.字符左右移动的显示1竖直列扫描方法左移动:即竖直方向的字符在水平方向移动左方移动介绍两个方法:方法一:延长数组法。将原先的字符点阵数组的16个数据延长为32个数据。扫描仪的每帧取八个显示数据,每一帧取数时应该在数组的后一位取,也就是向后移一位。要想呈现字符的水平方向的向左的移动的影像。首先,设想有两个1616的点阵模块,每次扫描16帧的数据,先从左边开场,然后都以16帧向右扫描,先前的16位被罩住,如此循环,就能实现16帧换面的动态扫描显示。如图9.字符“江沿水平向左移动的图像图9方框图法左右移动示意图列向假设想显示一个移动的字符,首先理解列扫描方式其点阵数据时行码,高位在下面,低位在上面,所以当第一次取出116数据是从行码的点阵数组中取出的,接着把得到的行码送到输出口,与之相对应的这八个数组数据用列码传送至输出口端,分别把控116列。这16个数据被扫描完成后,第二次就去214个数据,因为两个一样的数据1和17,再次送到输出口端,这样又对应了相应的数据,送给列的输出端口同时输出相应的列码,于是控制着相应的列116列三次的扫描取得数据为318,而18与2是一样的数据码,这样循环的扫描完成了字符的左向移动。上述实现的是图形化移动的方法,也可理解为是移动了多个不同的形状字形。如图10所示,通过对16行的扫描与显示,完成一个个字型的扫描,多少次的重复循环实现字符的左向移动。图10 字形法左右移动示意图假定一个汉字的字型编码如下:00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H;假设第二个汉字的编码如下:10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H,00H相当于将字型的编码的行显示数据往后推一行,即第一行变为第二行,第二行变为第三行,如此推算。第一个字型扫描完毕就接着产生第二个字型的编码,以此类推,不断的进展编码的变换调整。编码的根据顺序存入相应的地址,假设要进展左移,先得把第一个地址存入到另外的 一个地址,不是保存本数组数据的地址,然后存数据的地址依次向前移,例如,21H地址的数据移到20H,接着22H的数据就得移到21H地址,相互移动,到达相应的效果。方法二:数组数据的循环左移;即是把数组中的数据向左移不是二进制数据的位移。不延长原先数组中的数据,而是去相应下一帧的十六个数据,然后把前一帧的数据前移,也就是左移,把后面的每一帧数据向前移,一直移下去,直到第16个。数组数据的左移方法选择C语言实现,首先得设置数组的下标志,将相应的数据输入到数组中,然后根数数组的下标值,利用程序中的循环构造,进展遍历,将相应的值赋给前一个标号的数组中,这样就可以实现数组数据的左移。2横向行扫描方法左移动:即横向方向的字符在水平方向移动左方移动。竖直扫描方式也就是行扫描方式,第一次扫描取116个数据,输送到列向的输出口端,相联系的八个数值,用行码输出口段输出相应的行码值,决定着116行的扫描。接着,第二次扫描十六个数据,这次扫描需要右移第一次扫描的数据,如此扫描循环,关键的是后一次的扫描需让前一次的扫描右移一位。与此同理,右移的原理与左移相似,只是取码的次序不同而已相反。2.数据的上下移动1列扫描方式向上移动将第一次点阵中扫描到的116个数据取出来,输送到列向码的输出口端,对此的十六个数据,然后要列码端的输出端口输出相应的列码,同时决定116行的扫描。又因为列向的数组的组字是下低上高的,所以在完成了第一次的十六个数扫描后,在扫描第二次十六位数据的时候,需要将第一次的数据的行码右移一位,这样就完成了数据的上方向移动。上述实现的是图形化移动的方法,也可理解为是移动了多个不同的形状字形。通过对16行的扫描与显示,完成一个个字型的扫描,多少次的重复循环实现字符的向上移动。同时将每一个显示的数据都右移一位,随之长生一个动态向上滚动的字符,也就是有滚动的视觉感应。当字符被扫描完成后,然后进展相应的动作调整改变,产生后面的字型的编码,再将编码存入存储器,然后将地址数据调整,即将每组数据向右移一位。图11 字形法上移动示意图2横向行扫描方式上下移动介绍两种方法于字符的竖直方向的移动。方法一:延长数组法。在行向组列字的根底上,假设想将一个字符向上移动,那么在第一次去点阵数据的116数据时,把它输送到输出口端,与之相对应的八个数值,然后在行码输出口端输出相应的行码值决定116行。第二此数据的取出就从217数据取,因为17与1的数据一样,然后在输出,相应的在控制相应的行,后面的数据取出就是318的数据,以此类推,往复循环实现字符的上方向移动。方法二:即数组数据的左方向循环移动,也就是上文所述的数组的左向移动利用变量的变化来检测数组数据的左方向循环移动。3.7 点阵颜色的转换 以88双色点阵为例介绍两种颜色的转换原理。88双色点阵是由2个88的单色点阵一起组合而成的,如图13所示。在电路设计的时候可以从公共的引脚接入显示信号,接89C51的一个PORT口,另外2个PORT分别接显示红、黄的局部。这样,编程执行时,扫描输出显示红色的信号就会显示出红色,扫描输出显示黄色的信号就显示了黄色。. v.图12 双色88点阵扫描图3.8 LED点阵列驱动电路当至少提供10毫安到20毫安时,发光二极管才会被正向点亮。提供的电流缺乏够大,发光二极管就会缺乏够亮。8051的输入、输出端的高态输出电流都不过12毫安而已,难以直接驱动发光二极管的点亮。而需要额外参加驱动电路来驱动发光二极管的的点亮,根据两种不同的共用极向的LED点阵有着不同的驱动方式。根据不同的输出态也可以分为四种方式,即:低态扫描-高态显示、低态扫描-低态显示、高态扫描-高态显示和高态扫描-低态显示。如图13 所示是针对共阴性LED阵列而设计的驱动电路,在这种驱动电路采用低态扫描,也就是任何时间只有一个高态信号,其他那么为低态。一行扫描完成之后,再把高态信号转到临近的其他行。扫描信号经限流电阻接到PNP晶体管的基极,晶体管的集电极接地,射极那么连至LED点阵的列引脚,假设要同时点亮该列的16个LED,那么晶体管的电流必须大于200毫安才行。常用的2N3904之类就可以到达当低态的列扫描信号输入晶体管的基极后,该晶体管即为正向,而产生电流,即可使该列的LED具有点亮的条件。图 13共阴型低态扫描-低态显示信号驱动电路PNP晶体管的连接如图13中,基极接显示信号,射极连电源VCC。当输入低态的显示信号时,晶体管集电极电流流入行二极管的阳极,使得发光二极管被点亮。像本设计所设计的1616 LED点阵列是由4个88 LED点阵列并接所成的,这种多个并接的LED阵列扫描时,一个扫描信号同时驱动着2个LED阵列。如图14所示。 当一个扫描信号驱动2行LED阵列时,需要使用锁存器将两组显示信号锁存住。锁存器74LS595的输出是低态输出,输出电压可以到达24毫安,发光二极管的驱动电流最低为10毫安,所以24毫安足够驱动点亮发光二极管。如果驱动电流缺乏,发光二极管不够亮,可选用输出电压能到达48毫安的74A373锁存器。 图14中的电路驱动有16条扫描信号,由8051直接输出的话,占用了2个P口,浪费了P口资源。可以使用74LS164译码器,将16进位码解码成低态的扫描信号输出,输出的信号直接接PNP晶体管的基极,假设电流信号太大可中间串一个电阻限流,再接晶体管基极,晶体管把信号放大后就能驱动16个发光二极管点阵了。1616的点阵驱动图如图14所示。图14 1616的点阵驱动图. v.4软件设计4.1单片机延时子程序 在单片机的程序编程过程中,延时经常被用到,延时程序是整个程序中非常重要的一局部。本次毕业设计中,LED点阵的行扫描时间、显示字符的移动的时间间隔都用到了延时,延时可以保持字符移动的连贯性,也可以作为间隔停顿。下面简要的介绍延时程序涉及的一些根本概念及一些相关的指令的详细用法。1.机器周期和指令周期单片机完成一个根本指令操作所消耗的时间叫做机器周期。机器周期视脉冲频率而定,振荡脉冲频率为12MHz时,机器的周期为1us;振荡脉冲频率为6MHz时,机器周期就为2us。执行以条指令所消耗的时间叫做指令周期,指令周期用机器周期的数目来表示。2.延时指令由于单片机每执行一条指令都需要消耗一定时间,所以可使单片机执行无操作命令的指令,即空指令来到达延时的效果。1MOV数据传送指令数据传送指令功能是将数据从一个地方传送、拷贝到另一个地方。例如:MOV R0,80H;表示把数据80H送到R7中,该指令占用一个机器周期,并没有实际的操作。2NOP空操作指令空操作指令占用一个机器周期,单片机不做任何的操作。因此,NOP指令常用于程序等待或时间的延时。3DJNZ循环转移指令 将第一个数减1判0。如果该数减1后结果不为0,程序就转移;结果为0,程序就顺序继续往下执行。这指令消耗2个机器周期的时间。运用上面三条指令组合在程序编程中能够实现相对准确的延时程序。本次设计中程序的延时程序如下:MOV R3,*200D1:MOV R5,*250F1: DJNZ R5,F1DJNZR3,D1RET 2其延时的时间为:1+1200+2250200+2200+2=2*250+3*200+3 =100603s 100ms =0.1s4.2点阵左移显示的流程图及分析 点阵扫描作准备,设定程序的初始地址为0H,选择符号F的初值为0。主程序开场的延时子程序延时0.1秒,子程序使用2次,在程序开场启动作停顿用和一次左移完毕到下一次重新开场间的停顿。从M3运行程序循环,M3的开场程序来确定列扫描出口即选择点阵的颜色,F初值为0,从P1口输出扫描信号,首先显示红色点阵。设定每列扫描时间为:MOV R3,*50 DJNZ R3,$ ;1+250=101us0.1ms。字型显示移动完后,返回重新开场移动。4个字符字型码128个,取码指针初值为0,每次对其加2,至128时循环完毕,再改变F的状态,程序跳回开场局部,黄色点阵显示开场移动。显示效果:开场显示时,停顿0.1秒,然后向左以每0.1秒移动显示4个红色的字,当显示到左后第4字后,停顿0.1秒。再依次以每0.1秒显示4个黄色的字,黄色的字型显示完,停顿0.1秒,再重复接4个红色的字依次从左移动显示出。依此循环。点阵左移显示的流程图如图16所示。整个显示过程的程序见附录A所示。图15显示流程图. v.4.3 PROTEUS ISIS仿真 Proteus是由ISIS和ARES两局部组成的软件。其中ISIS是用于电子系统原理设计和仿真平台的软件。ARES是用于高级的PCB布线编辑软件。我们用ISIS来进展本次设计的仿真。首先,先在软件中画出仿真线路图和所用的各个元件,编写相应单片机的程序,加载程序,生成HEX文件。新建Keil工程,导入源程序。设置好单片机时钟频率,为12MHz,选择正确的文件路径然后加载。设置完各项就能实现仿真。假设出现仿真结果不对,修改程序,重新编译运行,直至没有错误。仿真结果见附录3。. v.参考文献1. X义和陈敌北编著例说8051人民邮电2006年Zhang Yihe,Chen DibeiEd cases, said 8051M. People Post Press20062周越主编单片机技术实验实训教程中国水利水电2007年Zhou Yue editorchip technology experimental training course M.China Water Power Press 20073. 周越主编单片机应用技术中国水利水电2021年Zhou Yue editorSCM Application TechnologyM.China Water Power Press 20214李全利编单片机原理及应用技术高等教育2004年Liquan Li series Principles and Applications TechnologyM.Higher Education Press20045. 李忠国陈刚编著单片机应用技能实训人民邮电2006年Li Zhongguo Chen Gang edited microputer application skills trainingM.People Post Press 20066. 赵建领编著Protel电路设计与制版宝典电子工业2007年Zhao Jianling edited Protel circuit design and platemaking CollectionM.Electronic Industry Publishing House 20077郭振民丁红主编电子设计自动化EDA中国水利水电2021年Guo Zhenmin Ding Hong editor Electronic Design Automation EDA M. China Water Power Press 20218. 周润景等编著Proteus在MCS-51&ARM7系统中的应用百例电子工业2006年Zhourunjing eds Proteus application hundred cases in MCS-51 & ARM7 systemM.Electronic Industry Publishing House 20069. Vizimuller.P. RF design guide-systems,circuits,and equations. 1995.10 .R.Dye. Visual Object-Orientated Programming,Dr.Dobbs MacintoshJournal. Sept.1st.1991致 毕业论文暂告收尾,这也意味着我在大学学习生活既将完毕。回首既往,自己一生最珍贵的时光能于这样的校园之中,能在众多学富五车、才华横溢的教师们的熏陶下度过,实是荣幸之极。在这几年的时间里,我在学习上和思想上都受益非浅。这次设计的成功除了自身努力外,与各位教师、同学和朋友的关心、支持和鼓励是分不开的,我要在这里对他们表示深深的谢意。每一次经历都是成长,在设计当中发现很多的问题,都是之前没有遇到过的,处理着这些事情,虽然都是些不起眼的小事,但还是需要很多解决大事情的技巧与经历。每次在设计时,遇到的各种问题,都不知道如何下手,没有一个整体的思路,就有些茫然无措的感觉,幸运的是,同学与教师的教传与启蒙,让我有着恍然大悟的感觉,多少次徘徊在问题当中,想想该如何实现这个功能或者那个功能,自己都得到了一次锻炼,很多事情其实都是需要耐心的,发现问题不懂,然后自己在网上查找资料,实在是不能得出肯定正确的结果,然后就找教师一一解答,教师的细心指导,启蒙式的教导方式,让人受益匪浅,而不是那种纯粹式的灌输,这种思考方式的教导会给人学会面对其他问题的思考,触类百通,授之以渔不如授之以渔。这次设计中十分感谢我的指导教师桂友超教师,在设计上给了很多珍贵的经历,给予了很多的指导与帮助,得以让设计顺利进展。教师在教导过程中形象的用各种例子来讲述各种问题,通俗易懂,敬仰他专业知识渊博的同时,对他的那种生活高尚情操深深叹服,那种一丝不苟,谆谆教导的教师品格是学生将来工作的典范。同时,教师的教导寓事于理,不仅仅教的是专业知识,更是一种对待生活人生的达观与理解。 最后,对教师,同学等所有的人以及学校给我们提供的这么好的学业环境,致以我最衷心的感谢,因为有了这些,大学才够完整。附 录附录1一、 程序1.汇编语言程序:ORG 0000H;CLR F0;颜色选择符号F0清零START:MOV A,*00H;去除屏幕MOV P2,A;显示信号输出到P2口MOV R3,*200;延时程序D1: MOV R5,*250;F1: DJNZ R5,F1;DJNZ R3,D1;MOVE:MOV 20H,*00;取码指针地址20H初值为00MOV R4,00H;74LS154扫描指针初值为00M1:MOV R1,*65;每屏停留时间M2:MOV R6,*16;每屏一个字,16个数据码MOV R0,20H;取码指针存入R0M3: MOV A,R4;扫描指针载入A F0,ORGANGE;颜色选择CLR P0.2;清P0.2SETB P0.3;P0.3置1MOV P1,A;输出至P1扫描列SJMP M4;ORGANGE:MOV P3,A;CLR P0.3;M4: MOV A,R0;取码指针载入AMOV DPTR,*TABLE;数据指针指到 TABLEMOVC A,A+DPTR;到TABLE取上半部数据码SETB P0.1;P0.1口置1CLR P0.0;清P0.0口MOV P2,A;输出至P2口显示INC R0;取下一个码MOV A,R0;取码指针载入AMOV DPTR,*TABLE;数据指针指到TABLEMOVC A,A+DPTR;到TABLE取下半部码SETB P0.0;CLR P0.1;MOV P2,A;输出到P2口显示INC R0;取码值加1MOV R3,*50;延时DJNZ R3,$;MOV A,*00H;去除屏幕MOV P2,A;INC R4;扫描下一行DJNZ R6,M3;判断显示一屏MOV R4,*00;去除74LS154扫描指针为00DJNZ R1,M2;每屏停留时间MOV A,20H;取码指针载入AADD A,*02;指针加2MOV 20H,A;再存入20H地址取码指针XRL A,*128;四个字是否都左移完.JNZ M1;否,跳到M1CPL F0;颜色选择符号F0清零SJMP START;是,跳到STARTTABLE:DB 02H,00H,02H,08H,06H,10H,0AH,20HDB 12H,48H,22H,84H,7FH,0FEH,02H,00HDB 02H,00H,7AH,00H,06H,10H,03H,0A0HDB 0AH,70H,02H,48H,02H,8CH,00H,10H;DB 0FH,00H,10H,40H,20H,20H,20H,10HDB 20H,08H,10H,04H,08H,02H,04H,01HDB 04H,02H,08H,04H,10H,08H,20H,10HDB 20H,20H,20H,40H,10H,80H,0FH,00H;DB 08H,26H,44H,06H,26H,06H,30H,38HDB 01H,02H,20H,02H,20H,02H,20H,02HDB 20H,02H,2FH,0FEH,20H,02H,20H,02HDB 20H,02H,20H,02H,00H,02H,00H,00H;DB 08H,20H,44H,20H,26H,7EH,30H,80HDB 01H,00H,0F2H,00H,22H,00H,3FH,0F0HDB 22H,10H,2FH,90H,22H,10H,22H,12HDB 22H,12H,3FH,0FEH,22H,10H,20H,00H;END2.C语言程序:*include *include *define DATAOUT P2 /P2 use as data, you can change*define SPEED 13void ymove(char dir,unsigned char *ptr,char speed);void xmove(char dir,unsigned char *ptr,char n,char speed);void delay(unsigned int a);void display();void displaytime(char time);void init164();sbit ADATA= DATAOUT0;sbit ASCK= DATAOUT1;sbit LATCH= DATAOUT2;sbit BDATA= DATAOUT3;sbit BCLK= DATAOUT4;code unsigned char xin32=0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x38, /心 0x1F,0x7C,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE, 0x1F,0xFC,0x0F,0xF8,0x07,0xF0,0x03,0xE0, 0x01,0xC0,0x00,0x80,0x00,0x00,0x00,0x00;code unsigned char zhong32= 0x01,0x00,0x01,0x00,0x01,0x04,0x7F,0xFE, /中 0x41,0x04,0x41,0x04,0x41,0x04,0x41,0x04, 0x7F,0xFC,0x41,0x04,0x01,0x00,0x01,0x00, 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00;code unsigned char guo32=0x00,0x04,0x7F,0xFE,0x40,0x24,0x5F,0xF4, /国 0x41,0x04,0x41,0x04,0x41,0x44,0x4F,0xE4, 0x41,0x04,0x41,0x44,0x41,0x24,0x41,0x04, 0x5F,0xF4,0x40,0x04,0x7F,0xFC,0x40,0x04;code unsigned char dui32= 0x7C,0x40,0x44,0x40,0x48,0x40,0x48,0x40, /队 0x50,0x40,0x48,0x40,0x48,0x40,0x44,0xA0,0x44,0xA0,0x44,0xA0,0x69,0x10,0x51,0x10,0x42,0x08,0x44,0x06,0x48,0x04,0x00,0x00;code unsigned char jia32= 0x10,0x00,0x10,0x00,0x10,0x04,0x12,0x7E, /加 0xFF,0x44,0x12,0x44,0x12,0x44,0x12,0x44, 0x12,0x44,0x22,0x44,0x22,0x44,0x22,0x44,0x22,0x44,0x4A,0x7C,0x84,0x44,0x00,0x00;code unsigned char you32=0x00,0x40,0x40,0x40,0x30,0x40,0x10,0x44, /油0x87,0xFE,0x64,0x44,0x24,0x44,0x0C,0x44,0x14,0x44,0x27,0xFC,0xE4,0x44,0x24,0x44, 0x24,0x44,0x24,0x44,0x27,0xFC,0x24,0x04 ;code unsigned char gth32=0x00,0x00,0x01,0x80,0x03,0xC0,0x03,0xC0, /! 0x03,0xC0,0x03,0xC0,0x03,0xC0,0x01,0x80, 0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80, 0x03,0xC0,0x01,0x80,0x00,0x00,0x00,0x
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!