《一位LED数码管显示0-9》

2024-06-14

《一位LED数码管显示0-9》(精选3篇)

篇1:《一位LED数码管显示0-9》

成都理工大学工程技术学院

单片微机原理及应用课程设计

《一位LED数码管显示0-9》

学生姓名:

号:

业:

级:

指导教师:

完成日期:

一 实验目的与任务…………………………………2 二 实验要求…………………………………………2 三 实验内容…………………………...……………2 四 元器件清单………………………………………2 五 LED数码管的结构及工作原理…………………2 六 关于PLC控制LDE介绍………………………4 七 原理图绘制说明…………………………………5 八 流程图绘制以及说明……………………………9 九 电路原理图与仿真………………………………10 十 源程序……………………………………………12 十一 心得体会………………………………………12 十二 参考文献………………………………………13

一、实验与任务

结合实际情况,编程设计、布线、程序调试、检查与运行,完成一个与接近实际工程项目的课题,以培养学生的实际操作能力,适应生产一线工作的需要。做到能检查出错误,熟练解决问题;对设备进行全面维修。通过实训对PLC的组成、工作原理、现场调试以及基于网络化工作模式的基本配置与应用等有一个一系列的认识和提高。

利用51单片机、1个独立按键及1位7段数码管等器件,设计一个单片机输入显示系统,要求每按一下独立按键数码管显示数据加1(数码管初始值设为0,计到9后再加1,则数码管显示0)。

本次设计采用12MHz的晶体振荡器为单片机提供振荡周期,外加独立按键,复位电路和显示电路组成。

二、实验要求

1、了解七段LED数码管的结构、分类以及数码管的显示码。

2、学习1位LED数码管静态显示与动态显示的编程方法。

3、掌握可编程序控制器技术应用过程中的一些基本技能。

4、了解可编程控制器的装备、调试的全过程。

三、实验内容

1、练习设计、连接、调试控制电路;

2、学习PLC程序编程;

四、元器件清单

从PROTUES库中选择元器件(1)AT89C51;单片机。(2)RES、RX8;电阻、8排阻。

(3)7SEG-COM-CAT-BLUE;带公共端共阴极七段蓝色数码管。(4)CAP/CAP-ELEC;电容、电解电容。(5)CRYSTAL:晶振。

五、LED数码管的结构及工作原理 led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位0,1,2,3,4,5,6,8,10位等等....,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图1

图1 10引脚的LED数码管

图2 LED数码管引脚定义

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

A、静态显示驱动:

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O埠进行驱动,或者使用如BCD码二-十进位*器*进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O埠多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。故实际应用时必须增加*驱动器进行驱动,增加了硬体电路的复杂性。B、动态显示驱动:

数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp ”的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。

透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。

六、关于PLC控制LED介绍

PLC可编程控制器:它采用一类可编程的存储器,用于其内部存储程序、执行逻辑运算、顺序控制、定时、计数与算数操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。

用PLC控制LED直接进行数据显示,可以降低成本,使得数据显示直观。传统数显有两种方法:

1、由PLC编制程序进行译码,来控制显示a-g段;

2、利用 译码组合电路产生a-g各段译码信号实现LED数码管显示。前一种方法逻辑译码关系复杂,后一种方法译码电路冗长,都不利于显示的实现。传统数显逻辑译码关系复杂,而用PLC的位组合元件和译码功能指令方法来实现LED数显.前一种方法将表示十进制数的4位BCD码的位元件成组使用,形成位组合元件数显;后一种方法用7段译码指令把指定元件的低4位对应的十六进制数译码后,驱动数显.这两种方法逻辑简单,易于理解,便于实现。

设计任务:LED数码管显示:0到9

七、原理图绘制说明

本次设计主要用到单片机AT89C51、晶振时序电路。AT89C51是一种带4KB闪烁可编程可擦出只读存储器的低电压、高性能CMOS微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微处理器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案,AT89C51的管脚分配(如图1)。

图1 AT89C51芯片及管脚图

AT89C51单片机主要由4个输入输出端口(P0口、P1口、P2口、P3口)及个控制引脚组成的,本次设计用到P1、P2的部分引脚,及18、19脚外接晶振电容为单片机提供时钟,9管脚为复位引脚,外接复位电路。

晶振时序电路:XTAL1和XTAL2分别为片内反相放大器的输入和输出端,当单片机采用外部时钟信号时,前者接地,后者引入外部输入信号,本次设计采用12M的石英晶体振荡器为单片机提供时钟(如图2)。

图2 AT89C51的晶振时序电路图

本次设计的原理图是在PROTEUS ISIS中绘制的,其工作界面分为原理图编辑窗口(Editing window)、预览窗口(Overview window)和工具栏。

1、新建*.dsn 打开绘图界面后,首先新建一个绘图文件,选择“【文件】——【新建设计】”,并保存成.dsn型文件。

2、绘制原理图

6(1)添加元器件:元件拾取共有两种办法,一种是按类别查找和拾取元件,另一种是直接查找和拾取元件。我采用的是前一种方法,元件通常以其英文名称或器件代号在库中存放。我们在取一个元件时,首先要清楚它属于哪一大类,然后还要知道它归属哪一子类,这样就缩小了查找范围,然后在子类所列出的元件中逐个查找,根据显示的元件符号、参数来判断是否找到了所需要的元件。双击找到的元件名,该元件便拾取到编辑界面中了。右侧列表中自上而下分别为元件图形和元件封装。具体如图3所示:

图3 分类拾取元件示意图

(2)元件的放置

在原理图编辑区的蓝色方框内,单击鼠标左键即完成元件的释放。具体如图4所示:

图4 元件的放置示意图

(3)电路连线

PROTEUS的连线是非常智能的,它会判断你下一步的操作是否想连线从而自动连线,而不需要选择连线的操作,只需用鼠标左键单击编辑区元件的一个端点拖动到要连接的另外一个元件的端点,先松开左键后再单击鼠标左键,即完成一根连线。如果要删除一根连线,右键双击连线即可。根据设计完成连线后即可得到完整的电路原理图,具体如图5:

图5 连线后的完整电路原理图

八、流程图绘制以及说明

主程序设计说明

主程序主要分为四部分,包括复位电路部分、独立按键的判别部分、单片机控制主程序部分和译码显示部分,模块流程图如图6所示:

图6 数码管显示程序流程图

九、电路原理图与仿真

1、Hex文件的导入过程

在仿真前,须先在KEIL4中生成.HEX文件。编译完源程序并且没有错误后,选择“Project-Options for Target ‘Target1’-Output”,在“Create HEX File”前面的空挑勾,再“确定”,即可生成HEX文件,如图7所示 :

图7 生成HEX文件示意图

在进入PROTEUS ISIS中,双击AT89C51芯片,出现如图8所示的对话框。在“Program File”一项中查找“seg.hex”文件的路径并加上该文件即可开始仿真,如图8所示:

图8 keil的seg.hex文件载入单片机的示意图

2.在导入hex文件后,便可运行该设计系统,打开仿真开关,显示如图

十、源程序清单

org 0000h

sjmp main

org 000bh

sjmp t0_isr

org 0030h main:clr a

mov dptr,#table

movc a,@a+dptr

mov p0,a

mov tmod,#01h

mov th0,#0d8h

mov tl0,#0efh

setb et0

setb ea

setb tr0 pd: cjne r0,#100,$

inc dptr

clr a

movc a,@a+dptr

cjne a,#00h,aaa

mov dptr,#table

;如果花样数据完应重新循环

clr a

movc a,@a+dptr aaa: mov p0,a

mov r0,#00h

sjmp pd t0_isr:

clr tr0

mov th0,#0d8h

mov tl0,#0efh

inc r0

setb tr0

reti table:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h

end

十一、心得体会

通过此次课程设计,使我更加扎实的掌握了有关单片机知识,用汇编语言在KEIL4中编程,在PROTEUS中绘制原理图并进行仿真,通过对这两个软件的学习,了解了其功能的强大,掌握了AT89C51的内部结构及工作原理,对于我们以后的 学习和实践有很大的指导意义,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。此次设计也让我明白了团队精神的重要性,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。

十一、参考文献

[1]高钦和.可编程控制器应用技术与设计实例.北京:人民邮电出版社,2004 [2]虞鹤松编.可编程序控制器原理及应用.南京:东南大学出版社,1995 [3]田庭主编.常用可编程序控制器编程器及编程软件使用手册.北京:机械工业出版社,1994

篇2:《一位LED数码管显示0-9》

作者简介作者简介:蒋宏伟(1967-),男,江苏省昆山第二中等专业学校高级教师,研究方向为计算机程序设计、单片机应用。1LED数码管多位动态显示教学难点

LED数码管是单片机控制系统中最常见的显示设备之一,它具有亮度高、价格低、寿命长、对电流和电压要求低、与单片机连接方便等诸多优点。但是LED数码管又是占用单片机端口资源的“大户”。为了克服LED数码管这个致命的缺点,在实际应用时会想很多办法,数码管多位动态显示便是其中巧妙的方法之一。同时还可以运用各种I/O端口扩展的方法,让数码管多位动态显示以更加节省资源。但是正因为这个“动态”,给其原理的理解增加了许多难度,如果再和各种端口扩展结合在一起,就让学生更难以理解。多位数码管动态显示与各种端口扩展结合在一起,注定了硬件结构的千变万化。如果在教学中不注重让学生理解本质原理,而是针对某一固定的硬件背几段程序,这种教学极不利于学生今后的工作。因此,必须通过合理的教学设计,特别是运用信息技术手段突破教学难点,让学生真正地掌握基本原理,并适应工作中的各种变化。

2虚拟实验对传统实验的突破

2.1实验在单片机教学中的地位

“单片机原理及应用”是一门理论性和实践性都很强的课程。戴尔的“经验之塔”理论指出,最底层的经验即做的经验是最直接最具体的经验,越往上升越抽象。教育应从具体经验入手,逐步过渡到抽象经验,有效的教学方法,应首先给学生丰富的具体经验。单片机课程实验可以让学生获得丰富的直接体验,是学习单片机课程的重要内容。

2.2单片机课程传统实验教学方式的弊端

实际教学中,传统的实验方法存在许多问题。首先,因实验设备数量有限,教学中只能分组进行实验,组内成员间相互依赖性较强,不利于培养全体学生的动手能力、创新能力和综合运用知识的能力;其次,实验只能在实验室中进行;往往是以教师为中心,学生在规定的时间内,用统一的模式,按照指导书上规定的步骤做相同的验证式实验,而在课前预习和课后作业阶段一般也只能“纸上谈兵”,这不利于激发学生的学习兴趣和主观能动性;最重要的是传统的实验箱硬件结构固定,使得教师很难根据教学要求由浅入深地灵活重组和设计实验,对于硬件上的新变化、新技术,更难以应对;另外,硬件的损耗、故障等,都会影响实验的效果,这不利于教学的组织,对学生理解原理和学习知识造成了干扰。

2.3运用虚拟实验能够突破传统实验的束缚

虚拟实验是现代信息技术发展的产物,虚拟实验室的开发与应用将对实验教学产生革命性影响。

奥苏伯尔的“认知结构迁移”理论提出了影响迁移的认识结构的3个主要变量,即可利用性、可辨别性和稳定性。可利用性是指在面对新知识的学习时,学习者原有认知结构中是否具有用来同化新知识的适当观念;可辨别性是指面对新知识的学习时,学习者能否清晰分辨新旧知识间的异同;稳定性是指面对新知识的学习时,用来同化新知识的原有知识是否已被牢固掌握。学生在某一领域的认知结构越具有可利用性、可辨别性和稳定性,就越容易导致正迁移。虚拟现实技术及相关技术的发展水平已使其可以胜任对真实实验室的模拟。虚拟实验系统的虚拟性、实践性、灵活性,使其在建立概念、弄清原理、培养解决问题的方法和能力方面具备了实际实验所不具备的某些特殊优势。通过虚拟实验室反复实验所获得的体验,可以顺利地迁移到真实设备上。

Proteus是世界上著名的EDA工具,它实现了从原理图、代码调试到单片机与外围电路协同仿真,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。运用Proteus 构建虚拟实验室,实现了拥有一台PC机就拥有一间实验室的梦想。它可以将复杂的教学问题进行分解,可以将不便观察的现象仿真演示,可以将实验从实验室扩展到学生课前预习和家庭作业中,充分发挥了信息化教学的作用。

3虚拟实验在LED数码管多位动态显示教学中应用的难点LED数码管多位动态显示原理和相应的端口扩展方法,是学生较难掌握的知识难点。在教学过程中,如果能恰当地利用虚拟实验易于观察、变化灵活的特点,对教学知识点进行合理分解,每个知识点均配以相应的实验,在所有知识难点都得以突破后,再进行综合运用和真实实验,则会取得很好的教学效果。

3.1运用虚拟实验认识“位选”概念

数码管多位动态显示的硬件连接特点是将各个数码管字型码端口连接在一起,理论上从单片机中送出的字型码会被所有数码管接收。在这种情况下如何让每只数码管分别显示不同的字型,是学生难于理解的第一个问题,为此设计如图1所示的实验。通过程序送出字型码的同时,用开关手动控制每只数码管公共端的高低电平,让学生清楚地看到字型码有选择地送达不同数码管的过程,从而弄清很重要的“位选”概念。

图1用虚拟实验中认识“位选”

3.2运用虚拟实验感受“动态”的原理

在了解了“位选”的概念后学生又会有另一个疑惑:为什么数码管明明是轮流显示的,可看上去却同时显示?这时再通过另一个虚拟实验(见图2),用程序去控制公共端电平的切换,并逐渐加快电平切换的速度,学生最终会看到一个奇迹,尽管数码管是轮流显示的,但最终看上去却同时稳定地显示了。在观察到上述现象后,再向学生揭示人眼的“视觉暂留”现象,从而帮助理解这个“动态”的概念,为进一步学习控制程序打下基础。

图2用虚拟实验感受“动态”

图3用虚拟实验体验端口扩展

图4用虚拟实验培养综合运用能力

3.3运用虚拟实验体验端口扩展方法

篇3:《一位LED数码管显示0-9》

发光二极管无论在工业生产、交通运输、还是仪器仪表以及家用电器上都有广泛的用途[1]。数码显示控制方式通常可以分为2类:①直接利用微处理器静态或动态扫描方式实现;②利用微处理器和专用显示控制驱动芯片实现。由于利用专用芯片可以减少对微处理器资源的占用,简化系统的设计,因此,专用显示控制芯片得到了广泛的应用,并且出现了多种多功能显示控制芯片[2,3],这些芯片大多只具有将BCD码译成显示段码的功能。因此,要将二进制码在数码管上显示,必须先将二进制码(BIN)转换成二-十进制码(BCD)然后再送到专用显示控制芯片进行显示。BIN码与BCD码的相互转换较多是采用软件算法的方式实现,最传统的是用DAA调节指令实现,但其效率较低,也有各种新的转换算法提出使转换效率得到提高[4,5,6],但还是不能满足一些实时应用的要求。

本研究提出一种具有BIN码-BCD码转换功能的LED数码管显示控制器,以一种新的以简单移位为基础的转换算法,设计BIN码-BCD码转换电路。

1 BIN码-BCD码转换算法与电路结构

1.1 BIN码-BCD码转换算法

对于一个n位二进制码bn-1bn-2…b1b0,其在十进制编码方式下的值为:

ΝD=i=0n-1bi×2i=bn-1×2n-1+bn-2×2n-2++b1×21+b0(1)

把上式写成套乘的形式:

ND={…{[(bn-1×2+bn-2)

×2+bn-3]×2+…}×2+b1}×2+b0 (2)

式中的每项乘2,相当于将寄存器中的二进制码左移1位,这就意味着,利用移位寄存器可以完成二进制码与8421BCD码的转换。设有4N级移位寄存器,从右至左分成4级一组,其中每一组分别代表BCD码中的各位数字,如图1所示,被变换的二进制数以串行的方式从左移的移位寄存器送入,并且高位在前。

先考虑其中一组BIN-BCD码的变换情况。设每一组数码(4位)左移1位前的状态为原态Sn,左移1位后的状态为次态Sn+1。数码组左移1位相当于数码组的值被乘以2,所以有以下公式:

Sn+1=2Sn+Xn (3)

式中 Xn—串行输入的二进制码元。

当原态Sn小于5时,能满足上式;当Sn=5、6、7时,左移1位,其次态Sn+1将超过9,对一个BCD码来说,这样的状态属于禁用状态;当Sn=8、9时,左移1位,则会向高1位的BCD码输入一个进位的信号F。由于BCD码和二进制码权的不一致性,当发生进位时,虽然码元只是左移1位,但次态Sn+1将减少6。基于上面这两种情况,在BIN-BCD码转换时需要对转换结果加以校正。校正过程如下:当Sn≥5时,让Sn先加上3,然后再左移1位,则次态:

Sn+1=2(Sn+3)+Xn=2Sn+6+Xn (4)

正好补偿由于进位而减少的数值,并且向后一个变换单元送入一个进位信号F,此法称为“加3移位法”[7,8,9]。

1.2 BIN-BCD码转换电路的设计

由上述算法可以看到转换电路主要可以由倍乘调整逻辑电路及移位寄存电路构成,以下分别介绍倍乘调整逻辑电路和转换电路的结构。

倍乘调整逻辑电路,如图2所示,由比较器、多路选择器、四位二进制加法器构成。BCD码X与[4]10相比较,如大于[4]10,则与[0011]2相加,否则与[0000]2相加。由于BCD码最大值为[1001]2,与[0011]2相加不会向高位进位,因此倍乘调整逻辑之间没有组间的进位传播,相互独立。

转换电路的结构,如图3所示,由倍乘调整逻辑电路及移位寄存电路构成,电路结构简单,逻辑规整,转换速度快,对于n位的BIN码仅需要n个时钟脉冲即可完成转换。

2具有数制转换功能的数码管显示控制器的总体结构

该LED数码管显示控制器具有同步串行接口,通过4个端子(DIN、CLK、LOAD、Slt-con)与外接控制器相连接;能同时控制8位共阴极数码管或64个发光二极管;可以实现BIN-BCD码的转换。根据控制寄存器的内容,该显示控制器可以实现多种工作模式:睡眠模式、显示测试模式、正常模式;实现扫描位数的控制;利用数控脉宽调制电路实现32级灰度控制;实现BCD译码/不译码数字控制。在控制器内部具有8×8双口RAM和1个控制寄存器组,均可独立寻址,可在不需要重写整个显示器的情况下,对每位数字单独控制并刷新,或改变工作状态。此外,该控制器还提供复位信号。

LED数码管显示控制器的总体结构,如图4所示。该控制器由BIN-BCD码转换电路、同步串行接口电路、地址译码器、8×8双口RAM、控制寄存器组、数控脉宽调制电路、动态扫描电路和数据分配器构成。

同步串行接口电路主要实现与外接微控制器的接口;地址译码器对输入的串行地址进行地址译码;8×8双口RAM用于保存对应数码管的显示内容,每一个存储单元均可单独寻址,即对每位数字可以单独控制并刷新;控制寄存器组用于寄存显示控制器的各个控制字;数控脉宽调制电路用于实现对数码管显示的灰度控制;动态扫描电路根据双口RAM、控制寄存器组中的内容最终实现对数码管的显示控制。数据分配器根据Slt-con信号实现数据的分配,如果是BIN码,则发送到BIN-BCD码转换电路,否则,发送到同步串行接口电路。

3 显示控制器其他功能模块的设计

3.1 同步串行接口电路

同步串行接口电路由16位串入并出的移位寄存器构成。在时钟信号CLK的上升沿串行数据从DIN移入内部的16位移位寄存器,以16位数据作为一个数据帧,数据帧的格式,如表1所示。在信号Load的上升沿将移位寄存器中D0~D7的数据存入地址D8~D11对应的存储单元中。数据传送的时序图,如图5所示。

3.2 8×8双口RAM和控制寄存器组

8×8双口RAM电路结构,如图6所示,主要由8个8位的寄存器及3~8的多路选择器构成。

寄存器。用来作为构成8×8双口RAM的基本存储单元,带有使能端(EN)、锁存端(LATCH)和复位端(RST);使能信号高电平有效,在使能信号有效时,利用锁存信号的上升沿,将输入数据锁存。使能信号由4~16线地址译码器提供,双口RAM地址空间为:0000~0111。复位信号高电平有效,复位信号将寄存器清零。

多路选择器。根据输入的读地址信号(rdaddr[2..0])将RAM中的数据输出。

控制寄存器组由几个与RAM中相同的寄存器构成,其使能信号由4~16线地址译码器提供,其地址空间为1000~1111;由于控制寄存器组由5个寄存器组成,只占用其地址空间中的5个地址,余下3个保留。控制寄存器的输出送入动态扫描电路,决定显示控制器的工作模式及功能。

3.3 数控脉宽调制电路

这是一个输出频率不变的脉宽数控调制电路,其频率决定数码管的扫描频率。此电路由可预置计数器、原码/反码变换电路和T触发器构成,其原理图,如图7所示。

原码/反码变换电路。将输入的预置信号根据控制信号作相应变换。datain[4..0]为5位预置数输入信号;ctl为原码/反码变换电路的控制信号,当ctl=‘0’时输出为原码信号,当ctl=‘1’输出为反码信号。

可预置计数器。这是一个可预置的5位二进制计数器;over为计数溢出信号,load预置数装载信号。

T触发器。每来1个时钟脉冲,输出翻转1次。

3.4 动态扫描电路

该电路能够根据控制寄存器的设定值完成各种模式的扫描显示功能:①根据设定值扫描1~8位数码管;②根据设定值进行睡眠模式、测试模式、正常模式显示。该电路由显示状态机、位选译码电路及显示模式控制电路构成,其结构如图8所示。

显示状态机由一个模可变的计数器构成,对扫描时钟进行计数,其计数输出作为显示状态,同时也作为双口RAM的读地址。位选译码电路对显示状态机的输出进行位选译码,其输出控制数码管选通与否。显示模式控制电路根据控制寄存器的内容实现各种模式的显示控制。动态扫描电路各信号功能及意义如下:

(1) reset。位复位信号,复位以后输出信号segcodeout为“0000-0000”,addrout=“000”。

(2) clk。扫描时钟信号,扫描频率在1 024~4 096之间。

(3) shutdown。睡眠显示模式控制信号,高电平有效。该信号有效时进入睡眠显示模式。

(4) test。测试显示模式控制信号,高电平有效。该信号有效时进入测试显示模式。

(5) bcdslt BCD。译码控制信号,高电平有效。该信号有效时对输入信号(segcodein)的低四位进行BCD码译码后输出,否则将输入信号(segcodein)直接输出。

(6) scanlimit。扫描位数控制信号,这组输入信号控制数码管显示的位数。

(7) segcodein。数码管段码输入信号。

(8) segcodeout。数码管段码输出信号。

(9) bitsltout。数码管位选信号。

(10) addrout。 8×8双口RAM地址信号。

4 实现与验证

本研究选用Altera公司的Cyclone EP2C5T144C83作为目标器件,用VHDL语言描述了整个设计,并在Quartus II开发系统中完成了整个设计的输入、功能仿真、时序仿真,最后生成了编程文件。经实际测试,电路达到了预定的设计目标。其最终输出的仿真波形,如图9所示。

5 结束语

本研究讨论了一种新的具有数制转换功能的LED数码管显示控制器的设计,分析了一种新的BIN-BCD码的转换算法,以简单的硬件电路实现了BIN-BCD码的转换。该电路具有电路简单、逻辑规整、转换速度高、易于扩展等特点,非常适合于可编程逻辑器件的实现。本研究还给出了数码管显示控制器的总体结构和各个功能模块的电路结构及相关的信号时序,并用VHDL语言描述了整个设计。最后,在Altera公司的Cyclone EP2C5T144C8器件上实现了该数码管显示控制器,并通过了硬件的测试。

摘要:介绍了一种具有数制转换功能的LED数码管显示控制器的设计。用VHDL描述了整个设计结构,并在Altera公司的Cyclone EP2C5T144C8器件上实现了该数码管显示控制器。该显示控制器具有二进制(BIN)码与二-十进制(BCD)码转换功能,转换电路具有结构简单、模块性好、易于扩展、转换速度高等特点。同时显示控制器有多种工作模式;可以最多控制8位7段LED数码管的显示或者64个单独的发光二极管;利用数控脉宽调制电路实现32级灰度控制。

关键词:发光二极管,二进制码,二-十进制码,EP2C5T144C8,显示控制

参考文献

[1]冯寿鹏,张大鹏.基于嵌入式系统的LED信息显示技术研究[J].现代电子技术,2006,29(23):158-160.

[2]曹建生,毕新熙,李娜,等.MAX7219在串行LED显示驱动器上的应用[J].科技信息:学术版,2007(21):350-410.

[3]熊为霞,谭文若.串行接口LED数码管及键盘管理器件ZLG7289A的原理与应用[J].国外电子元器件,2004(4):62-66.

[4]ARAZI B,NACCACHE D.Binary-to-decimal conversionbased on the divisibility of 28-1 by 5[J].Electronic Let-ters,1992,28(23):2151-2152.

[5]MUKHOPADHYAY S.An optical conversion system:frombinary to decimal and decimal to binary[J].Optics Com-munications,1990,76(5-6):309-312.

[6]邓勇,刘琪.智能仪表多字节二进制数转换BCD码[J].电子产品世界,1999(12):33.

[7]陈龙,樊晓桠.BCD码和二进制码转换的硬件实现[J].微电子学与计算机,2005,22(4):42-44.

[8]王迎春,吉利久.一种基于简单移位的二—十进制相互转换算法[J].电子学报,2003,31(2):1-4.

上一篇:主题班会稿子主持下一篇:学校网站建设的工作总结