首页 LED点阵驱动模块

LED点阵驱动模块

举报
开通vip

LED点阵驱动模块LED点阵驱动模块 河南师范大学本科毕业论文 大学本科毕业论文 LED点阵驱动模块 摘 要 介绍了一个以单片机STC89C58RD+为控制器的点阵LED显示屏控制系统。该系统采用RS-232/RS-485通信标准,通过STC89C58RD+的串行接口接收PC机的控制命令及显示数据,经处理后控制LED显示屏的扫描显示。该系统采用了STC89C58RD+单片机内部的高速Data Flash(EEPROM)作为数据存储器。用户可以根据需要把要显示的内容通过PC机软件,直接从计算机下载到LED显示系统,同时可以设...

LED点阵驱动模块
LED点阵驱动模块 河南师范大学本科毕业 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 大学本科毕业论文 LED点阵驱动模块 摘 要 介绍了一个以单片机STC89C58RD+为控制器的点阵LED显示屏控制系统。该系统采用RS-232/RS-485通信 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ,通过STC89C58RD+的串行接口接收PC机的控制命令及显示数据,经处理后控制LED显示屏的扫描显示。该系统采用了STC89C58RD+单片机内部的高速Data Flash(EEPROM)作为数据存储器。用户可以根据需要把要显示的内容通过PC机软件,直接从计算机下载到LED显示系统,同时可以设置显示系统显示的颜色、显示内容的移动方式、移动速度等。本系统主要应用于厅堂、车站、广场等公共场所;本文中给出了该控制系统的软硬件 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 要点。 关键词 RS-232/RS-485通信标准;STC89C58RD+ ;FLASH存储器 0 大学本科毕业论文 Driver module of LED dot matrix Abstract A lattice LED’s panel display system controlled by a microcomputer STC89C58RD+ was given. The system received the control command and display data from PC by way of one serial interface of STC89C58RD+ using RS-232/RS-485 communication protocol. The microcomputer controls the scanning of data display by way of another serial interface of STC89C58RD+. It used a high-speed FLASH storage of STC89C58RD+ as its data storage ware . Consumers can foundation their need to hold the content they must display through the PC software,download directly from computer to LED display system, at the same time ,It can set the color of the screen、move fashion of the display content、speed and so on.The system mostly apply to hall、station、square etc; The main points of system design were also presented . Keywords RS-232/ RS-485 communication standards;STC89C58RD+;FLASH storage 1 大学本科毕业论文 目 录 摘要 ........................................................................................................................................ I Abstract ................................................................................................................................... II 前言 ........................................................................................................................................1 1 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 论证 ............................................................................................................................5 1.1 行扫描信号的设计 .................................................................................................5 1.2 列信号的驱动方案 .................................................................................................3 1.3 LED灰度值的控制 ..................................................................................................4 2 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 ............................................................................................................................8 2.1 系统整体结构及原理图 .........................................................................................6 2.2 系统各部实现过程 .................................................................................................9 3 元器件介绍 ...................................................................................................................... 14 3.1 STC89C58RD+单片机简介 .................................................................................. 14 3.2 CD4094简介 .......................................................................................................... 14 4 程序说明 .......................................................................................................................... 18 4.1 程序流程图及简要说明 ........................................................................................ 18 结束语 .................................................................................................................................. 21 参考文献 .............................................................................................................................. 22 致谢 ...................................................................................................................................... 23 附录 ...................................................................................................................................... 24 2 大学本科毕业论文 前 言 LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,它利用发光二极管构成的点阵模块或像素单元组成在面积显示屏幕,以色彩鲜艳,动态范围广,亮度高,可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED显示屏的应用涉及社会经济的许多领域,主要包括:证券交易、金融信息显示。机场航班动态信息显示。港口、车站旅客引导信息显示。体育场馆信息显示。道路交通信息显示。调度指挥中心信息显示。邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。)广告媒体。蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,使LED全彩色显示产品成本下降,应用加快。LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果。现代信息社会中,作为人——机信息视觉传播媒体的显示产品和技术得到迅速发展, LED显示屏作为平板显示的主导产品之一无疑会有很大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。 目前大多数的LED点阵显示系统自带字库。其显示和动态效果(主要是显示内容的滚动)的实现主要依靠硬件扫描驱动,该方法虽然比较方便,但显示只能按照预先的设计进行。而实际上经常会遇到一些特殊要求的动态显示,比如电梯运行中指示箭头的上下移动、某些智能仪表幅值的条形显示、广告中厂家的商标显示等。这时一般的显示系统就很难达到要求。另外,由于受到存储器本身的局限,其特殊字符或图案也往往难以显示,同时显示内容也不能随意更改。本文提出一种利用PC机和单片机控制的LED显示系统通讯方法。该方法可以对显示内容(包括汉字和特殊图符)进行实时控制,从而实现诸如打字、开闭幕、右移、下铺、百叶窗、翻页等多种动态显示效果。该方法同时还可以调节稳态显示时间,动态显示(刷新方式)的速度,同时也可以任意选择显示的颜色(红、绿不同的灰度级),显示内容亦可以即时修改。另外,通过标准的RS232/485转换模块还可以实现对显示系统的远程控制和数据传输。LED显示屏由于使用环境和用途的不同,有户内显示屏和户外显示屏之分,按大小的不同,又有小型条屏到大面积视频显示屏之分。小型的条形显示屏,一般采用单片机来控制,它具有结构简单、成本低、编程容易的特点。硬件上一般采用扫描显示的方法,只要扫描场频高于30帧,秒,就可得到稳 3 大学本科毕业论文 定的显示图像。 STC89C58RD+是宏晶生产的与MCS-51系列完全兼容的单片微处理器产品。STC89C58RD+内部的高速Data Flash(EEPROM)可作为数据存储器,三个定时器可以充分满足系统需要。STC89C58RD+可以工作在0,80MHZ的频率范围内。普通8051的CPU的每个机器周期需要12个时钟,而STC89C58RD+可设置为6振荡周期/机器周期。在相同的晶振频率和代码条件下,运行速度要远高于普通8051。此外STC89C58RD+的双数据指针结构也将提高数据传送的效率。在显示系统中,由于扫描显示与状态控制、移动控制分时复用CPU,扫描显示频率不能低于30 HZ,这就需要加快CPU执行指令的速度。STC89C58RD+具有高的工作频率,高效的CPU内核以及很短的机器周期,应用于显示控制系统中可以大大提高显示效果,增强系统的稳定性和可靠性。 4 大学本科毕业论文 1 方案论证 1.1 行扫描信号的设计 方案1:外接状态机。使用十六进制计数器74LS191与4—16译码器74LS154组成状态机。为74LS191的数据输出端与74LS154的输入端对应连接,74LS191的计数输入端做为整个模块的输入,74LS154的译码输出端即为行扫描信号。STC89C58RD+控制机在需要时向74LS191送记数脉冲,经74LS191计数、74 LS154译码后作为LED点阵的行扫描信号。此方案编程极其简单,但外围元件增加,硬件走线复杂,增加了单元的印刷线路扳的设计难度,成本高。 方案2:软件实现。由于行扫描信号具有周期性,所以,软件可以轻易实现。采用串行输出,在控制机输出列信号的同时输出行扫描信号。同时便于多级连接。编程步骤如下:初始化(行信号全部清零),数据信号置1同时发送时钟移位信号,数据信号置0,发送15次时钟移位信号。 由于结构简单,便于级连,本设计选用方案2。在输出列信号时送出行扫描信号,能保证显示字形准确无误。 1.2 列信号的驱动方案 方案1:串行控制驱动方式。所谓串行控制驱动方式就是显示的数据是通过串行方式送入点(列)驱动电路。其特点是单元内的线路连接简单,这给印刷电路板的设计带来了方便。同时也减少了印刷电路板的布线密度,从而为生产和调试带来了有利的一面。当然,单元的可靠性也相应的提高了。串行控制驱动方式可选用的芯片有:MC4094、74LS595、74HC595、6B595、9094等等。其中MC4094、74HC595均为CMS芯片,应与功率芯片结合使用;例如使用2803驱动芯片。建议采用6B595或9094(74LS595也可用),因为这几种芯片都具有一定的驱动能力可直接驱动LED发光管而无须另外添加驱动芯片。同时,串行移位并行功率输出的芯片(6B595、9094)自身具有级联功能,为单元的级联提供了支持。在应用串行控制驱动系统时,尽管串行移位芯片具有级联功能,但设计时要考虑时钟信号、SB信号、行控制信号的级联驱动向题。另外为提高单元的多级级联的数量,设计时要考感到每个信号的传输延迟,以保证控制时序的正确运行。 方案2:并行控制方式。并行控制驱动方式就是显示的数据是通过并行(16位)方式送入点(列)驱动电路。每送入一个字节就完成了一个模块的一个行的数据 5 大学本科毕业论文 置入,其优点是数据的刷新速度块,这就减轻了上一级控制系统的压力。在同样的数据处理量的前提下,对处理速度要求的降低,就意味着对系统投入的降低。同时处理速度的降低也相应地提高了系统的稳定性。在并行控制驱动方式下,我们可以选用74LS373这样一类锁存芯片,也可以将这一方式称其为并行锁存方式。并行控制驱动方式的缺点是:由于数据是并行输入的,这就使得单元内的线路连接复杂。由此增加了单元的印刷线路扳的设计难度。同时提高了印刷线路扳的密度,对生产加工和调试出厂有较高的要求。但设计难度的加大仅仅是一次性的,而生产和调试的难度是可以提高生产的手段和使用先进的仪器设备加以克服的。由于并行控制驱动方式的自身特点,使得单元的级联不成问题。只要设计时对控制信号的级联驱动加以注意就可以了。并行控制驱动方案中也可采用总线式结构,即选用的八位锁存器不是首尾级联方式而是共用总线方式。但这种方式将增加控制逻辑的投入,也就是说每个锁存器都要有一个独立的锁存控制时钟;因此,这一方式一般不采用。 方案3:高度集成专用芯片的应用。随着微电子技术的不断发展,以及大型电子显示屏应用的日益广泛,一种高度集成的LED显示屏控制驱动专用芯片出现了,例如;ZQL9701芯片。ZQL9701芯片是集行控制、列控制和一些外围驱动电路于一身的高度集成控制驱动芯片。采用ZQL701芯片将会使单元的控制、驱动更为简单,高度的集成化也使系统的稳定性更为可靠。另外,ZQL9701芯片在单元的级联方面也提供了充分的支持。采用ZQL9701芯片将使系统的显示灰度达到256级。采用ZQL9701芯片设计显示单元时,由于ZQL9701芯片是表面封装器件,这就需要用专用的生产设备进行生产。这对一股的生产单位是要考虑的问题。总之,采用专用芯片设计的显示单元的性能得到极大的提高。但系统的成本也要提高,在应用中要给予重视。 通过以上几种方案的比较,结合本LED显示系统的要求:亮度高、模块化、可靠性高、级联方便、维护简单等特点,我们取用第一种驱动方案,即串行控制驱动方式。 1.3 LED灰度值的控制 LED灰度的控制:主要有两个途径:一是用电流控制的方法;二是用占空比的方法。用电流控制LED灰度的方式利用了LED本身的特征,因为在LED特征曲线的线性区内,光的输出基本正比于电流,可以用它来获得灰度级。由于这种方式所需要的硬件成本比较高,另外,这种类似D/A转换的控制极易受到屏体的地线干扰,产生随机噪声,所以常采用第二种方法。占空比的方法是把一帧画面作为若干 6 大学本科毕业论文 子帧处理。采用在系统可编程(In-System Programmability缩写为ISP)技术,可以很方便地通过软件编程实现。故本系统采用第二种方案。即用占空比实现LED灰度的控制。 7 大学本科毕业论文 2 设计方案 为了设计并开发出高性能、高可靠性、可行实用的显示系统,采用以下的设计思想: 在系统总体设计中将贯彻实用性原则、先进性与可行性相结合、功能性与经济性相结合的原则,尽量采用成熟的技术和已有的科研积累,在关键难点问题上尝试采用相关学科的最新成果,使系统既具有稳定可靠的运行性能又有一定的技术含量和创新价值; 在硬件上采用了完全模块化设计思想,选用通用IC芯片,所有电气连线采用接插方式,以保证系统安装方便、运行可靠、维护简单; LED显示屏的控制用8位微处理器STC89C58RD+做控制器,完成字模数据的接收和LED显示屏的动态扫描显示。汉字和图形的字模由PC机提取后传输至控制机。稳态显示时间、动态显示方式、现实颜色既可在脱机板设置,也可通过PC机控制。PC与控制机采用成熟的RS232接口标准; 在软件编制上,采用结构化设计思想,使用汇编言语编写程序,能做到代码短、运行速度快。 2.1 系统整体结构及原理图 此设计为16×16彩色LED点阵驱动模块,该模块可用来构建大型LED显示屏,结构框图如图2.1所示。 ... LED电视屏1 LED电视屏2 LED电视屏n ... 8031单片机 8031单片机 8031单片机 计算机 RS232串口 RS232/RS485转换器 RS485总线 图2.1 LED显示屏集散系统框图 8 大学本科毕业论文 此处简要给出LED点阵驱动模块的系统结构图(图2.2)及LED点阵驱动模块的系统原理图(图2.3),关于个部分的实现方式,可参考下节说明。 PC 行扫描 LED RS232通信 点阵 STC89C58 红列信号 显示屏 INPUT 绿列信号 OUTPUT 数据存储器 图2.2 LED显示模块系统框图 整个显示系统,由微机和LED点阵显示模块组成,LED显示模块主控部分原理图(图2.3),微机通过串行口传送显示内容。点阵显示屏接收微机传送的数据,并控制LED点阵显示屏的显示。由于片内STC89C58RD+只有29K的EEPROM,无法存贮大量的汉字点阵字模。因此,本系统采用由微机传送汉字或字符的点阵字模的方式来控制显示屏的显示内容。微机传送的点阵字模经过计算机的处理后传输给单片机,单片机接收到后再保存到数据存贮器中。数据接收正确并处理存入数据存贮器后,即控制显示屏的显示。显示方式采用逐行扫描方式,单片机首先从数据存贮器中取出第一行点阵数据,通过数据口(P1.3)、时钟口(P1.6)模拟串行输出方式(送数据的顺序是,先送该行数据的第一个,依次至最后一个),写入LED显示屏的列锁存器CD4094,每行16位数据传输结束后,触发CD4094,控制LED显示屏,同时定时器0、1开始记时,精确控制红绿列信号占空比。通过设置定时器初值,理论上可以实现灰度值的连续可调,本系统采用了16级灰度值调节(按键调节、数码管显示灰度级),且通过调整定时器的初值,实现了γ校正。在输出列信号的同时移位行扫描信号,列信号刷新(16Bit)一次,行扫描信号移位一次。 2.2 系统各部实现过程 1.计算机通讯 LED 显示屏网络的技术实现是采用RS485 差分总线形式的工业控制通信网络,由位于总控制指令中心的上微机和位于各LED 控制器上的单片机组成。我们 9 大学本科毕业论文 采用 RS485 差分总线构造了LED 显示屏系统的主从式通信结构,通常计算机上 均带有标准的RS232 串行通信端口,但鉴于它在传输速度、传输距离及联网能力等 VCC Da0Da1Da2Da1'Da1'Da2'Da15'Da15 ............Db0Db1Db2Db0'Db1'Db2'Db15'Db15 ............Dc0Dc1Dc2Dc15Dc0'Dc1'Dc2'Dc15'............ ............Dp0Dp1Dp2Dp15Dp0'Dp1'Dp2'Dp15'............ R0R1R2R15R16R17R18R31............L[0..15] R[0..15]G[0..15] G[0..15]R[0..15] 10101010QSQSQSQSQSQSQSQS999911111111Q8Q8Q8Q8U9U8U7U612121212Q7Q7Q7Q7409440944094409413131313Q6Q6Q6Q614141414Q5Q5Q5Q515151515OEQ4OEQ4OEQ4OEQ47777CLKCLKCLKCLKQ3Q3Q3Q336363636Q2Q2Q2Q225252525STRSTRSTRSTRDDDDQ1Q1Q1Q114141414 L_DATAL_R_DATASTRSTRL_CLKL_CLKG_ZKBR_ZKB decgP2.3fL[0..15]gfbe71010QSQSdDPY6VccVccaQSQScP2.2599b41111dpaQ8Q8R34R35U5U431212Q7Q710K10K40944094210dp1313QSQ6Q6R32R33P2.1811414QSQ5Q51K1K91515OEQ4OEQ47711CLKCLKQ8U3Q3Q3P2.0363612Q74094Q2Q2132525STRSTRQ6DDQ1Q1141414Q515OEQ47CLKGLEDRLEDQ336Q225STRDQ114R_DATASTRR_CLKVCCT_CLKT_DATA VCCVCCU1R_CLKC3139R_DATAP10/TP00+238STRP11/TP01L_DATA337P12P021G_ZKB436P13P036R_ZKB535+C1+VccP14P042634L_CLKINTV+GNDP15P05C17733C1-T1outP16P06P2.03832C2+R1inP17P07P2.1C28+C2-R1outP2.241321V-T1inINT1P20RDP2.391222T2outT2inINT0P21WR523R2inR2outP22T_CLK15STC89C58RD+24C4T1P23++RS2321425C1T0P242630pfP25CRY123127EA/VPP26+28C2P271930pfX118A0X2911 RESETTXD10RXD1730RDALE/P1629WRPSEN图2.3 LED显示模块原理图 10 大学本科毕业论文 方面的局限性,可通过RS232/ 485 转换器实现计算机与单片机之间的通信。计算机PC的串行口使用的是RS232C,必须对PC串行口的RS232C电平转换,这种转换由市售的隔离型RS232/ 485 转换器实现RS232 信号令标准至RS485 信号令标准的转换。采用转换后,即可在多终端上分别搭构成简易的RS485 通信网络。由于转换硬件中采用了自动识别数据流向的技术,可以自动切换数据传输方向 ,因此无须通信握手信号,这就使得通信总线仅由两条联线(即一根屏蔽双绞线)组成,从而简化了通信布线,节省了成本;降低了通信线路的故障率,提高了通信系统的可靠性。 2.数据存贮 本LED显示系统的一个特点是,不带字库。要显示的内容直接从PC机上下载点阵数据。STC89C58RD+自带数据存贮器,用于存点阵数据。STC89C58RD+自带的数据存贮器分58个扇区,每扇区512Bit。可执行的操作为,字节读、字节编程(写字节)、扇区擦除。保留8个扇区用来存储用户设置信息(重起后无需重复设置)和功能扩展。一个汉字(16*16)的点阵数据为32个字节,则最多可以存800个汉字或图形的字模 3.LED屏结构及驱动 双色LED为共阳极连接,可做为LED屏的行扫描输入端。由于行的组成是几个模块并联形成的,因此驱动的功率要求是比较大的。行的驱动一般是采用PNP(用于共阳方式)功率三极管。达林顿管采用复合连接方式,将两只或更多只晶体管的集电极连在一起,而将第一只晶体管的发射极直接耦合到第二只晶体管的基极,依次级连而成,最后引出E、B、C三个电极。图2.4是由两只NPN或PNP型晶体管构成的达林顿管的基本电路。设每只晶体管的电流放大系数分别为、,则hhFE1FE2总放大系数为: h,h,hFEFE1FE2 E C B B E C 图2.4 达林顿管基本结构 11 大学本科毕业论文 因此,达林顿管具有很高的放大系数,h值可达到几千倍,甚至几十万倍。FE 不过,这类高放大倍数的管子只能在功率为2W以下才能正常使用,当功率增大时,管子的压降造成温度上升,前级晶体管的漏电流会被逐级放大,导致整体热稳定性差,所以,大功率大林顿管内部都设有均衡电阻,这样,除了大大提高热稳定性外,还能有效地提高末级功率管的V耐压。由于达林顿管具有增益高、开关速度快、ce 能简化设计电路等优点,颇受人们的欢迎。 LED屏的红绿LED阴极分别连接,可以分别控制,控制阴极可以方便的调节LED整屏的颜色。由于采用扫描显示的方式,每列每时刻最多只有一个LED别点亮,姑电流不大,使用普通的三极管既可控制。本系统使用正逻辑(1代表亮、0代表不亮),选用NPN三极管。 4.行扫描信号 单片机串行输出,使用两片CD4094级连,扩展16位的行控制端。单片机的P1.0做行移位时钟(R_CLK),P1.1做行信号输出(R_DATA),P1.2做两片CD4094触发控制。CD4094的Q输出端可以方便的向下级输出。详见图2.3 LED显示模S 块原理图。行扫描信号的逻辑输出由单片机编程实现(详见程序框图)。 5.列数据信号 红绿双色列数据采用与行信号相同的方式,即单片机串行输出,使用两片CD4094级连,扩展16位的列信号输出端。单片机的P1.6做列数据移位时钟(L_CLK),P1.3做列信号输出(L_DATA),P1.2做CD4094触发控制(与行扫描公用,同步触发)。与行扫描信号相同,CD4094的Q输出端可以方便的向下级输S 出。P1.4、P1.5分别与控制红绿信号的CD4094的输出使能端连接,通过调节定时时间输出不同占空比的灰度控制信号。通过设置定时器初值,理论上可以实现灰度值的连续可调,本系统采用了16级灰度值调节(按键调节、数码管显示灰度级),且通过调整定时器的初值,实现了γ校正。红绿列信号共用数据时钟端,各模块的颜色整体调节。若要使各模块内的颜色分别可调,需要对各列信号单独控制,CD4094输出使能共用,无法满足要求。若是通过软件实现,需增加大量程序代码,极大的影响单片机运行速度。 6.输入输出(人机对话)部分 输入部分使用常用的按键,为调节各种可设置(刷新方式、显示颜色)信息,本系统接有两个按键。理论上两个按键即可实现所有功能。建议使用更多按键,减少按键的复用,方便用户的使用。输出显示部分使用了一个数码管和一红一绿LED。 12 大学本科毕业论文 红绿LED用于指示当前调节灰度值的颜色,数码管显示相应颜色的灰度值等级。调节LED显示屏的稳态显示时间、动态显示(刷新方式)的速度时,效果时时反映在LED显示屏,可通过LED显示屏看出效果。 13 大学本科毕业论文 3 元器件介绍 在本系统中用到的主要元器件的主要功能本章给出说明。普通元件,如二极管、数码管等不做介绍。主要元器件未用到的功能也不做介绍,如STC89C58RD+单片机的ISP编程原理。 3.1 STC89C58RD+单片机简介 STC89C58RD+系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,l2时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX8l0专用复位电路。 1.特点如下: (1)增强型6时钟/机器周期,12时钟/机器周期8051 CPU。 (2)工作电压:5. 5V——3. 4V(5V单片机)/3. 8V——2. 0V (3V单片机)。 (3)工作频率范围:0——40 MHz,相当于普通8051的0——80MHz实际工作频率可达48hMHz。 (4)用户应用程序空间32K字节。 (5)片上集成5l2字节RAM。 (6)通用I/O口32个,复位后为:Pl/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。。 (7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器。可通过串口(P3. 0/P3. l )直接下载用户程序,8K程序3秒即可完成一片。 (8)EEPROM功能。 (9)看门狗。 (10)内部集成hMAX8l0专用复位电路,外部晶体20M以下时,可省外部复位电路。 (11)共3个l6位定时器/计数器,其中定时器0还叫以当成2个8位定时器使用。 (12)外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒。 (13)通用异步串行口 (UART),还可用定时器软件实现多个UART。 2.本系统中用到的功能详解如下: 14 大学本科毕业论文 (1)软复位:用户应用程序在运行过程当中,有时会有特殊需求,需要实现单片机系统软复位(热启动之),传统的8051单片机由于硬件上未支持此功能,用户必须用软件模拟实现,实现起来较麻烦。现STC新推出的增强刑8051根据客户要求增加了ISP_ CONTR特殊功能寄存器,实现了此功能。用户只需简单的控制ISP CONTR特殊功能寄存器的其中两位SWISS/SWRST就可以系统复位了。 ISP CONTR:ISP/IAP控制寄存器,地址在OE7H单元 表3-l 特殊功能寄存器T2CON的描述 B7 B6 B5 B4 B3 B2 B1 B0 Reset Value ISPEN SWBS SWRET - - WT2 WT1 WT0 000x,x000 ISPEN: ISP/IAP功能允许位。0:禁止ISP/IAP编程改变Flash,1:允许编程改变Flash。 SWBS: 软件选择从用户应用程序区启动(0),还是从ISP程序区启动(1)要与SWRST直接配合才可以实现。 SWRST: 0:不操作;1:产生软件系统复位,硬件自动清零。 (2)定时器2做波特率发生器:由于定时器0、1分别做红绿LED占空比的控制,需要有定时器2做串行传输的波特率发生器。 定时器2是个l6位定时/计数器。通过设置特殊功能寄存器T2CON中的C/T2位,可将其作为定时器或计数器(特殊功能寄存器T2CON的描述如表3-2所列)。定时器2有3种操作模式:捕获、自动重新装载(递增或递减计数)和波特率发生器,这3种模式山T2CON中的位进行选择(如表3-2所列)。 表3-2 特殊功能寄存器T2CON的描述 EXF2 RCLX TCLK EXEN2 TR2 C/T2 CP/RL2 寄存器T2CON的位TCLK和(或)RCLK允许从定时器l或定时器2获得串行口发送和接收的波特率。当TCLK=0时,定时器l作为串行口发送波特率发生器;当TCLK=l时,定时器2作为串行口发送波特率发生器。RCLK对串行口接收波特率有同样的作用。 定时器可配置成“定时”或“计数”方式,在许多应用上,定时器被设置在“定时”方式(C/T2=0)o当定时器2作为定时器时,它的操作不同于波特率发生器。通常定时器2作为定时器,它会在每个机器周期递增(1/6或1/12振荡频率)。当定时器2作为波特率发生器时,它在6时钟模式下,以振荡器频率递增(12时钟模式时为1/12振荡频率)。 15 大学本科毕业论文 这时的波特率公式如下: 振荡荡器频模式l和模式3的波特率, n, [65536-(RCAP2H, RCAP2L)] 自动重装数:RELOAD=INT(Fosc/Baud/32+0.5),INT表示取整运算(舍去小数),计算实际的波特率:Baud=Fosc/RELOAD/32,如果误差>3.5要更改波特率。 例:Fosc= 22.1184MHz,Baud=115200 RELOAD=INT(22118400/115200/32+0.5) =INT(6.5) =6 =0006H 10000H-0006H=FFFAH MOV RCAP2H,#0FFH MOV RCAP2L,#0F5H (3)EEPROM:STC89C58RD+单片机内部的高速Data Flash(EEPROM)作为数据存储器,用于存储PC机传送来的字符字模。实现掉电数据不丢失。同时保存用户设置信息,避免每次上电后重复设置。 ISP_DATA:ISP/IAP操作时的数据寄存器。ISP/IAP从Flash读出的数据放在此处,向Flash写的数据也需放在此处。 ISP_ADDRH:ISP/IAP操作时的地址寄存器高八位。 ISP_ADDRL:ISP/IAP操作时的地址寄存器低八位。 ISP CMD: ISP/IAP操作时的命令模式寄存器,须命令触发寄存器触发方可生效。 ISP TRIG: ISP/IAP操作时的命令触发寄存器。 ISP_CONTR:ISP/IAP控制寄存器。 3.2 CD4094简介 CD4094为8位移位寄存器, 有锁存、三态输出功能。其内部结构如图3.1所示。 由于采用了二级缓存结构,前级移位不影响后级输出,能有效避免LED显示屏的闪烁现象。当数据移位结束后,使能STR信号,把数据送至输出端。使用其 16 大学本科毕业论文 三态输出结构,在调节红绿灰度占空比时可以大大减少编程工作量。利用Qs 、Q’s可以很容易的进行多级扩展。 图3.1 CD4094结构图 关于CD4094功能的详细介绍参考附录译文部分。 17 大学本科毕业论文 4 程序说明 4.1 程序流程图及简要说明 B 重设SP 压栈DPTR 开中断 D7=10 设置优先级 读字型码 初始化串口和定时器0、1、2 按刷新方式和显示运算标志写RAM 位把字型码变换为显示数据 关红绿LED、数码管和LED屏 高位数据送A 读EEPROM 低位数据送B 逐点扫描Led屏 调用显示子程序 A DPTR赋初值 DPTR=DPTR+1 C R7-1=0, 查询刷新方式 出栈DPTR R3=3AH R6-1=0, 显示运算标志位赋初值 B R3-1=0, R6=3BH 字符结束, 修改显示运算标志位 A C B 图4.1 主函数程序流程 入口:A显示数据高位,B显示数据低位。 18 大学本科毕业论文 行时钟 R5=8 RLC A 一位列信号输出 列时钟 N R5-1=0, 时 Y器 A=B 0时 中器 R5=8 断0 子中 RLC A 程断 序 子 一位列信号输出 程 序 列时钟 Y关红占空比 N时R5-1=0, 时器定时器0停止 器0定时器赋0中初值 中RETI 断断4094使能数出并触发 子子程定时器0中断子程序 程启动定时 序 序 关绿占空比 LCALL KEY并延时 定时器1停止 RET RETI 定时器1中断子程序 图4.2 显示子程序流程图 19 大学本科毕业论文 开始 N P2.6=0, 时 器 Y0N时中P2.7=0, 延时10ms 时器断器N0子Y0延时10ms 中程时RET P2.6=0, 中时断序 器N断器子0子时0P2.7=0, N程中P2.6=1 程器中时序 断Y序 0断器子N中时子P2.7=1 延时10ms 0程断器程时中序 器子0序 N断延时10ms 0程中P2.6=1, 子时断中序 程器N断子Y序 0P2.7=1, N子程时中时P2.2=0, 程序 器时断器Y序 0器N0子Y时中0P2.2=0 P2.2=0, N程时中器断中时P2.3=0, 器断序 时0子断器Y0子器P2.3=1 NY中程子0时中程0P2.3=0, 时断序 程时中33H=33H+1 P2.2=1 器断序 中器子序 器断36H=36H+1 Y0子断0程0子P2.3=0 中程子时移位2EH 更新31H,32H 中序 中程更新34H,35H 断序 程器断断序 子序 0子子程中程程RET 序 断序 序 子 图4.3 按键子程序流程图 程 序 以上给出了本系统中主要部分的流程图,包括主函数和中断、按键、显示子程序。下面简要说明编写中遇到的问题及解决方法。 主函数中的难点部分为刷新方式的调节,程序中最终使用了,R3、R6、R7三个寄存器作为循环控制变量,实现了三重循环。编程的最初阶段只用了两重循环,内层循环16次,即对整屏16行数据显示。为的到稳定图像,再加一层循环,是该屏重 20 大学本科毕业论文 复显示一段时间。此种方式虽可把字型码送至LED屏显示出来,但字型变换时没有动态效果。LED屏仅可显示数据存储器中保存的字型码。若要添加动态效果,需把动态过程中的每屏数据存入数据存储区。以右移方式为例,数据存储区数据要增加15倍。显然,在实际应用中会受到限制。并且,要实现不同刷新方式的调节,对存储器的要求极高,在脱机控制器中很难实现。 后来改变方式,寻找规律。刷新是的动态数据,虽不同于字型码,但都和字型有关,通过对字型码的运算即可得到显示数据。但每屏的运算规则各有不同,故增加了一层循环和一个运算标志位。把每字显示过程分为多个画面,包括稳态画面和动态画面,以多桢重复显示的方式输出。并且,通过调节每画面的桢数可以实现,字型的刷新速度和稳态显示的时间。本程序中R6调节刷新速度,R3调节稳态显示时间。但由于R6在R3循环体内,刷新速度对稳态显示时间有影响,应先调节刷新速度,在确定稳态显示时间。 显示子程序中需要注意三点。1:确保行信号只有一次有效。可以设置为第一次有效,一个行周期后清除即可。2:入口参数的传递。51系列单片机,仅支持寄存器A的移位。在移位输出显示时,必须把显示数据送入A寄存器。若想简单的通过压栈、出栈进行数据传输是不可能实现的。因为在调用子程序时会对栈数据产生影响。3:在定时器中断程序中要停止计时器工作。 串口中断子程序,若要使PC机能做更多的事情,就要求设置更多的标志位。所以,应特别注意的是,各标志位,何时置位,何时清楚。若标志位设置错误,轻者不能进行数据传输,重者使单片机内数据受到破坏。另外,应注意的是PC与单片机的数据格式、协议应一致。 本程序中,PC机查询发送,数据传输格式简述如下: 握手:PC发送”?”(ASC码值3FH),接受到”.” (ASC码值2EH)表示握手成功,接受到”$” (ASC码值24H)表示握手不成功,应继续发送”?”。 参数修改:发送两字节数据。第一字节表示修改类型(详见表4-1),第二字节表示修改值。当修改颜色灰度值时,第二字节数据应为0—15。 表4-1 PC设置参数类型标志 10000001 10000010 10000100 10001000 红色灰度级 绿色灰度级 刷新速度 稳态显示时间 更新字型码:更新数据存储区字型码时,应先发送数据字节数(32×字符数),其次发送数据(字型码),最后发送校验和(注意:本位不记入字节数)。接受到”0” (ASC码值4FH)表示单片机接受数据正确,接受到”F” (ASC码值46H)表示接受数据错 21 大学本科毕业论文 误,应重新发送数据。 按键程序比较常见,不多做说明。本程序中按键较少,复用调节参数,应把标志位与功能联系起来,不要发生紊乱。程序分支较多,返回时,应注意恢复现场。 22 大学本科毕业论文 5 结束语 在LED 点阵汉字显示屏的设计过程中,学到了很多东西,基本了解了整个嵌入式开发的流程。例如,在进行整个设计之前,应该先根据需求分析,对单片机进行选型,然后对各个硬件模块进行搭试。在画PCB 电路板的时候,要注意基本的布板原则。在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。在软件编程时,标志位的设置与功能一定要恰当分配,一定要严格按照流程图的要求书写程序。当然,在设计的过程中也存在着失误和不足。例如,在设计原理图时,行扫描和列数据公用了移位信号。在进行PCB布板的时候,滤波电容不够靠近芯片的电源脚和地脚。 本设计成功之处包括很好的实现了LED双基色灰度值的控制,且进行了γ校正。完善的通信控制,PC机既能向单片机传输数据,又可对LED显示屏各项参数进行设置。LED显示系统独立性强,在接受数据后,能自主控制LED屏的显示,包括各项参数的调节。完全脱离PC机独立工作,增加LED现实屏使用的灵活性,扩展了LED显示屏的使用场合,减小了使用成本。随着蓝色LED的普及,三基色(真彩色)LED将会得到更大的发展,将成为LED屏行业的主要发展方向。若想时脱机式LED屏功能更强,应选择基于可编程逻辑器件的设计方案,把扫描电路与现实数据变换用硬件实现,用单片机实现其它功能。这样也降低了单片机对工作速度的要求。 23 大学本科毕业论文 参考文献 [1] 韩润萍 陈小萍. 点阵LED显示屏控制系统. [2] 中华人民共和国电子行业标准.LED显示屏测试方法. [3] ledscreen.发表于 2006-4-16. LED电子显示屏发展状况及趋势. [4] 赵才荣,刘金娥,丁铁夫等. AM29F016D 在 LED 显示控制系统中应用,J,. 《微计算机信息》(嵌入式与 SOC ).2005-10-02:115,117. [5] 崔 琳,张进明. 模块化LED大屏幕显示器的设计,J,电子技术应用.2001-03:54,55. [6] 任来双,熊 彬. 车载LED大屏幕显示屏的设计理念,J,.郑州高等专科学校学报2004,20(3):3,4. [7] 徐鸿平,辜翔. 高清晰度LED大屏幕显示灰度控制的研究和实现,J,. 上海海运学院学报.1996,17:91,97. [8] 李超,宋明,盛 毅等. 彩色电视亮度方程的计算方法及其在 D3E 显示屏中的应用,J,. 现代显示 Advanced Display.2004,3:55,58. [9] 刘睿,王晓东. 基于TLC5941的全彩色LED大屏幕驱动设计,J,. 现代电子技术.2006,15:160,164. [10] 陈玉华,陈新,高军. 一种实用的LED大屏幕显示电路的设计,J,. 自动化与仪器仪表.2002,1:34,55. [11] 刘海波,顾国昌,张国印. 分布式LED大屏幕系统显示脚本模型,J,. 应用科技.2004,6:38,40 [12] 任轶凝,王长林. γ校正与彩色LED大屏幕,J,. 电子技术.1995,7:7,9. [13] 一卫红,赵建洋,王永强. LED大屏幕设计中的几个难点和解决方法,J,. 淮阴工业专科学校学报.2000,9:83,85. [14] 陈建军. LED大屏幕显示系统的对比度与亮度调节技术,J,. 光电子技术.1997,17:121,124. [15] 张伟民,董萌,居悌. LED大屏幕显示系统的一种实现方法,J,. 计算机与现代化.2000,2:39,42 [16] 郝国法,杨 姣. !"# 大屏幕控制电路设计方案研究,J,. 电子技术.2005,11:94,96 [17] 周立功,夏宇闻 单片机与CPLD综合应用技术 北京航空航天大学出版社 2004 [18] 何立民编著. MCS-51系列单片机应用系统设计(系统配置与接口技术).北京航空航天大学出版社,2001.2 [19] Raj. Kamal.Embedded systems,M, 2005 [20] D.R.Hall: Microprocessors and Digital systems 1980 [21] Robert J.Bibber sons et al:Mircroprocessor in Instrumengts and control 1977 24 大学本科毕业论文 附录:程序清单 ISP_DATA EQU 0E2H 80H ;>20MHz ISP_ADDRH EQU 0E3H ;T2CON EQU 0C8H ISP_ADDRL EQU 0E4H ;TR2 EQU T2CON.2 ISP_CMD EQU 0E5H ;RCAP2L EQU 0CAH ISP_TRIG EQU 0E6H ;RCAP2H EQU 0CBH ISP_CONTR EQU 0E7H ;TL2 EQU 0CC ;ENABLE_ISP EQU ;TH2 EQU 0CDH 83H ;<5MHz ;RELOAD_COUNT_HIGH EQU 0FFH ;ENABLE_ISP EQU ;RELOAD_COUNT_LOW EQU 0DH 82H ;<10MHz ;Baud=115200 ENABLE_ISP EQU ;RELOAD_COUNT_HIGH EQU 0FFH 81H ;<20MHz ;RELOAD_COUNT_LOW EQU ;ENABLE_ISP EQU 0DCH ;Baud=9600 25 大学本科毕业论文 ;RELOAD_COUNT_HIGH EQU 0FEH MOV 32H,#0A9H ;红占空比 ;RELOAD_COUNT_LOW EQU MOV 33H,#0FH ;红灰度值 0E0H ;Baud=1200 SETB 10H ;红不亮标志位 RELOAD_COUNT_HIGH EQU 0FBH MOV 34H,#0FFH RELOAD_COUNT_LOW EQU MOV 35H,#0FFH ;绿占空比 080H ;Baud=300 MOV 36H,#00H ;绿灰度值 AUXR1 EQU 0A2H CLR 11H ;绿不亮标志位 ;ISP_CONTR EQU 0E7H MOV 37H,#0E1H ;按键时长(进入串口) ORG 0000H 初值 AJMP MAIN MOV 38H,#80H ;EEPROM尾地址高位 ORG 000BH ;T0 MOV 39H,#3FH ;EEPROM尾地址低位 CLR P1.4 MOV 3AH,#18H ;R3控制稳定显示时间 CLR TR0 MOV 3BH,#03H ;R6控制刷新速度 RETI MOV 3CH,#15H ;=R3-3,百叶窗比较位 ORG 001BH ;T1 CLR P1.2 ;关STR CLR P1.5 CLR P2.2 ;关红发光二极管 CLR TR1 CLR P2.3 ;关绿发光二极管 RETI LCALL SXSG ORG 0023H SETB P1.1 LJMP RECE MOV R7,#10H ORG 0050H ZB1: CLR P1.0 SETB P1.0 MAIN: MOV SP,#60H ;重设堆栈指针 MOV IE,#9AH ;开两定时器串口中 DJNZ R7,ZB1 ;关行扫描信号 断 CLR P1.3 ;(可不要?????) MOV IP,#10H MOV R7,#10H ZB2: CLR P1.6 MOV SCON,#50H ;串口初始化 SETB P1.6 MOV TMOD,#11H ;设定定时器工作 方式 DJNZ R7,ZB2 ;关列扫描信号 MOV TH2,#RELOAD_COUNT_HIGH SETB P1.2 ;触发 MOV CLR P1.2 RCAP2H,#RELOAD_COUNT_HIGH ;以上灭满屏,可合为一个循环 MOV TL2,#RELOAD_COUNT_LOW MOV DPTR,#0EA00H MOV LCALL Byte_Read RCAP2L,#RELOAD_COUNT_LOW MOV 38H,A MOV T2CON,#34H INC DPTR LCALL Byte_Read MOV R5,#00H ;校验和 MOV 39H,A MOV 2EH,#01H ;刷新方式标志位 MOV DPTR,#0F300H MOV 31H,#0FCH ;高位 23 大学本科毕业论文 LCALL Byte_Read LCALL D_10ms MOV 36H,A DJNZ R6,S3 INC DPTR DJNZ R7,S1 LCALL Byte_Read ;打字显示 MOV 34H,A ZXS06:MOV DPTR,#8020H INC DPTR ZXS46:JB 70H,PSX6 LCALL Byte_Read LJMP ZXS42 MOV 35H,A PSX6: MOV R3,3AH MOV DPTR,#0F000H ZXS36:MOV R6,3BH LCALL Byte_Read ZXS16:PUSH DPH MOV 33H,A PUSH DPL INC DPTR CLR P1.1 LCALL Byte_Read MOV R7,#10H MOV 31H,A ZXS56:LCALL Byte_Read INC DPTR PUSH ACC LCALL Byte_Read INC DPTR MOV 32H,A LCALL Byte_Read SETB 10H MOV B,A SETB 11H POP ACC MOV A,33H INC DPTR JNZ ZB3 LCALL XS1 CLR 10H DJNZ R7,ZXS56 ZB3: MOV A,36H MOV R4,DPL JNZ s MOV R5,DPH CLR 11H POP DPL POP DPH ;读EEPROM DJNZ R6,ZXS16 S: CLR P1.1 ;逐点扫描 MOV R7,#10H DJNZ R3,ZXS36 S1: CLR P1.0 MOV DPH,R5 SETB P1.0 MOV DPL,R4 SETB P1.1 MOV A,R5 S2: SETB P1.3 CJNE A,38H,ZXS46 MOV R6,#10H MOV A,R4 S3: CLR P1.6 DEC A SETB P1.6 CJNE A,39H,ZXS46 CLR P1.3 LJMP ZXS06 SETB P1.2 ;开STR ;开闭幕 CLR P1.2 ZXS02:MOV DPTR,#8020H 24 大学本科毕业论文 ZXS42:JB 71H,PSX5 CLR C PUSH DPH RLC A PUSH DPL MOV R2,A CLR C ZXS12:PUSH DPH MOV A,DPL PUSH DPL SUBB A,#20H CLR P1.1 MOV DPL,A MOV R7,#10H JNC PSX51 ZXS52:LCALL Byte_Read DEC DPH ANL A,R1 PSX51:MOV R7,DPH PUSH ACC MOV R6,DPL INC DPTR INC AUXR1 LCALL Byte_Read MOV DPH,R7 ANL A,R2 MOV DPL,R6 MOV B,A DEC AUXR1 POP ACC POP DPL INC DPTR POP DPH LCALL XS1 LJMP ZXS55 DJNZ R7,ZXS52 PSX5: MOV R3,3AH MOV R4,DPL MOV R2,#00H MOV R5,DPH MOV R1,#00H POP DPL ZXS32:MOV R6,3BH POP DPH CJNE R3,#09H,ZXS22 DJNZ R6,ZXS12 ZXS62:MOV A,R1 DJNZ R3,ZXS32 SETB C MOV DPH,R5 RLC A MOV DPL,R4 MOV R1,A MOV A,R5 MOV A,R2 CJNE A,38H,ZXS42 SETB C MOV A,R4 RRC A DEC A MOV R2,A CJNE A,39H,ZXS42 LJMP ZXS12 LJMP ZXS02 ZXS22:JNC ZXS62 ;右移 MOV A,R1 ZXS05:MOV DPTR,#8020H ;DPTR0 CLR C INC AUXR1 RRC A MOV DPTR,#8000H ;DPTR1 MOV R1,A DEC AUXR1 MOV A,R2 ZXS55:JB 72H,PSX4 25 大学本科毕业论文 LJMP ZXS41 MOV A,R5 PSX4: MOV R2,#00H RRC A MOV R3,3AH MOV R5,A ZXS35:MOV R6,3BH DJNZ R2,ZXS45 INC R2 POP 02H CJNE R2,#11H,ZXS15 ZXS75:MOV B,R5 DEC R2 MOV A,R1 ZXS15:PUSH DPH LCALL XS1 PUSH DPL MOV R5,DPH INC AUXR1 MOV R4,DPL PUSH DPH DEC AUXR1 PUSH DPL DJNZ R7,ZXS25 DEC AUXR1 MOV R0,DPL CLR P1.1 MOV R7,DPH MOV R7,#10H INC AUXR1 ZXS25:LCALL Byte_Read POP DPL MOV R0,A POP DPH INC DPTR DEC AUXR1 LCALL Byte_Read POP DPL MOV R4,A POP DPH INC DPTR DJNZ R6,ZXS15 INC AUXR1 DJNZ R3,ZXS35 LCALL Byte_Read MOV DPH,R7 MOV R1,A MOV DPL,R0 INC DPTR INC AUXR1 LCALL Byte_Read MOV DPH,R5 MOV R5,A MOV DPL,R4 INC DPTR DEC AUXR1 PUSH 02H MOV A,R7 ZXS45:MOV A,R0 CJNE A,38H,ZXS65 ;DPTR1 RRC A MOV A,R0 MOV R0,A DEC A MOV A,R4 CJNE A,39H,ZXS65 RRC A LJMP ZXS05 MOV R4,A ZXS65:LJMP ZXS55 MOV A,R1 ;百叶窗 RRC A ZXS01:MOV DPTR,#8020H MOV R1,A ZXS41:JB 73H,PSX3 26 大学本科毕业论文 LJMP ZXS40 DJNZ R3,ZXS31 PSX3: MOV R3,3AH MOV DPH,R5 MOV R2,#00H MOV DPL,R4 ZXS31:MOV R6,3BH MOV A,R5 INC R2 CJNE A,38H,ZXS41 ZXS11:PUSH DPH MOV A,R4 PUSH DPL DEC A CLR P1.1 CJNE A,39H,ZXS41 MOV R7,#10H LJMP ZXS01 ZXS51:MOV A,R3 ;下铺 CJNE A,3CH,ZXS71 ZXS00:MOV DPTR,#8020H MOV R1,#0FFH ZXS40:JB 74H,PSX2 LJMP ZXS61 PUSH DPH ZXS71:JC ZXS81 PUSH DPL MOV A,R7 CLR C MOV B,#04H MOV A,DPL DIV AB SUBB A,#20H MOV A,B MOV DPL,A JNZ ZXS21 JNC PSX21 MOV R1,#00H DEC DPH ZXS21:CJNE A,02H,ZXS61 PSX21:MOV R7,DPH ZXS81:MOV R1,#0FFH MOV R6,DPL ZXS61:LCALL Byte_Read INC AUXR1 ANL A,R1 MOV DPH,R7 PUSH ACC MOV DPL,R6 INC DPTR DEC AUXR1 LCALL Byte_Read POP DPL ANL A,R1 POP DPH MOV B,A LJMP ZXS5 POP ACC PSX2: MOV R2,#10H INC DPTR ;MOV R0,#00H ;从下向上显使用 LCALL XS1 MOV R3,3AH DJNZ R7,ZXS51 ZXS30:MOV R6,3BH MOV R4,DPL ;INC R0 MOV R5,DPH ;CJNE R0,#11H,ZXS10 POP DPL ;MOV R0,#10H ;从下向上显使用 POP DPH ZXS10:PUSH DPH DJNZ R6,ZXS11 PUSH DPL 27 大学本科毕业论文 CLR P1.1 ;MOV R1,#00H ;从下向上显/消(配合使 R0 MOV R1,#0FFH ;从上向下显/消(与用) ;MOV R7,#10H 增减) ;ZXS20:MOV A,R0 ;MOV R1,#00H ;从下向上显/消(配合 使用) ;上四行替代相应行为从下往上显 MOV R7,#10H ;翻页 ZXS20:MOV A,R2 ZXS: MOV DPTR,#8020H ;DPTR0 CJNE A,07H,ZXS50 INC AUXR1 XRL 01H,#0FFH MOV DPTR,#8000H ;DPTR1 ZXS50:LCALL Byte_Read DEC AUXR1 ANL A,R1 ZXS5: JB 75H,PSX1 PUSH ACC LJMP ZXS46 INC DPTR PSX1: MOV R1,#00H LCALL Byte_Read MOV R2,#00H ANL A,R1 MOV R3,3AH MOV B,A ZXS4: SETB C POP ACC MOV A,R1 INC DPTR RRC A LCALL XS1 MOV R1,A DJNZ R7,ZXS20 MOV A,R2 MOV R4,DPL RRC A MOV R5,DPH MOV R2,A POP DPL ZXS3: MOV R6,3BH POP DPH ZXS1: PUSH DPH DJNZ R6,ZXS10 PUSH DPL CJNE R2,#01H,ZXS60 INC AUXR1 DJNZ R3,ZXS30 PUSH DPH ZXS60:DJNZ R2,ZXS30 PUSH DPL MOV DPH,R5 DEC AUXR1 MOV DPL,R4 CLR P1.1 MOV A,R5 MOV R7,#10H CJNE A,38H,ZXS40 ZXS2: LCALL Byte_Read MOV A,R4 PUSH 01H DEC A ANL A,R1 CJNE A,39H,ZXS40 MOV B,A LJMP ZXS00 INC DPTR INC AUXR1 ;MOV R1,#00H ;从上向下显/消(与R0增 LCALL Byte_Read 减) 28 大学本科毕业论文 XRL 01H,#0FFH INC AUXR1 ANL A,R1 MOV DPH,R5 POP 01H MOV DPL,R4 ADD A,B DEC AUXR1 INC DPTR MOV A,R7 DEC AUXR1 CJNE A,38H,ZXS6 ;DPTR1 PUSH ACC MOV A,R0 LCALL Byte_Read DEC A PUSH 02H CJNE A,39H,ZXS6 ANL A,R2 LJMP ZXS MOV B,A ZXS6: LJMP ZXS5 INC DPTR INC AUXR1 XS1: CLR P1.0 LCALL Byte_Read SETB P1.0 XRL 02H,#0FFH SETB P1.1 ANL A,R2 MOV R5,#08H POP 02H XS2: RLC A ADD A,B MOV P1.3,C INC DPTR CLR P1.6 MOV B,A SETB P1.6 POP ACC DJNZ R5,XS2 LCALL XS1 MOV A,B MOV R5,DPH MOV R5,#08H MOV R4,DPL XS3: RLC A DEC AUXR1 MOV P1.3,C DJNZ R7,ZXS2 CLR P1.6 MOV R0,DPL SETB P1.6 MOV R7,DPH DJNZ R5,XS3 INC AUXR1 MOV TH0,31H POP DPL MOV TL0,32H POP DPH MOV TH1,34H ;定时器初值 DEC AUXR1 MOV TL1,35H POP DPL JNB 10H,XS5 POP DPH SETB P1.4 ;开RED占空比 DJNZ R6,ZXS1 XS5: JNB 11H,XS6 DJNZ R3,ZXS4 SETB P1.5 ;开GREEN占空比 MOV DPH,R7 XS6: SETB TR1 MOV DPL,R0 SETB TR0 29 大学本科毕业论文 INC A SETB P1.2 ;开STR CLR P1.2 MOV R6,A ;SETB TR0 MOV R2,A SETB 04H ;SETB TR1 ;开始计时 MOV R5,#03FH LJMP EXIT_RECE XS4: LCALL KEY RECE13:LCALL SC DJNZ R5,XS4 LJMP EXIT_RECE JB P1.4,$ RECE11:MOV R7,A JB P1.5,$ MOV R3,A RET JNZ RECE12 ; DEC R6 RECE: CLR ES DEC R2 CLR RI RECE12:SETB 01H SETB RS1 ;LJMP EXIT_RECE CLR RS0 CLR P1.4 PUSH DPH CLR P1.5 PUSH DPL MOV 18H,00H MOV DPH,R1 DD: LCALL D_10ms MOV DPL,R0 DJNZ 18H,DD JB 00H,RECE1 MOV A,R6 MOV A,SBUF INC A CJNE A,#3FH,RECE2 CLR C MOV A,#2EH RRC A MOV SBUF,A MOV R4,A JNB TI,$ MOV DPTR,#8000H CLR TI CLR EA SETB 00H MOV ISP_CONTR, #ENABLE_ISP LJMP EXIT_RECE MOV ISP_CMD, #03H RECE2: MOV A,#24H MOV ISP_ADDRL, DPL MOV SBUF,A Sector_Erase1: JNB TI,$ MOV ISP_ADDRH, DPH CLR TI MOV ISP_TRIG, #46H CPL P2.2 MOV ISP_TRIG, #0B9H LJMP EXIT_RECE NOP RECE1: JB 01H,RECE4 INC DPH MOV A,SBUF INC DPH JB ACC.7,RECE13 DJNZ R4,Sector_Erase1 JB 04H,RECE11 MOV DPTR,#8000H 30 大学本科毕业论文 MOV A,R2 ;擦除扇区个数为R6/2向上取整 LJMP EXIT_RECE MOV R6,A RECE4: JB 02H,RECE5 MOV A,#46H MOV A,SBUF MOV SBUF,A LCALL Byte_Program JNB TI,$ ADD A,R5 CLR TI MOV R5,A CLR 02H INC DPTR LJMP EXIT_RECE DJNZ R7,RECE7 EXIT_RECE: DJNZ R6,RECE7 MOV R1,DPH SETB 02H MOV R0,DPL DEC R2 POP DPL MOV 38H,R2 POP DPH ORL 38H,#80H CPL P2.3 CJNE R3,#00H,CK5 CLR RS1 INC 38H CLR RS0 CK5: DEC R3 SETB ES MOV 39H,R3 RETI MOV DPTR,#0EA00H SC: JNB ACC.0,SC1 ;PC设置参数 LCALL Sector_Erase MOV 33H,R6 MOV A,38H PUSH DPH LCALL Byte_Program PUSH DPL INC DPL MOV DPTR,#TAB2 MOV A,39H MOV A,R6 LCALL Byte_Program PUSH ACC RECE7: LJMP EXIT_RECE MOVC A,@A+DPTR RECE5: MOV A,SBUF MOV 32H,A CJNE A,05H,RECE8 POP ACC MOV A,#4FH INC A MOV SBUF,A MOVC A,@A+DPTR JNB TI,$ MOV 31H,A CLR TI MOV DPH,0F0H SETB 03H LCALL Sector_Erase LJMP EXIT_RECE MOV DPL,#00H RECE8: MOV DPTR,#8000H MOV A,33H MOV R5,#00H LCALL Byte_Program MOV A,R3 INC DPTR MOV R7,A MOV A,31H 31 大学本科毕业论文 LCALL Byte_Program DEC R6 INC DPL DEC R6 MOV A,32H DEC R6 LCALL Byte_Program MOV 3CH,R6 POP DPL CLR 00H POP DPH RET CLR 00H SC3: JB ACC.3,SC4 RET MOV 3BH,R6 SC1: JNB ACC.1,SC2 CLR 00H MOV 36H,R6 RET PUSH DPH SC4: CLR 00H PUSH DPL RET MOV DPTR,#TAB2 KEY: SETB RS0 MOV A,R6 CLR RS1 PUSH ACC JNB P2.6,KEY4 MOVC A,@A+DPTR JNB P2.7,KEY6 MOV 35H,A CLR RS1 POP ACC CLR RS0 INC A RET MOVC A,@A+DPTR KEY6:LCALL D_10ms MOV 34H,A JB P2.7,KEY MOV DPH,0F0H KEY3:JNB P2.7,KEY3 LCALL Sector_Erase LCALL D_10ms MOV DPL,#00H JNB P2.7,KEY3 MOV A,36H LJMP KEY2 LCALL Byte_Program KEY4:LCALL D_10ms INC DPTR JB P2.6,KEY MOV A,34H KEY5:JNB P2.6,KEY5 LCALL Byte_Program LCALL D_10ms INC DPL JNB P2.6,KEY5 MOV A,35H LJMP KEY1 LCALL Byte_Program KEY1:JB P2.3,TZ POP DPL JB P2.2,TZ2 POP DPH TZ1: SETB P2.2 ;T,HONG CLR 00H MOV R0,#33H RET LCALL SXS SC2: JB ACC.2,SC3 LJMP KEY MOV 3AH,R6 TZ2: CLR P2.2 32 大学本科毕业论文 SETB P2.3 ;T,LV MOV R1,A MOV R0,#36H DEC R1 LCALL SXS MOV A,@R0 LJMP KEY RL A TZ: JNB P2.2,TZ3 MOV R2,#02H CLR P2.2 K83: PUSH ACC CLR P2.3 ;TC MOVC A,@A+DPTR MOV R0,#33H MOV @R1,A LCALL SXSG POP ACC LJMP KEY INC A TZ3: CLR P2.2 DEC R1 CLR P2.3 ;TC DJNZ R2,K83 MOV R0,#33H MOV A,R0 LCALL SXSG ADD A,#0BDH LJMP KEY MOV DPH,A KEY2:JB P2.2,KEY7 LCALL Sector_Erase JNB P2.3,KEY9 MOV DPL,#00H LJMP KEY8 MOV A,@R0 KEY7: LCALL SXS LCALL Byte_Program LJMP KEY INC DPTR INC R1 KEY8:PUSH ACC ;一个亮 PUSH DPH MOV A,@R1 PUSH DPL LCALL Byte_Program INC @R0 INC DPL MOV A,@R0 INC R1 ANL A,#0FH MOV A,@R1 MOV @R0,A LCALL Byte_Program LCALL SXS POP DPL SETB 10H POP DPH SETB 11H POP ACC LJMP KEY MOV A,33H JNZ K81 KEY9:JNB 70H,KEY91 CLR 70H CLR 10H ;开RED占空比 K81: MOV A,36H SETB 71H JNZ K82 CLR RS1 CLR RS0 CLR 11H K82: MOV DPTR,#TAB2 RET MOV A,R0 LJMP KEY90 33 大学本科毕业论文 KEY91:JNB 71H,KEY92 LJMP ZXS46 CLR 71H KEY991: JNB 71H,KEY992 SETB 72H RET CLR RS1 LJMP ZXS42 CLR RS0 KEY992: JNB 72H,KEY993 RET KEY9921:CLR C LJMP KEY90 MOV A,DPL KEY92:JNB 72H,KEY93 SUBB A,#20H CLR 72H MOV DPL,A SETB 73H JNC KEY9922 CLR RS1 DEC DPH CLR RS0 KEY9922:MOV R7,DPH RET MOV R6,DPL LJMP KEY90 INC AUXR1 KEY93:JNB 73H,KEY94 MOV DPH,R7 CLR 73H MOV DPL,R6 SETB 74H DEC AUXR1 CLR RS1 RET CLR RS0 LJMP ZXS55 RET KEY993: JNB 73H,KEY994 LJMP KEY90 RET KEY94:JNB 74H,KEY95 LJMP ZXS41 CLR 74H KEY994: JNB 74H,KEY9951 SETB 75H RET CLR RS1 LJMP ZXS40 CLR RS0 KEY995:;JNB 75H,KEY96 RET KEY9951:CLR C LJMP KEY90 MOV A,DPL KEY95:JNB 75H,KEY96 SUBB A,#20H CLR 75H MOV DPL,A SETB 70H JNC KEY9952 CLR RS1 DEC DPH CLR RS0 KEY9952:MOV R7,DPH RET MOV R6,DPL LJMP KEY90 INC AUXR1 KEY96:LJMP KEY MOV DPH,R7 KEY90:JNB 70H,KEY991 MOV DPL,R6 RET DEC AUXR1 34 大学本科毕业论文 RET MOV A,ISP_DATA LJMP ZXS5 SETB EA D_10ms: MOV R4,#13H LCALL IAP_Disable DS1: MOV R3,#0FFH RET DJNZ R3,$ Byte_Program: DJNZ R4,DS1 MOV ISP_CONTR, #ENABLE_ISP RET MOV ISP_CMD, #02H MOV ISP_ADDRH, DPH SXS: PUSH DPH ;数码管显示 PUSH DPL MOV ISP_ADDRL, DPL PUSH ACC MOV ISP_DATA,A MOV A,@R0 CLR EA MOV DPTR,#TAB1 MOV ISP_TRIG, #46H MOVC A,@A+DPTR MOV ISP_TRIG, #0B9H MOV R4,#08H NOP SXS1:RLC A SETB EA MOV P2.5,C LCALL IAP_Disable CLR P2.4 RET SETB P2.4 IAP_Disable: DJNZ R4,SXS1 MOV ISP_CONTR, #0H POP ACC MOV ISP_CMD, #0H POP DPL MOV ISP_TRIG, #0H POP DPH RET RET Sector_Erase: SXSG:SETB P2.5 MOV ISP_CONTR, #ENABLE_ISP MOV R4,#8H MOV ISP_CMD, #03H ZB: CLR P2.4 MOV ISP_ADDRH, DPH SETB P2.4 MOV ISP_ADDRL, DPL CLR EA DJNZ R4,ZB ;关数码管 RET MOV ISP_TRIG, #46H Byte_Read: MOV ISP_TRIG, #0B9H MOV ISP_CONTR, #ENABLE_ISP NOP MOV ISP_CMD, #01H SETB EA MOV ISP_ADDRH, DPH LCALL IAP_Disable MOV ISP_ADDRL, DPL RET CLR EA TAB1: DB MOV ISP_TRIG, #46H 18H,0DEH,34H,94H,0D2H,91H,11H,0DCH MOV ISP_TRIG, #0B9H DB 10H,90H,50H,13H,39H,16H,31H,71H NOP TAB2: DB 35 大学本科毕业论文 0FFH,0FFH,0FEH,0FFH,0FDH,0FFH,0FBH,0FFH DB 0F9H,0FFH,0F6H,0FFH,0F1H,0FFH,0DDH,0FFH DB 0DCH,0FFH,0C7H,0FFH,0A6H,0FFH,073H,0FFH DB 023H,0FFH,0A5H,0FEH,0E0H,0FDH,0A9H,0FC 36 大学本科毕业论文
本文档为【LED点阵驱动模块】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_531654
暂无简介~
格式:doc
大小:114KB
软件:Word
页数:0
分类:互联网
上传时间:2018-01-12
浏览量:37