江苏畜牧兽医职业技术学院毕业论文(设计)-1-单片机控制数码管显示的设计与实现作者:段丽丽【摘要】随着计算机技术的发展,现代的计算机都是大规模集成电路计算机它们具有功能强、结构紧凑、系统可靠等特点,其发展趋势是巨型化、微型化、网络化及智能化。微型化是计算机发展的重要方向,也就是把计算机的运算器、控制器、存储器、I/O接口四个组成部分集成在一个硅片内,于是就出现了一个以大规模集成电路为主要组成的微型计算机即单片机(SingleChipMicrocomputer)。正是由于单片机技术的发展,才能使LED七段数码管能够在减少驱动器的情况下能够直接被驱动。由于LED数码管显示技术的优势使得它被广泛应用在工业过程控制系统、智能仪表,智能产品等领域。本论文重点介绍了LED(lightemissiondiode)数码管显示技术,并且编写了这种显示技术在单片机中实现的关键编码以及提供了参考原理简图。【关键词】LED技术计算机硬件单片机数码管SCMcontrolofthedigitaldisplayoftheDesignandImplementation【Abstract】Withthedevelopmentofcomputertechnology,moderncomputersarelarge-scaleintegratedcircuitcomputerfunctionstheyhavestrong,compactandreliablesystem,andothercharacteristics,anditsdevelopmenttrendishuge,miniaturization,networkingandintelligent.Micro-computerdevelopmentisanimportantdirection,thatis,thecomputeroperator,controller,memory,I/Ointerfaceinthefourcomponentsoftheintegratedwithinasiliconchip,sotherehavebeenalarge-scaleintegratedcircuitsforThemaincomponentsofthemicro-computerthatisSCM(SingleChipMicrocomputer).ItispreciselybecausethedevelopmentofSCMtechnologytomakedigitalLEDQiduanthedrivetoreducethecasetobedrivendirectly.AsLEDdigitaldisplaytechnologyoftheadvantagesofmakingitwidelyusedinindustrialprocesscontrolsystems,smartinstrumentation,smartproducts,andotherfields.ThispaperfocusesontheLED(lightemissiondiode)displayofdigitaltechnology,andthepreparationofthisdisplaytechnologyinSCMinachievingthekeycodesandtoprovideareferenceprinciplesketch.单片机控制数码管显示的设计与实现-2-【Keywords】LEDtechnology;Computerhardware;scm;Digitalcontrol单片机控制数码管显示的应用面积很广泛,实用性极强,而其的设计是基于嵌入式的控制器设计。嵌入式应用涉及面较广,想要进入嵌入式应用系统的开发,就必须打好嵌入式应用设计与编程基础。本课题是设计单片机最底层设置,通过实现本课题来培养自身嵌入式设计能力锻炼设计者设计一个完整项目的实际思路。本论文共分四章即:基本概念;数码管显示原理;硬件及软件设计部分;总结.1基本概念1.1单片机微型计算机的出现是电子数字计算机广泛应用到人们日常工作、生活领域中去的一个重大的转折点。它已经深入应用到非微型计算机所无法应用的领域,对社会产生了极大的影响。单片机微型计算机是微型计算机发展中的一个重要的分支,它以其独特的结构和性能,越来越普及地应用到国民经济的各个领域。随着大规模、超大规模集成电路技术的发展和计算机微型化的需要,将微型计算机的基本功能部件:中央处理器(CPU)、存储器、输入/输出接口、定时器/计数器、中断系统等多种资源集成在一个半导体芯片上,使得一块集成电路芯片就能构成一个完整的微型计算机。这种集成电路芯片被称为单片微型计算机。由于它的结构及功能均是按照工业控制要求设计的,所以其确切的名称应是单片微型控制器。在单片机的结构设计上,它的硬、软件系统及I/O接口控制能力等方面都有独到之处,具有较强而有效的功能。从其组成、逻辑功能上来看,单片机都具备了微型系统的基本部件。但需要指出的是,单片机毕竟还只是一个芯片,只有在配置了应用系统所需的接口芯片、输入/输出设备后,才能构成使用的单片机应用系统。1.2数码管在单片机应用系统中,显示器是一个不可缺少的人机交互设备之一,是单片机应江苏畜牧兽医职业技术学院毕业论文(设计)-3-用系统中最基本的输出装置。通常需要用显示器显示运行状态以及中间结果等信息,便于人们观察和监视单片机系统的运行状况。而单片机系统中最为常见的显示器是发光二极管数码显示器(简称LED显示器)。LED显示器具有低成本、配置简单、安装方便和寿命长等特点。但显示内容比较有限,一般不能用于显示图形。LED显示器是由若干个发光二极管组成,数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);当发光二极管导通时,相应的一个点或一个笔画发亮。控制不同组合的二极管导通,就能显示出各种字符。2数码管显示原理2.1显示原理数码管显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常是其公共阴极接地当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常是其公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段就被显示。在控制LED数码管过程中,将不同的8位二进制数送到数码管中就可以使数码管显示不同的数字了。在单片机应用系统中,单片机与数码管的连接可以分为静态显示和动态显示。静态显示时,较小的电流能得到较高的亮度且字符不闪烁。在单片机系统设计时,静态显示通常利用单片机的串行口实现。当显示器位数较少时,采用静态显示的方法比较适合。N位静态显示器要求有N*8根I/O口线,占用I/O口线较多。所以在位数较多时往往采用动态显示方式。所谓动态显示方式就是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方法称为位扫描。通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通。要使其稳定显示,必须采用扫描方式,即在某一时刻单片机控制数码管显示的设计与实现-4-只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规律循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。2.2图解(以下为具体图解说扫描法LED的显示原理)江苏畜牧兽医职业技术学院毕业论文(设计)-5-8段数码管一般由8个发光二极管(Llight-emittingdiode,LED)组成,每一个位段就是一个发光二极管。一个8段数码管分别由a、b、c、d、e、f、g位段,外加上一个小数点的位段h(或记为dp)组成。根据公共端所接电平的高低,可分为共阳极和共阴极两种,如图2-1所示。实物外型见图2-2。有时数码管不需要小数点,只有7个位段,称7段数码管。共阴极8段数码管的信号端高电平有效,只要在各个位段上加上相应的信号即可使相应的位段发光,比如:要使a段发光,则在a段加上高电平即可。共阳极的8段数码管则相反,在相应的位段加上低电平即可使该位段发光。因而,一个8段数码管就必须有8位(即1个字节)数据来控制各个位段的亮灭。比如:对共阴极8段数码管,PTA0~7分别接a~g、dp,即PTA=0b011111111时,a段亮;当PTA=0b00000001时,除h位段外,其他位段均亮。如此推算,有几图2-2数码管外形agdfecbh图2-1数码管abcdefgdp(a)共阴极GND(b)共阳极Vccabcdefgdp单片机控制数码管显示的设计与实现-6-个8段数码管,就必须有几个字节的数据来控制各个数码管的亮灭。这样控制虽然简单,却不切实际,MCU也不可能提供这么多的端口用来控制数码管,为此,往往是将几个8段数码管合在一起使用,通过一个称为数据口的8位数据端口来控制段位。而一个8段数码管的公共端,原来接到固定的电平(对共阴极是GND,对共阳极是Vcc),现在接MCU的一个输出引脚,由MCU来控制,通常叫“位选信号”,而把这些由n个数码管合在一起的数码管组称为n连排数码管。这样,MCU的两个8位端口就可以控制一个8连排的数码管。若是要控制更多的数码管,则可以考虑外加一个译码芯片。例如:一个4连排的共阴极数码管,它们的位段信号端(称为数据端)接在一起,可以由MCU的一个8位端口控制,同时还有4个位选信号(称为控制端),用于分别选中要显示数据的数码管,可用MCU另一个端口的4个引脚来控制。如图2-3所示。对于图2-3所示的4连排数码管,利用CS3、CS2、CS1、CS0控制各个数码管的位选信号,每个时刻只能让一个数码管有效,即CS3、CS2、CS1、CS0只能有一个为0,例如令CS3=0,CS2、CS1、CS0=111,则数据线上的数据体现在第一个数码管上,其他则不受影响。要让各个数据管均显示需要的数字,则必须逐个使相应位选信号为0,其他位选信号为1,并将要显示的一位数字送到数据线上。这种方法叫“位图2-34连排共阴极8段数码管CS3abcdefgdpCS2abcdefgdpCS1abcdefgdpCS0abcdefgdp江苏畜牧兽医职业技术学院毕业论文(设计)-7-选线扫描法”。虽然每个时刻只有一个数码管有效,但只要延时适当,由于人眼的“视觉暂留效应”(约100ms左右),看起来则是同时显示的。3硬件及软件设计3.1硬件设计硬件设计的任务是根据总体设计要求,在所选定的单片机类型的基础上,具体确定系统中所用的元器件及系统构成方式。单片机应用系统中可用的各种元器件的种类繁多、功能各异、价格不等,这就为用户在元器件功能、特性等方面的选择提供了较大的自由度。本次设计选用的主控芯片是Freescale公司推出的MC68HC980GP32芯片图3-1给出了一个4连排共阴极8段数码管的编程实例。在硬件连接上,利用MCU的A口控制8个位段(数据),用B口的低四位控制数码管的位选信号。图中,PTA7~0分别接h~a位段,PTB3~0分别过1K电阻与CS3~0位选端相接,这样PTB3就控制最左边一个数码管的显示,PTB0则控制最右边一个数码管的显示。接在位选线上的1K电阻是限流电阻,避免电流过大烧坏数码管。3.2软件设计LED编程汇编语言例图3-1MCU与4连排8段数码管的连接agdfecbhagdfecbhagdfecbhagdfecbhabfCS0CS1CS2cdeghCS3123456789101112PTB3PTA6PTA2PTA7PTA3PTA41K1K1K1KPTA1PTB2PTB1PTA5PTA0PTB0单片机控制数码管显示的设计与实现-8-实例编号:A08路径:\ASM\A08_数码管LED(LEDMain.asm)*----------------