版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书分类号:密级:
毕业设计(论文)LED点阵显示屏的设计与实现DESIGNANDIMPLEMENTATIONOFDOTMATRIXLED徐州工程学院毕业设计(论文)PAGEIII徐州工程学院学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用或参考的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标注。本人完全意识到本声明的法律结果由本人承担。论文作者签名:日期:年月日徐州工程学院学位论文版权协议书本人完全了解徐州工程学院关于收集、保存、使用学位论文的规定,即:本校学生在学习期间所完成的学位论文的知识产权归徐州工程学院所拥有。徐州工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。徐州工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。论文作者签名:导师签名:日期:年月日日期:年月日摘要本设计使用简单单片机AT98C52作为主控制模块,利用简单的外围电路来驱动16*16的点阵LED显示屏。利用烧录器可以很方便的实现与单片机外围存储设备的数据传输,并能利用软件方便的进行显示内容的多样变化,另一方面点阵显示屏广泛的应用于医院、机场、银行等公共场所,使信息的发布全面进入动屏时代,所以本设计具有很强的现实应用性。关键词点阵;LED;单片机AbstractThedesignusesasimplesingle-chipAT98C52asthemaincontrolmodule,usingasimpleexternalcircuittodrivethedisplayofthe16*16dotmatrixLED.Theuseofburnercanbeveryconvenienttoachieverthedatatransferbetweensingle-chipmicrocomputerandexternalstoragedevices.Moreover,itcanalsodisplayavarietyofresultsbyusingsoftware.Ontheotherhand,dot-matrixdisplaycanalsobeusedinhospitals,airports,banksandotherpublicplaces.Asaresultofthis,thereleaseofinformationcanenterthedynamicfull-screenera.Thus,thisdesignpossessesapracticability.KeywordsdotmatrixLEDsingle-chipmicrocomputer徐州工程学院毕业设计(论文)PAGE29目录1绪论 11.1概述 11.2LED简介和构成 11.3MCS-51系列单片机及其特点 21.4LED屏的分类 31.5论文主要工作 52LED点阵显示屏 62.1LED显示屏发展 62.2LED显示屏的需求分析 62.3系统主要的元器件介绍 72.3.1AT89C52简介 72.3.2AT89C52的主要功能特性 72.3.4AT89C52各引脚功能及管脚电压 72.4LED显示屏的开发环境 142.4.1显示屏驱动电路的选择 142.4.2亮度连续可调 142.4.3串行口的选择 153系统的具体设计与实现 163.1系统总框图 163.2硬件条件 163.3软件部分 183.4亮度连续可调 183.5刷新频率的计算 193.6软件方面 193.6.1主程序的流程图 193.6.2按键程序 193.6.3行列的扫描 204测试、结果及分析 224.1基本功能 224.2发挥部分功能 225总结 23致谢 24参考资料 25附录 261绪论LED显示屏从80年代后期在全球迅速兴起,它利用发光二极管构成的点阵模块或像素组成大面积显示屏幕,以可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点。短短的十几年中,相关技术和产业都取得了长足的进步,已发展成为重要的现代信息发布媒体手段,在证券交易、金融、交通、体育、广告等领域得到了广泛应用。随着社会信息化的进程,LED显示屏在信息显示领域的应用前景愈加广阔。1.1概述LED电子显示屏是随着计算机及相关的微电子﹑光电子技术的迅猛发展而形成的一种新型信息显示媒体。它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。1.2LED简介和构成LED(LightEmittingDiode)即发光二极管是利用半导体的P-N结电致发光原理制成的一种半导体发光器件。LED具有亮度高、功耗小、寿命长、工作电压低、易小型化等优点。[4]近几年来,它得到迅猛的发展和广泛的应用。从七十年代起,已有人开始用LED做为发光像素研制LED显示器。随着微机技术的发展和LED器件的成熟,LED显示屏也得到迅猛的发展。目前已研制出多种规格的LED屏,从色彩上讲有单色、多色、全色显示屏,从显示尺寸上讲,LED屏现已做到了数百平方米。现已形成了一个新兴的高科技产业。最近,蓝色、纯绿色超高亮发光二极管相继研制成功并已商品化,用LED制成室外"大彩电"已成为现实,它标志着LED显示技术达到了一个新的高度。尤其是LED点阵显示的应用尤为广泛,随着信息产业的高速发展,LED显示作为信息传播的一种重要手成为现代信息化社会的一个闪亮标志。近年LED显示已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如电信、邮政大厅、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策,政令的发布,各类市场行情信息的发布和宣传等。而且随着科学技术的发展LED点阵显示被应用到大、中、小屏幕显示器:各种广告牌、体育记分牌、金融、交通指示牌等,分为全色、三色、单色显示屏。目前LED电子显示屏的显示向更高亮度、更高耐气候性、更高的发光均匀、更高的可靠性、全色化、多媒体方向发展,系统的运行,操作与维护也向集化、网络化、智能化方向发展。从LED显示屏需求上,市场上不仅需要像大屏幕的这样大型的显示屏,也需要根据不同场地配置不同规格的小型显示屏以及相对简单的文字显示屏。设计一个LED显示屏控制器,具有动态汉字显示的功能;显示屏亮度以在正常光照条件下能看清汉字。鉴此,本毕业设计设计与实现一个以单片机AT89C51为控制器的点阵LED显示屏控制系统,该系统采用单片机硬件以及软件程序结合的方式,以硬件电路作为驱动电路。LED显示屏是用发光二极管作显示像素而构成的显示屏,受空间限制小,适合于几平方米到几百平方米的屏幕,在此范围内和其它几种屏幕相比有较强优势,可表现文字、图形、图像、动画和视频,能较好地适应各种使用环境。LED显示屏系统一般由微机、发送控制板、接收控制板、显示屏屏体、稳压电源及金属框架等部分构成。(1)微机微机主要用于大屏幕系统的操作和控制,体现在上层软件部分。用来制作、编辑欲显示的内容,包括文字、图像、表格,并设置各种节目的播放顺序及画面停留时间等。编辑完成后,微机用来运行播放制作好的内容。微机播放时,内容在微机的显示器上显示出来。(2)发送控制板该部分的作用主要是将微机上显示的内容采集下来,进行数据处理和变换,转换成为大屏幕显示所需要的数据格式,并将信号进行功率放大,以发送给远处的大屏幕。(3)接收控制板该部分的作用主要是将发送控制板发送来的数据接收下来并送到大屏上的相应位置。(4)显示屏屏体显示屏屏体主要是由LED发光管矩阵和驱动电路构成。它收到接收控制板送来的数据信号,驱动显示屏正面LED发光管矩阵的亮灭,使大屏幕显示出一幅幅画面。1.3MCS-51系列单片机及其特点①可靠性高:因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC机。系统软件(如:程序指令,常数,表格)固化在ROM中,不易受病毒破坏。许多信号的通道均在一个芯片内,故运作时系统稳定可靠。②便于扩展:片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统。③控制功能强:具有丰富的控制指令:如:条件分支转移指令,I/O口的逻辑操作指令,位处理指令。④实用性好:体积小,功耗低,价格便宜,易于产品化。1.2.2 单片机的发展历史简介①第1阶段(1971年—1978年),以MCS-48系列为代表,称4位单片机。在片内:CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有并行接口,无串行接口;只有1个8位的定时/计时器;中断源只有2个。在片外:寻址范围只有4KB;芯片引脚有40个。②第2阶段(1978年—1983年),以MCS-51系列为代表,称8位单片机。在片内:CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串/并行接口;有2个或3个16位的定时/计时器;中断源有5至7个。在片外:寻址范围有64KB;芯片引脚有40个。③第3阶段(1983年以后),以MCS-96系列为代表,称16位单片机。在片内:CPU有16位;ROM有8KB;RAM有232B;有串/并行接口;有4个16位的定时/计时器;中断源有8个;增加了D/A和A/D转换电路。在片外:寻址范围有64KB;芯片引脚有48个或68个。以上MCS-51系列以其优良的性价比,在我国得到了广泛的应用1.4LED屏的分类(1)按显示颜色可以分为单基色显示屏:单一颜色(红色或绿色)。图1-1单基色显示屏双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。图1-2双基色显示屏全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。图1-3全彩色显示屏(2)按显示器件分类LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。LED视频显示屏:显示器件是由许多发光二极管组成,可以显示视频、动画等各种视频文件。(3)按使用环境分类室内显示屏:发光点较小,一般Φ3mm--Φ8mm,显示面积一般几至十几平方米。室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能(4)按发光点直径分类室内屏:Φ3mm、Φ3.75mm、Φ5mm即P7.62mm、¢8mm室外屏:Φ10mm、Φ12mm、Φ16mm、Φ19mm、Φ20mm、Φ21mm、Φ22mm、Φ26mm室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒内共同发(5)按显示方式分类有静态、横向滚动、垂直滚动和翻页显示等。单块模块控制驱动12块(最多可控制24块)8X8点阵,共16X48点阵(或32X48点阵),是单块MAX7219(或PS7219、HD7279、ZLG7289及8279等类似LED显示驱动模块)3LED显示屏的技术1.5论文主要工作本设计主要介绍了用AT89C51单片机设计LED滚动显示器的过程,第一章引出LED显示器,第二章介绍LED显示器的发展背景,第三章引出LED显示器的具体设计与实现,并画出硬件电路图和软件流程图,再经过测试调试而完本毕业设计。2LED点阵显示屏2.1LED显示屏发展LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,它利用发光二极管构成的点阵模块或像素单元组成在面积显示屏幕,以可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。2.2LED显示屏的需求分析信息化社会的到来,促进了现代信息显示技术的发展,形成了CRT、LCD、PDP、LED、EL、DLP等系列的信息显示产品,纵观各类显示产品,各有其所长和适宜的市场应用需求。随着LED材料技术和工艺的提升,LED显示屏以突出的优势成为平板显示的主流产品之一,并在社会经济的许多领域得到广泛应用,主要包括:(1)证券交易、金融信息显示。这一领域的LED显示屏占到了前几年国内LED显示屏需求量的50%以上,目前仍有较大的需求。(2)机场航班动态信息显示。民航机场建设对住处显示的要求非常明确,LED显示屏是航班住处显示系统FIDS(FlightinformationDisplaysystem)的首选产品。港口、车站旅客引导信息显示。以LED显示民间为主体的信息系统和广播系统、列车到发揭示系统、列车到发揭示系统、票务信息系统等共同构成客运枢纽的自动化系统,成为国内火车站和港口技术发展和改造的重要内容。体育场馆信息显示。LED显示屏作为比赛信息显示和比赛实况播放的的主要手段已取代了传统的灯光及CRT显示屏,在现代化体育场馆成为必备的比赛设施。道路交通信息显示。智能效通系统(ITS)的兴起,在城市效通、高速公路等领域,LED显示民间作为可变情报板、限速标志等,得到普遍采用。(6)调度指挥中心信息显示。电力调度、车辆动态跟踪、车辆调高度管理等,也在逐步采用高密度的LED显示屏。(7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。(8)广告媒体新产品。除单一大型户内、户外显示屏做为广告媒体外,集群LED显示屏广告系统、列车LED显示屏广告发布系统等也已得到采用并正在推广。演出和集会。大型显示屏越来越普遍的用于公共和政治目的的视频直播,如在我国建国60周年大庆、世界各地的新千年庆典等重大节日中,大型显示屏在播放实况和广告信息发布方面发挥了卓越的作用。展览会。LED显示大屏幕作为展览组织者提供的重要服务内容之一,向参展商提供有偿服务,国外还有一些较大的LED大屏幕的专业性租赁公司,也有一些规模较大的制造商提供租赁服务。2.3系统主要的元器件介绍2.3.1AT89C52简介AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。2.3.2AT89C52的主要功能特性兼容MCS51指令系统·8k可反复擦写(>1000次)FlashROM32个双向I/O口·256x8bit内部RAM3个16位可编程定时/计数器中断·时钟频率0-24MHz2个串行中断·可编程UART串行通道2个外部中断源·共8个中断源2个读写中断口线·3级加密位低功耗空闲和掉电模式·软件设置睡眠和唤醒功能2.3.4AT89C52各引脚功能及管脚电压概述:AT89C52P为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE),SFR的地址空间映象如表2所示。并非所有的地址都被定义,从80H—FFH共128个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与AT89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。定时/计数器2的控制和状态位位于T2CON(参见表3)T2MOD(参见表4),寄存器对(RCAO2H、RCAP2L)是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。AT89C52有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。定时器2是一个16位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3)的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1期间寄存器加1。由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。在捕获方式下,通过T2CON控制位EXEN2来选择两种方式。如果EXEN2=0,定时器2是一个16位定时器或计数器,计数溢出时,对T2CON的溢出标志TF2置位,同时激活中断。如果EXEN2=1,定时器2完成相同的操作,而当T2EX引脚外部输入信号发生1至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中。另外,T2EX引脚信号的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会激活中断。当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON的DCEN位(允许向下计数)来选择的。复位时,DCEN位置“0”,定时器2默认设置为向上计数。当DCEN置位时,定时器2既可向上计数也可向下计数,这取决于T2EX引脚的值,参见图5,当DCEN=0时,定时器2自动设置为向上计数,在这种方式下,T2CON中的EXEN2控制位有两种选择,若EXEN2=0,定时器2为向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件预置。若EXEN2=1,定时器2的16位重装载由溢出或外部输入端T2EX从1至0的下降沿触发。这个脉冲使EXF2置位,如果中断允许,同样产生中断。定时器2的中断入口地址是:002BH——0032H。当DCEN=1时,允许定时器2向上或向下计数,如图6所示。这种方式下,T2EX引脚控制计数器方向。T2EX引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH向上溢出时,置位TF2,同时把16位计数寄存器RCAP2H和RCAP2L重装载到TH2和TL2中。T2EX引脚为逻辑“0”时,定时器2向下计数,当TH2和TL2中的数值等于RCAP2H和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH数值重新装入定时寄存器中。当定时/计数器2向上溢出或向下溢出时,置位EXF2位。当T2CON(表3)中的TCLK和RCLK置位时,定时/计数器2作为波特率发生器使用。如果定时/计数器2作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1用于其它功能,如图7所示。若RCLK和TCLK置位,则定时器2工作于波特率发生器方式。波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2振荡频率)寄存器的值加1。波特率的计算公式如下:方式1和3的波特率=振荡频率/{32*[65536-(RCP2H,RCP2L)]}式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位无符号数。定时器2作为波特率发生器使用的电路如图7所示。T2CON中的RCLK或TCLK=1时,波特率工作方式才有效。在波特率发生器工作方式中,TH2翻转不能使TF2置位,故而不产生中断。但若EXEN2置位,且T2EX端产生由1至0的负跳变,则会使EXF2置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2和TL2中。所以,当定时器2作为波特率发生器使用时,T2EX可作为附加的外部中断源来使用。需要注意的是,当定时器2工作于波特率器时,作为定时器运行(TR2=1)时,并不能访问TH2和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。然而,对RCAP2则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器2或RCAP2寄存器之前,应将定时器关闭(清除TR2)。定时器2可通过编程从P1.0输出一个占空比为50%的时钟信号,如图8所示。P1.0引脚除了是一个标准的I/O口外,还可以通过编程使其作为定时/计数器2的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz时,输出时钟频率范围为61Hz—4MHz。当设置定时/计数器2为时钟发生器时,C/T2(T2CON.1)=0,T2OE(T2MOD.1)=1,必须由TR2(T2CON.2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器2捕获寄存器(RCAP2H,RCAP2L)的重新装载值,公式如下:输出时钟频率=振荡器频率/{4*[65536-(RCP2H,RCP2L)]}在时钟输出方式下,定时器2的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器2作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L和RCAP2L。AT89C52的UART工作方式与AT89C51工作方式相同。AT89C52共有6个中断向量:两个外中断(INT0和INT1),3个定时器中断(定时器0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意表5中的IE.6为保留位,在AT89C51中IE.5也是保留位。程序员不应将“1”写入这些位,它们是将来AT89系列产品作为扩展用的。定时器2的中断是由T2CON中的TF2和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2或EXF2产生中断,而由软件清除中断标志位。定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2的标志位TF2在定时器溢出的那个机器周期的S2P2状态置位,并在同一个机器周期内查询到该标志。AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10pF。用户也可以采用外部时钟。采用外部时钟的电路如图10右图所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。在空闲工作模式状态,CPU自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,同时将片内RAM和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。AT89C52有3个程序加密位,可对芯片上的3个加密位LB1、LB2、LB3进行编程(P)或不编程(U)来得到。当加密位LB1被编程时,在复位期间,EA端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的EA电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。AT89C52单片机内部有8k字节的FlashPEROM,这个Flash存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM编程器兼容。AT89C52单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。AT89C52的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。AT89C52编程方法如下:1.在地址线上加上要编程单元的地址信号。2.在数据线上加上要写入的数据字节。3.激活相应的控制信号。4.在高电压编程方式时,将EA/Vpp端加上+12V编程电压。5.每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复1—5步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。AT89C52单片机用DataPalling表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,DataPalling可能随时有效。Ready/Busy:字节编程的进度可通过“RDY/BSY输出信号监测,编程期间,ALE变为高电平“H”后,P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4变为高电平表示准备就绪状态。·程序校验:如果加密位LB1、LB2没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。芯片擦除:利用控制信号的正确组合(表6)并保持ALE/PROG引脚10mS的低电平脉冲宽度即可将PEROM阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。2.4LED显示屏的开发环境2.4.1显示屏驱动电路的选择方案一在禁止使用专用的LED控制芯片的情况下采用通用芯片74LS595,其具有8位锁存、串—并移位寄存器和三态输出,可以用它的锁存功能实现硬件电路对数据的刷新。其特点是控制信号简单,级联方便,芯片数量少。方案二我们可以用移位寄存器74HC164和译码器74HC138配合三级管来实现LED点阵显示的行列控制.但由于三极管需要量太大使电源超负荷,将导致屏幕暗亮。综合考虑,我们采用方案一。2.4.2亮度连续可调方案一通过在软件中调节刷新频率。刷新频率高的时候,连续点亮的时间短,显示屏亮度低,当刷新频率调低时,连续点亮的时间延长,显示屏变亮。因此通过调节占空比来实现显示屏亮度的调整。但是由于软件调节亮度变化不连续.不能实现连续的亮度调节。并且会出现闪烁。调节的效果不明显。方案二通过调节电位器来改变电压,实现亮度的调节。调节电位器实现线形电压调整,从而控制三极管使显示屏压降发生改变。从而达到连续调节亮度的目的。电位器的调节范围较大,因此用此方法来调节。考综合虑,我们采用方案二。图2-1简单单片机处理框图2.4.3串行口的选择方案一采用RS485来进行长距离(1200M)的传输,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用.[2]但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障而且总线本身存在许多的局限性,效率低,实时性差,通信的可靠性低,应用不灵活。方案二采用MAX232来进行串行的传输,用串行通讯的好处是简单,抗干扰性强.由于本系统有寄存器,因此不需要远距离传输,因此MAX232已经足够满足要求。并且可直接和PC机接口,[2]不用外加协议转换电路。综上所述,方案二比较合理。3系统的具体设计与实现3.1系统总框图图3-1系统原理图3.2硬件条件用常用的AT89C52控制。技术比较熟练,应用广泛,现在的51系列技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机,因此使用单片机可以实现要求的基本功能。图3-2AT89C52外观图都是8051的内核,只不过52的内部资源比51稍多,比如增加了一个16位的计数器T2,当然相应的特殊寄存器(SFR)也有了一点变化,另外52的内存也从51的128字节提高到了256字节,ROM也从2K提高到4K,可以装下更大的程序,但是若单从运算速度来讲,由于二者都是8051的直系后代,基本上可以认为二者运算性能相同。考虑到内存的增加对较复杂的程序带来的好处,52的总体性能是要比51好不少的。另外C52比C51还增加了ISP功能,[1]就是在线可编程功能,这可是很有用的功能哦,首先是省去购买编程器的钱,另外,对于买不起仿真器或希望能板上调试(就是插在成品电路板上调试)的人来说十分有价值,你可以随时更新插在电路板上的单片机的程序,十分方便。当然S51也具备这一功能,C51和C52都不具备,不过他们也已经停产了,现在电子市场能买到的大都是S系列的。图3-28*8点阵外观及引脚图采用4个8*8LED显示模块,构成16行*16列点阵显示点阵显示屏。4片8*8点阵LED显示模块利用总线形组成一个16*16的LED点阵,用于同时显示1个16×16点阵汉字或4个16×8点阵的字母﹑字符或数字。单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。3.3软件部分(1)LED显示屏驱动电路采用74HC138译码器。将从AT89C52里出来的列信号通过74HC38级联而成的16位的信号输出端连接到16*16的点阵LED的输入端,作为点阵的行驱动信号。从89S52输出四个信号分别输入到级联的74HC38译码器,然后输出16位行信号,其中所有的三极管的E极相连接+5V的电源,所有的C极接16个LED点阵的行型号引脚,得到的信号作为点阵LED的行输入信号。通过对138的四个输入信号进行控制,改变行信号来控制二极管的亮、灭来显示出所要求的字符、汉字。行驱动电路:每个LED管亮需要7mA的电流,那么64个同时亮就需要448mA的电流,所以我们要对列进行驱动,使LED点阵能够正常显示。(2)LED显示器列驱动电路此电路是由集成电路两个级联74HC138构成的,它具有一个8位串入并出的移位寄存器,可以实现在显示本行各列数据的同时,传送下一行的列数据。3.4亮度连续可调可以对LED的压降进行调节,以到达连续改变亮度。此是作为对亮度的调节的方法。3.5刷新频率的计算根据人眼的视觉的暂留特性,50HZ是适宜的刷新频率,所以CPU的刷新频率一般不低于60HZ,但是刷新频率太高的话,会使显示屏的亮度降低,所以刷新频率有最高值要求,本设计最高刷新频率为600HZ。3.6软件方面本系统的显示处理采用动态扫描法,而键盘处理采用查询法并注意按键的消抖处理。整个程序可以分为键盘扫描、点阵行列的扫描、串口传输。3.6.1主程序的流程图开始开始初始化寄存器、变量、I/O初始化寄存器、变量、I/O 否是否按键按下?是否按键按下?按键处理子程序模块 按键处理子程序模块 是 否是否收到串口命令?是否收到串口命令?处理命令子程序模块处理命令子程序模块是图3-7主程序流程图3.6.2按键程序本系统中的按键程序分为按键扫描子程序和按键功能执行子程序。而且在按键中使用了定时器Time0来实现按键消抖的功能。清中断清中断按键扫描按键扫描是否有键按下? 是否有键按下?计数器清0 是否计数器清0是计数器加1计数器加1 计数器是否大于10?计数器是否大于10?否中断结束置按键有效标志中断结束置按键有效标志 图3-8按键程序流程图3.6.3行列的扫描本系统中利用89S52来实现点阵显示屏的行列的扫描,其软件的流程图如下图清中断清中断送扫描行数据送扫描行数据扫描当前行扫描当前行行数加1行数加1图3-9行列扫描软件流程图图3-8软件调试图4测试、结果及分析4.1基本功能表4-1基本功能要实现的功能测试的结果LED显示实现了16*16的点阵显示显示屏无闪烁,亮度适中达到要求按键控制切换数字和字母实现了此功能能显示特定汉字和字符能实现4.2发挥部分功能表4-2发挥部分功能功能是否实现?描述亮度连续可调实现滚屏显示能实现左右滚屏预存信息能扩展到4组(每组汉字4个或8个字符)掉电保护实现5总结本系统完成了LED点阵电子显示屏和控制器的制作。经调试,显示屏的显示亮度适中,并能实现持续可调,滚屏显示和实时时间显示。通过和PC机的通讯,使显示的信息能实时的更新。整个系统简洁,可靠性高,性能稳定。本系统达到了设计的基本要求和发挥部分的要求,并且在其他发挥项目中扩充了很多设计。经过本次设计,对AT89C52,74HC138等芯片功能有了更深层次的理解。设计中还有欠缺的方面,今后的学习工作中会加以注意。致谢而本文的顺利完成,首先要感谢的是陈奎老师,从选题到定稿,都是在陈奎老师的悉心指导下完成的,陈奎老师学识渊博,对待工作一丝不苟、治学严谨的态度使我不仅在做论文的过程中受益匪浅,更是对我在今后的生活、工作和学习都将具有长远的指导意义。感谢父母对我的养育之恩,将我培养成人,我将无以为报,祝你们健康长寿。将近三年的大学生活,让我学到了很多,收获了很多。能一路走来,我感谢我的同学转眼三年仿佛就在昨天,三年里大家一起生活、学习,让我在这个远离家乡的城市有着家一般的融洽,你们给了我最纯正的友情,最真诚的帮助. 在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!参考资料[1]吴金戎.沈庆阳、郭庭吉,8051单片机实践与应用[M].清华大学出版社[2]胡汉才.单片机原理及其接口技术[M].清华大学出版社[3]马忠梅.籍顺心、张凯,单片机的C语言应用程序设计(第3版)[M].北京航空航天大学出版社[4]周志敏.周纪海、纪爱华,LED驱动电路设计实例电子工业出版社[M][5]编委会.最新LED驱动电路设计、应用与制造新技术新工艺实用手册,中国科学技术文献出版社[6]王田苗.嵌入式系统设计与实例开发[M].清华大学出版社附录#include<reg52.h>#defineint8unsignedchar#defineint16unsignedint#defineint32unsignedlongint8flag;int8n;int8codetable[][32]={{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""*/{0x00,0x04,0x01,0x04,0x02,0x04,0x04,0x04,0x08,0x04,0x30,0x04,0xC0,0x05,0x00,0xFE,0x80,0x05,0x60,0x04,0x10,0x04,0x0C,0x04,0x06,0x04,0x03,0x04,0x02,0x04,0x00,0x00},/*"大",16*/{0x00,0x02,0x40,0x0C,0x40,0x08,0x40,0x48,0x40,0x3A,0x40,0x2A,0x42,0x0A,0x41,0x8A,0xFE,0x7A,0x40,0x2B,0x40,0x0A,0x40,0x18,0x40,0xEA,0x40,0x4C,0x40,0x08,0x00,0x00},/*"学",17*/{0x20,0x08,0x30,0x08,0xE0,0xFF,0x42,0x08,0x4C,0x08,0xF0,0x1F,0x10,0x12,0x1A,0x12,0xF2,0x13,0x04,0x10,0xC8,0xFF,0x30,0x10,0xCC,0x50,0x02,0x37,0x1C,0x12,0x00,0x00},/*"城",18*/{0x04,0x28,0x08,0x24,0x32,0x22,0xC2,0x21,0xC2,0x26,0x34,0x38,0x04,0x04,0x08,0x18,0x30,0xF0,0xC0,0x17,0x60,0x10,0x18,0x10,0x0C,0x14,0x06,0x18,0x04,0x10,0x00,0x00},/*"欢",0*/{0x02,0x02,0x04,0x82,0xF8,0x73,0x04,0x20,0x02,0x00,0xE2,0x3F,0x42,0x20,0x82,0x40,0x02,0x40,0xFA,0x3F,0x02,0x20,0x42,0x20,0x22,0x20,0xC2,0x3F,0x02,0x00,0x00,0x00},/*"迎",1*/{0x00,0x01,0x04,0x02,0x1C,0x0C,0xC0,0x3F,0x1C,0xC0,0x02,0x09,0x02,0x16,0x92,0x60,0x4A,0x20,0x82,0x2F,0x02,0x20,0x0E,0x24,0x00,0x22,0x90,0x31,0x0C,0x20,0x00,0x00},/*"您",2*/{0x00,0x00,0x00,0x00,0x00,0x00,0xFA,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",32*/{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/*""*/};voiddelay(void);int16offset;voidmain(void){int8i;int8*p;flag=0x10;n=0;TMOD=0x01;TH0=0xb1;TL0=0xe0;ET0=1;EA=1;TR0=1;p=&table[0][0];while(1){for(i=0;i<8;i++)//显示左半边屏幕{P0=*(p+offset+2*i);P2=i|0x08;//P2.4=0,P2.3=1选中U2,输出扫描码给U6delay();P0=*(p+offset+2*i+1);P2=i|0x10;//P2.4=1,P2.3=0选中U3,输出扫描码给U7delay();}for(i=8;i<16;i++)//显示右半边屏幕{P0=*(p+offset+2*i);P2=(i-8)|0x20;//P2.5=1P2.4=0,P2.3=0选中U4,输出扫描码U8delay();P0=*(p+offset+2*i+1);P2=(i-8)|0x40;//P2.6=1P2.5=0,P2.4=0选中U5,输出扫描码U9delay();}}}voiddelay(void){int16i;for(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《习惯领域与决策》课件
- 游戏版权保护机制概述-洞察分析
- 油气加工节能减排-洞察分析
- 推广服务品牌建设-洞察分析
- 压延设备智能化节能控制-洞察分析
- 虚拟化技术在物联网的应用探索-洞察分析
- 医院科室调整申请书(6篇)
- 《有效解答顾客疑虑》课件
- 从细节出发如何通过标准化的操作提升实验效率
- 冰雪运动中的自我认知与挑战
- 浦东机场航班地面保障服务分析
- 工程造价咨询服务公司企业管理体系
- 会计工作年限证明个人承诺书
- 广东工业大学年《工程制图》期末试题A卷
- 大学实验室安全信息牌
- 返校复课证明
- 医院室内装修拆除工程施工方案
- 基于AT89C51的路灯控制系统设计
- 第二章国际石油合作合同
- 设计后续服务承诺书
- 机械加工设备清单及参考价格
评论
0/150
提交评论