毕业设计论文点阵实现

上传人:痛*** 文档编号:41768223 上传时间:2021-11-23 格式:DOC 页数:54 大小:6.37MB
收藏 版权申诉 举报 下载
毕业设计论文点阵实现_第1页
第1页 / 共54页
毕业设计论文点阵实现_第2页
第2页 / 共54页
毕业设计论文点阵实现_第3页
第3页 / 共54页
资源描述:

《毕业设计论文点阵实现》由会员分享,可在线阅读,更多相关《毕业设计论文点阵实现(54页珍藏版)》请在装配图网上搜索。

1、 摘要摘 要本文介绍了一款以单片机STC89C52为控制器的LED点阵显示屏系统的设计。该系统可实现宋体汉字的静态显示和动态特效显示。系统采用PC机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,STC89C52单片机接收并处理PC机的控制命令以及显示代码,由显示驱动模块驱动一个1616分辨率的LED点阵显示屏的扫描显示。上位机软件部分主要通过软件编写一个字模转换发送的界面;实现上位机与下位机的通信;控制部分主芯片是STC89C52,是系统的核心,再利用C语言编程下载实现对单片机各引脚的控制;LED点阵显示屏包括驱动电路和显示屏,74HC138译码器输出控制显示屏的行扫描,74

2、HC573(八位数据锁存器)控制显示屏的列,由于人眼视觉的滞留现象,行列驱动电路通过动态控制便实现了汉字的显示。关键词:STC89C52 LED点阵屏 单片机 74HC138 74HC573 ABSTRACTABSTRACTThis paper introduced a system design of LED dot matrix display which based on a single-chip controller STC89C52 . The system can display Arial static and dynamic character effects display

3、. System uses a PC as a PC, the PC sends control commands to the microcontroller and PC display code stored, STC89C52 microcontroller receives and processes the command and control of the PC display code, by the display driver module to drive a 16 16 resolution LED dot matrix display scan display. P

4、C software software development, mainly through VB interface to send a font conversion; Between PC and the next crew of communication; controlling part of the main chip is STC89C52, is the core of the system, and then use the C programming language download each pin of the microcontroller to achieve

5、 control; LED dot matrix display includes a drive circuit and display, 74HC138 decoder output control display line scan, 74HC573 (eight data latches) control the display of the column, because the human visual retention phenomenon, the ranks driving circuit through the dynamic control will achieve a

6、 display of Chinese characters.Keywords: STC89C52 LED dot matrix display microcontroller 74HC138 74HC573i目录目录 第一章 绪 论11.1 课题背景11.1.1 选题背景11.1.2 研究现状和发展趋势11.1.3课题意义21.2 论文主要内容3第二章 方案的选定52.1系统硬件方案52.1.1 显示屏主控制器52.1.2 通信系统72.1.3 LED点阵显示屏72.1.4 硬件设计方案92.2 系统软件方案92.2.1 单片机编程语言92.2.2 系统软件编译器介绍102.2.3 上位机控

7、制传输软件10第三章 点阵屏113.1 点阵屏原理113.1.1点阵的显示原理113.1.2 点阵屏的组合123.1.3 点阵的驱动原理123.2 字模的提取13第四章 系统硬件设计154.1系统硬件整体设计概述和功能分析154.2控制单元设计164.2.1 STC89C52简介164.2.2 控制系统设计184.3 译码电路184.4 驱动电路214.4.1 行驱动电路214.4.2 列驱动电路214.5电源电路23第五章 系统软件设计255.1 程序设计255.1.1 静态显示程序265.1.2 动态扫描程序27第六章 系统调试296.1 系统硬件部分调试方法296.1.1 短路与虚焊检测

8、296.1.2 上电测试296.2 系统软件调试方法296.3 系统联合调试及结果306.4 调试结果分析30第七章 结 论31致谢33参考文献35附录A 电路图37附录B 程序39附录C 实物图43 3第一章 绪论第一章 绪 论1.1 课题背景1.1.1 选题背景 LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万甚至几十万个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外

9、环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点1。在短短的十来年中,LED点阵显示屏就以亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。LED显示屏的应用涉及社会经济的许多领域,主要包括:(1)证券交易、金融信息显示;(2)机场航班动态信息显示;(3)港口、车站旅客引导信息显示;(4)体育场馆信息显示;(5)道路交通信息显示;(6)调度指挥中心信息显示;(7)邮政、电信、商场购物中心等服务领域的

10、业务宣传及信息显示;(8)广告媒体新产品等。1.1.2 研究现状和发展趋势 1.我国LED产业发展现状 我国的LED显示屏产业经过几年的发展,基本形成了一批具有一定规模的骨干企业。据不完全统计,至1998年底,年度销售总额在1000万元以上的企业有20多家,其销售总额达6亿元左右,占行业市场总额的85%以上。全国从事LED显示屏的各类企业有100余家,从业人员近6000人,行业年度销售总额近8亿元人民币,1996年、1997年的增长速度均保持40%左右,1998年略有回落。在国内市场上,国产LED显示屏的市场占有率近100%,国外同类产品基本没有市场,四十三届世乒赛主会场天津体育中心、京九铁路

11、、北京西客站、首都机场、浦东机场等,均由国内代表企业中标。技术水平相对领先,我国LED显示屏产业在规模发展的同时,产品技术推陈出新,一直保持比较先进的水平。90年代初即具备了成熟的16级灰度256色视频控制技术及无线遥控等国际先进水平技术,近年在全彩色LED显示屏、256级灰度视频控制技术、集群无经线控制、多级群控技术等方面均有国内先进、达到国际水平的技术和产品出现,LED显示屏控制专用大规模集成电路也已由国内企业开发生产并得到应用。LED显示屏产业培养形成了一批LED显示屏科技队伍,在全国LED显示屏行业的从业人数6000人中科技人员有2800多人,将近50%。LED显示屏产业正成为我国电子

12、信息产业的重要组成部分,也是平板显示领域唯一立足国内形成的民族高科技产业。 2.LED显示屏的发展趋势 现代信息社会中,作为人一机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。高亮度、全彩化蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。基础材料的产业化。使LED全彩色显示产品成本下降,应用加快。LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时由于

13、全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品。全彩色LED显示屏的广泛应用会是LED显示屏产业发展的一个新的增长点。 未来LED显示屏会向着标准化、规范化,产品结构多样化的方向发展2。1.1.3课题意义 该设计课题使我们能够掌握LED显示屏的基本显示原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了51单片机的的软硬件开发工具的使用方法,

14、为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。因此该课题不仅对自己的专业知识进行了一个实践,也为以后自己有可能从事的工作打下了基础。1.2 论文主要内容1.方案的选定 通过对课题的分析,首先进行了对方案的选定,期间参考了很多的资料,最终选定PC机为上位机,单片机为核心控制器件,外加译码电路和驱动电路控制点阵显示。 2.硬件的设计 在方案选定之后,开始了具体的硬件电路的设计和分析,通过对点阵原理的学习和掌握

15、,对74HC573和74HC138芯片等的学习和应用,还有对单片机的学习和了解,设计出可行的硬件电路。论文中都有详细的介绍。 3.软件的设计 由硬件电路设计完成无误之后,在这个基础上进行软件的编写,所用的编辑语言为C语言。程序按功能分为静态显示和动态显示两个模块组成,在调试过程分块单独调试。期间还涉及到Keil软件的学习和使用,在论文中都做了详细的介绍。 4.软硬件的调试 调试分为硬件调试、软件调试和系统联合调试几步来进行。在硬件调试中发现有供电电源不足以及芯片的不能正常工作等问题。在软件调试中出现程序整合工作不协调等问题。通过分析,查找找出了问题原因并设法将其解决。 5.结论 对自己在完成该

16、课题的过程中所收获到以及所犯下的错误的一个总结。5第二章 方案的选定第2章 方案的选定2.1系统硬件方案 大多数的LED显示屏都在户外,所以对硬件的质量要求非常的高。为方便检修和维护硬件电路设计时常常采用模块化的设计方法。硬件的设计采用模块化设计,既要满足模块本身功能又要能够和整个系统兼容。如图2-1所示,根据显示系统的功能特点确定系统硬件由显示屏部分,控制部分,通信系统及上位机四部分组成。上位机通过通信部分向控制部分发送控制指令和显示内容代码,控制部分执行显示指令并将显示代码处理后控制显示部分的显示内容和显示方式。 显示部分 控制部分 通信系统 上位机 图2.1 系统硬件组成框图2.1.1

17、显示屏主控制器控制部分是整个系统的核心部分,其功能为与上位机通信接收上位机发送的数据和控制指令处理过后控制显示部分显示内容。其常用的电子设计方法有单片机、DSP、及EDA技术。几种设计方法比较各有其特点。1.单片机单片机是集成了CPU,ROM,RAM和I/ O口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样 CPU 从8,16,32到64位,多采用RISC 技术,片上I/O非常丰富,有的单片机集成有A/ D,“ 看门狗”,PWM,显示驱动,函数发生器,键盘控制等。它们的价格也高低不等,这样极大地满足了开发者的选择自由。除此之外单片机还

18、具有低电压和低功耗的特点。随着超大规模集成电路的发展,NMOS工艺单片机被CMOS代替,并开始向HMOS 过渡。供电电压由5V 降到3V,2V甚至到1V,工作电流由mA降至A ,这在便携式产品中大有用武之地3。2.DSP 芯片DSP 又叫数字信号处理器。顾名思义,DSP主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,DSP具有修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。DSP区

19、别于一般微处理器的另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。而DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320 系列的FIRS ,LMS,MACD指令等4。3.EDAEDA(即Electronic Design Automation) 即电子设计自动化,它是以计算机为工具,在EDA 软件平台上,对用硬件描述语言HDL 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用HDL 语言完成系统功能的描述,借助ED

20、A工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。由于FPGA/CPLD可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。而且MCU和DSP都是通过串行执行指令来实现特定功能,不可避免低速,而FPGA/CPLD则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLP器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。三种设计方式相比较各有优点且都能够实现控制功能,但单

21、片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势常作为单片机学习的教材。且51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定51系列单片机作为控制部分的核心器件。2.1.2 通信系统通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下

22、显示屏和上位机的距离不会很远,所以通信距离的要求不是很高。计算机数据通信主要采用并行通信和串行通信两种方式。1.并行通信并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。2.串行通信串行通信数据是一位一位顺序传送,只用很少几根通信线,串行传送的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场合。在串行发送时,数据是一位一位按顺序进行的,而计算机内部的数据是并行的。因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。反之,又必须将串行数据转换为并行数据输入计算机中。这种转换即可以用硬件实现也可以用

23、软件实现。单由软件实现会增加CPU负担,降低其利用率,故目前常采用硬件实现。通用的通用异步接收/发送器,简称UART(Universal Asynchromous Receeiver/Trabsnitter)是完成这一功能的硬件电路。在单片机芯片中,UART已经集成在其中,作为其组成部分,构成一个串行口5。综上所述,题目设计已经选定了单片机为开发方式而单片机的UART已经集成在单片机内,所以通信系统选择串行通信为通信方式。2.1.3 LED点阵显示屏显示部分包括了一块至少可以显示一个汉字的显示屏,以及驱动该显示屏的驱动电路。由于单片机的I/O口有限要不能直接用I/O口来驱动LED显示屏,所以需

24、要对单片机IO口进行扩展增加单片机并行输出的能力。LED显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的LED显示屏就需要多个发光二极管。构成LED屏幕的方法有两种,一是由单个的发光二极管逐点连接起来,如图2.2所示;二是选用一些由单个发光二极管构成的LED点阵子模块构成大的LED点阵模块。目前市场上普遍采用的点阵模块有88、1616几种;这两种屏幕构成方法各有有缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵模块构成的方法却正好与之相反,模块构成省约了大量的连线,不过当一个LED出现问题时同在一个模

25、块的所有LED都必须被更换。这就加大了维修的成本。两种方法相比较,决定采取模块构成的方法来制作一个LED点阵显示屏。为了避免模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个1616的LED点阵屏选用四块88点阵模块。图 2.2 LED点阵图 一个1616的LED显示屏行和列各有16支引脚,不能单靠51单片机的端口驱动所以必须要对单片机的端口个数进行扩展。经常采用的端口扩展方法是用串并转换芯片进行译码。常用的串并转换芯片有74LS154(4线-16线译码器)、74HC138(3线-8线译码器)、74LS164(8位串并转换器)、74HC595等。51系列单片机端口低电平时,

26、吸入电流可达,具有一定的驱动能力;而为高电平时,输出电流仅数十甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力,所以单片机不能直接驱动LED显示屏显示。在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路6。2.1.4 硬件设计方案最终方案如图2.3所示,以PC机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过端口译码扩展后驱动4块88LED点阵模块构成的1616的LED点阵显示屏。题目将以此方案为指导思想展开具体的硬件电路设计。图2.3 硬件设计方案2.2 系统软件方案 软件的设计除了满足设计功能外还

27、必须要满足易读写,方便下载和编译。设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序三个主要部分组成。软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。2.2.1 单片机编程语言现在主要运用的单片机编程语言为汇编语言和C语言。两种语言相比较各有优点。汇编语言(Assembly Language)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件

28、的语言。其具有执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植7。C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。C语言结构是以括号 而不是子和特殊符号的语言。C可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试

29、时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。基于以上理由决定采用C语言为该显示系统的编程语言。2.2.2 系统软件编译器介绍C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持MCS51用C语言编程的编译器主要有两种:Franklin C51编译器和KEILC51编译器。目前在单片机开发中普遍都是使用K

30、EIL C51来进行编译。因此软件设计最终方案为采用C语言为程序语言,KELC为编译工具按照控制、显示等几个功能模块来编写程序。2.2.3 上位机控制传输软件其中系统采用现在已经非常普遍的PC机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通用性。上位机的作用是存储并处理显示内容,然后通过通信系统传送到控制系统驱动显示。LED显示上位机的内容一般有实时显示和存储显示两种方法。实时显示及上位机屏幕上的内容同时显示在LED显示屏上,上位机上内容变化LED显示屏也跟着变化。存储显示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示8。两种显示方法相比较:实时显示屏幕能及时反

31、应上位机内容的变化,显示的效果和内容的实时性好多用于新闻播报、实况转播用,但实时显示硬件开销大,对通信系统要求高,工艺复杂,成本高;存储显示虽实时性不高但硬件开销小,成本低廉。课题设计题目对显示的实时性要求较低且所设计的显示屏尺寸不大同时显示的内容不多,所以实时显示就没有必要。所以上位机选择存储显示的方法,控制LED显示屏的显示内容9。9第三章 点阵屏第三章 点阵屏3.1 点阵屏原理3.1.1点阵的显示原理 LED点阵屏有单色和双色、全彩三类,可显示红,黄,绿,橙等。如图3.1所示,LED点阵有4*4、4*8、5*7、5*8、 8*8、16*16、24*24、40*40等多种;根据图素的数目分

32、为等,双原色、三原色等,根据图素颜色的不同所显示的文字、图像等内容的颜色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的颜色由图素内不同颜色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,假如按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。如图3.2所示的点阵内部连接图,LED点阵根据每列LED的阳极(即列引脚)是否连接在一起,分为“共阳型”和“共阴型”两种,其中“共阳型”的阳极连接在一起,每行LED的阴极(即行引脚)连接在一起,“共阴型”正好相反。以简单的8X8点阵为例,它共由64个发光二极管组成,且每个发光二极管是

33、放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接高电平,而(13、3、4、10、6、11、15、16)引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)引脚接高电平,那么第一列就会点亮。 图3.1 8*8LED点阵图3.2 点阵内部连接图 从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮

34、灭的方法称为静态驱动显示方式。另一种显示方法为动态扫描,简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如说16行)的同名列共用一套驱动器。具体就是16*16的点阵来说 ,把所有同一行的发光管的阳极还在一起,把所有同一列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行的使其点亮相同时间,然后熄灭;以此类推,第十六行之后,又重新点亮第一行,反复循环。当这样的循环的速度足够快(每秒24次以上),由于人眼的视觉停留,就能够看到显示屏上稳定的图形了。3.1.2 点阵屏的组合 本

35、方案中使用的点阵型号为ARK SZ411288K 1212,为共阳型,单色高丽红8*8点阵管,一般我们使用点阵显示汉字是用的16*16的点阵宋体字库,所谓16*16,是每一个汉字在纵、横各16点的区域内显示的。也就是说用四个8*8点阵组合成一个16*16的点阵。首先得明确单个8*8点阵的引脚所对应的行列,然后再进行2个8*8横向级联,把8条行线一一对应连接,连接后,这个8*16的点阵就有8条行线,16条列线;暂且把这个8*16的点阵叫做 “上8行”,之后重复以上,做成另一个8*16,叫做 “下8行”,把下8行放在上8行的下面,16条行线一一对应,就完成了。再以同样的方式对应连接完成16条列线,

36、完成之后的16*16点阵有16条行线,16条列线。通过Proteus仿真组合的图3.3所示。 图3.3 仿真组合连接图3.1.3 点阵的驱动原理 若要正向点亮一个LED,至少也得10-20mA;如果电流不够大,则LED不够亮。而不管是8051的输入/输出口,亦或是TTL、CMOS的输出端,其高电平输出电流都是不很高,大不了1-2mA而已。因此,也很难直接用高电平驱动LED。这时候就需要额外的驱动电路,对于共阳型和共阴型的LED点阵分别各自对应两种驱动电路。 共阴型的两种驱动电路。 1.共阴型高电平扫描、高电平显示信号驱动:任一时刻只有一个高电平信号,其他则为低电平。一列扫描完成后,再把高电平信

37、号转到临近的其他列,扫描信号输出为低电平,外接一个反相驱动器,连接于LED点阵的列引脚; 2.共阴型低电平扫描、高电平显示信号驱动:任一时刻只有一个低电平信号,其他则为高电平。一列扫描完成后,再把低电平信号转到邻近的其他列,扫描信号经限流电阻连接于PNP晶体管的基极。晶体管的集极接地,射极则连至LED点阵的列引脚,实现低电平扫描,高电平显示。 共阳型的两种驱动电路。 1.共阳型高电平扫描、高电平显示信号驱动:任一时刻只有一个高电平信号,其他则为低电平。一列扫描完成之后,再把高电平信号转到邻近的其他列。扫描信号连接到一个NPN晶体管的基极,这个晶体管必须提供7个LED同时亮所需要的电流,大约21

38、0mA; 2.共阳型低电平扫描、高电平显示信号驱动:任一时刻只有一个低电平信号,其他则为高电平。一列扫描完成后,再把低电平信号转到邻近的其他列。同样也需要扫描信号端能够提供7个LED同时点亮的所需的电流,大约210mA,可以通过接晶体管,也可以通过一些芯片驱动。 在本课题中,所选用的点阵为共阳型的,所以采用了第四种低电平扫描、高电平显示的驱动方式。3.2 字模的提取 在计算机中,一个字汉字常由16行16列的像素点表示。即每一个汉字由256个像素点构成,若1bit对应一个像素点,那么表示一个16*16点阵的汉字需要32Byte的存储空间。 一个16*16LED点阵在单片机的控制下,当像素点为1时

39、,相应的LED灯亮,当像素点为0时,相应的LED灭,那么,点亮的LED灯在点阵上就可以显示出一个字出来。实际上,这就是LED或LCD点阵显示汉字或图形的基本原理。 本课题在取模过程中使用了PCtolLCD取模软件,该软件的界面简单,操作简便,对单字符进行取模时,通常会有两种方式,第一种是在图形模式下进行手动的绘制字符的形状然后取模。第二种方式是将字符以输入法的方式输入到软件的文本编辑区然后取模。同时该软件可以生成自己想要的字库,丰富了点阵的显示内容,以及简化了设计过程。该软件的操作界面简单如图3.4所示。 图3.4 PCtolLCD取模软件在该软件里可以自主选择取模方式包括逐行式,逐列式,行列

40、式,列行式,在本课题中,采用了逐列式取模方式,取模顺序为顺向(高位在前)。如图所示,“电”的字模生成为: Tab=0x00,0x00,0x00,0x00,0x1F,0xF8,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0xFF,0xFE, 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x1F,0xF9,0x00,0x01,0x00,0x0F,0x00,0x00/*电*/21第四章 系统硬件设计第4章 系统硬件设计 4.1系统硬件整体设计概述和功能分析显示系统具体设计主要由上位机,通信系统,单片机系统,译码电路,显示驱动电路

41、和1616的点阵屏六部分组成。具体工作流程为:上位PC机通过通信系统向单片机发送控制指令和显示代码内容,单片机接收后执行控制指令处理显示代码将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行电压和电流的处理以达到LED显示屏的显示电流,电压要求进而使显示屏显示内容10。根据硬件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和对比最终的硬件原理图如图4.1所示。 列驱动器单片机 电源 LED显示点阵行驱动器 图4.1硬件原理图该系统所要实现的功能和要求有以下几点。1. LED显示屏的面积必须满足至少显示一个汉

42、字的标准。并且显示要清晰;2. 驱动电路要能提供LED显示所需范围内的电压和电流要求;3. 译码电路的高低电平的区分能力以及译码的输入输出频率必须满足单片机以及驱动电路的要求;4. 单片机要能接收上位机的指令和显示内容且能够处理后控制LED显示屏的显示,并且端口驱动能力要足以驱动译码电路。执行频率要能达到扫描显示的最低要求;5. 单片机由ISP下载线下载程序;6. 由串口完成单片机与上位机的通信,通信速度和数据传输的可靠性要达到显示要求。4.2控制单元设计控制单元是整个显示系统的核心,该系统中采用51系列单片机为核心器件,用来和上位机通信处理上位机发送的控制指令和显示内容。并且直接输出数据通过

43、译码电路控制LED显示屏的显示内容和显示状态。在51系列单片机中选定一款合适的机型来作为控制单元的主控芯片。根据题目的要求该芯片必须要具有的就是方便的编程能力,因为在软件设计时方便的程序下载对程序的验证和编写非常有用。还有就是为了提高LED显示屏的扫描速度,单片机的执行速度要尽可能的快。根据这两点要求,选择STC89C52为控制单元的主控芯片。4.2.1 STC89C52简介STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯

44、片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单

45、片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。其引脚图4.2所示。 图4.2 STC89C52引脚图STC89C52单片机的参数特性如下。1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051;2. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机);3.工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可达48MHz;4. 用户应用程序空间为8K字节;5. 片上集成512 字节RAM;6. 通用I/O 口(32 个),复位后为:P0/P1/

46、P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻;7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片;8. 具有EEPROM 功能;9. 共3 个16 位定时器/计数器。即定时器T0、T1、T2;10.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒;11. 通用异步串行口(UART),还可用定时器软件实现多个UART;12. 工作温度范围:

47、-40+85(工业级)/075(商业级);13. PDIP封装。4.2.2 控制系统设计控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单片机的可以的最小配置系统)。STC89C52的最小系统包括了外界时钟电路和复位电路,选定一定数量的IO口作为控制口控制外部的各种器件和数据的输出。根据功能选择一定的单片机端口添加外围的器件,具体电路如图4.2所示。在该系统中,P0和P2口主要用作LED显示数据的控制输出,P1口的动能是输出译码的原始数据,P0口作为I/O口输出的时候时 输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态)。也就是说P0 口不能真正的输出高电平,

48、给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。具体接法为:P1口的前四位接到由两个74HC138组成的4-16译码器的输入端,译码器一直工作在译码状态,P0和P2口直接连接点阵屏的引脚,P3.0和P3.1口分别接两个独立按键,具体的单片机部分的电路如图4.3所示。图4.3 最小系统 4.3 译码电路 译码电路的功能是为了解决单片机I/O端口不足。在本课题中用到了译码器 74HC138。如图4.4所示74HC138的引脚图。74HC138 作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统,在高性能存贮器系统中,用这种译码器可以提

49、高译码系统的效率。将快速赋能电路用于高速存贮器时,译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器所引起的有效系统延迟可以忽略不计。74HC138 按照三位二进制输入码和赋能输入条件,从8 个输出端中译出一个低电平输出。两个低电平有效的赋能输入端和一个高电平有效的赋能输入端减少了扩展所需要的外接门或倒相器,扩展成24 线译码器不需外接门;扩展成32 线译码器,只需要接一个外接倒相器。在解调器应用中,赋能输入端可用作数据输入端。其工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C

50、)的二进制编码在一个对应的输出端以低电平译出。利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。如表4.1 74HC138的真值表所示。 图4.4 74HC138引脚图表4.1 74HC138真值表 由于单片机的IO端口有限,所以这里选用两片74HC138级联成4线-16线译码电路,点阵的行引脚刚好对应一个IO口具体的电路连接如图4.5所示。图 4.5 4线-16线译码电路4.4 驱动电路 4.4.1 行驱动电路 发光二极管,LED(Light Emitting Diodes),即是在在某些半导体材料的PN结中,注入的少数载流子

51、与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。单片机P1口低4位经4-16译码电路后生成16行选通信号,直接与点阵的行引脚相连,由于74HC138的输出电流可达25mA,所以足够驱动LED点亮。具体电路如图4.6所示。图4.6 行驱动电路4.4.2 列驱动电路列驱动使用单片机的P0口和P2口直接输出字模的高8位和低8位,送入2个74HC573使用锁存功能且高电平有效,由于P0口作输出,所以接了一个10K上拉电阻。当数据有P0口,P2口送入74HC573

52、时,使用锁存功能并提供驱动LED的电压,使一列LED处于高或低电平。如图4.7所示。 图4.7 列驱动电74HC573为八进制3态非反转透明锁存器,属于高性能硅门CMOS器件。如图4.8所示为74HC573引脚图。输入是与标准CMOS输出兼容的。当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。1D8D为数据输入端,1Q8Q为数据输出端。如表4.2 74HC573真值表所示。图4.8 74HC573引脚图 表4.2 74HC573真值表4.5电源电路 电源电压的设计主要是针对系统要求的不同工作电压进行电源分配,一般

53、有两种方法,一种是多电源方案,一种是单电源方案。 在设计一般单片机控制器时,主要困难常常找不到工作于同一电压电源的整套期间。在许多低压供电系统既用5V电压的器件又用到3V的器件,这时需要多电源方案。而5V与3V的接口是首先应该解决的问题,3V电压可以从5V电压得到,只需采用三端稳压芯片7803即可,同样5V的电压也可以通过三端稳压芯片7805得到,我们可以通过变压器供电的方式得到系统电源,也可以通过简单蓄电池作为控制器的电源,由于本设计只用到5V电压,所以只用到了7805,如图所示是该系统的电源电路的设计原理图。7805三端稳压器,三端稳压集成电路是一种串联调整式稳压器,这个系列的稳压集成电路

54、的最大输出电流为1.5A,最大输入电压为18V,对于输入电压低于该期间稳压值的情况,三端稳压集成电路的输出也会低于稳压值,并且将无法起到稳压的作用,如果输入电压达到稳压值,并且小于它的最大允许电压,那么三端稳压电路将会把输出严格控制在稳压值出,起到稳压的作用。所以在本设计中采用三端稳压集成电路来提供多电源电压。另外,本设计中由于只点亮一个16*16的点阵,所以采用了9V的蓄电池作为输入来供电。电路图如图4.9所示。图4.9 电源电路25第五章 系统硬件设计第5章 系统软件设计5.1 程序设计 对比C语言和汇编语言,虽然C语言编写的程序生成代码效率比汇编低,但是C语言有很多突出的特点:C语言简洁

55、、可以直接操作计算机硬件、可移植性好、表达能力强、可以进行结构话程序设计等。所以系统软件采用C语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现串口通信,静态显示,动态显示三大功能。通信程序接收上位机数据,交给主程序处理再通过控制程序选择不同的显示程序进行显示。程序开始时首先必须对单片机进行初始化,其中初始化的内容包括:IO口功能的设定等。初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了两个外部中断源,外部中断源由按键的电平变化触发,外部中断主要功能是选择LED点阵显示屏的显示状态是静态显示还是动态显示。中断程序设定了LED点阵显示屏所要显示的内容和显示的

56、方式,最后执行的是各种显示程序。按照设定的方式和内容显示出所需要的内容。主函数流程图如图5.1所示。 开 始 系统初始从显示数组读取数据到显示寄存读取显示控制命令选择显示调用相应显示程序图5.1 主函数流程图5.1.1 静态显示程序 鉴于整个课题都围绕于点阵的显示,所以程序按照显示方式的不同进行分块,对于静态显示模块,首先是设计好静态显示的字模字库,由于每32个字节刚好显示一个汉字,所以程序中每32个字节一组进行字模的读取,通过一些判断语句来具体判断显示哪个汉字。在静态显示的同时让字库中的字循环翻页显示,具体的流程图如图5.2所示。 开 始 判断i,zi32,z100取第一个字 j16i64,

57、z100取第二个字i96,z100取第三个字NY发送一列数据行扫描显示+i 图5.2 静态流程图5.1.2 动态扫描程序点阵的动态显示有多种,包括左移,右移,上移,下移,基本的实现原理是相似的,所以本课题中只选用了左移一种显示方式。动态显示与静态显示的区别前面已经讲过,具体的编程之间的差别在于静态是固定的32个字节为一个字,但是动态显示每次选用的字模为之前的32个字节一次向后移动一位,比如之前是032,再次选用字模的数组为133,如此以此往后移。通过扫描信号的一次扫描,由于每次循环的时间很短,视觉停留就会让眼睛能够看到汉字从右到左的移动。具体的流程图如图5.3所示。 开 始移位次数是否 为16

58、显示数组元素在数组中的位置前移一位 读入显示字模数组 进行行扫描显示 NY图5.3 动态流程图27第六章 系统调试第6章 系统调试实物完成后必须对其进行调试,检查设计功能是否实现了。软件硬件完成后开始进行调试。调试可分为硬件调试,软件调试和系统联合调试。6.1 系统硬件部分调试方法硬件调试主要是调试各部分的焊接是否合格和各芯片的输出输入电压是否符合设计要求,最后测试各硬件部分能否完成设计功能。因此把硬件调试按照以下两部分分步来进行。 1.测试所有焊点是否有短路和虚焊的现象存在; 2.通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内。 由于最重要的显示系统功能的测试需要软件配合所以在硬件

59、调试部分只测试单片机复位电平,功能部分测试放在系统联合调试部分来完成。6.1.1 短路与虚焊检测检测工具为万用表,使用万用表的短路报警功能,逐个测试相临的两个焊点检测是否短路。按照电路图检测需要连接的两点是否短路来检测是否已经连接上,以此来检测虚焊的情况。检测和修改完成后为下一步通电检测排除了短路的危险和由于虚焊引起检测结果不真实的麻烦。6.1.2 上电测试本系统采用的蓄电池经过电源电路之后供电,所以电源输入为5V。显示系统中单片机、译码器,锁存器,驱动电路的电源电压均要求为5V所以可同时直接接入。上电后首先观察电路是否有过热,异味,冒烟的现象出现。经过观察,没有这些现象出现。然后测试各器件的

60、电源,接地及一些电平应该固定的端口的电压。测试的结果为:各器件电源端在4.3V4.8V之间满足器件的电源电压要求,单片机端口在未接负载时端口电压为4.5V。6.2 系统软件调试方法由于已经进行了硬件调试,所以软件调试主要是软件编译和将各功能块程序分别写入以验证其功能的可实现性。在进行功能调试前必须用KEIL C对所有程序进行编译,编译成功生产可执行的.hex后方可进行功能测试。6.3 系统联合调试及结果 经过硬件调试和软件调试,排除了硬件的连接问题和验证了程序的可实现性。其余功能的软件便可以在此基础上调试验证其功能的正确性。联合调试的具体方法如下。 1.编写一个逐点扫描的显示程序,再结合硬件电

61、路运行。这样做的目的在于检测各器件是否能够正常运行和显示屏的各个LED灯是否有损坏。结果为各器件显示良好。 2.将静态显示子程序与动态显示程序结合硬件电路进行调试。系统运行时显示图像比较清晰,各动态显示效果也能够实现。但显示存在两个问题。一是发光点的下方会出现一个很微弱的亮点,影响了整体的显示效果。二是同一列的LED灯被点亮的数量与其亮度出反比,即如果同一列的灯都被点亮则亮度比只点亮几个时要暗一点。6.4 调试结果分析对调试中出现的问题进行了分析,得出以下原因和修改办法。1.在软硬件联合调试的过程中,原本编译没有错误的程序却无法实现功能,在从新检查程序之后发现,程序中的循环次数和字模的数组个数没有得到统一,经过调整之后,得到改正。2.在多次

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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