按键状态扫描显示电路的设计与制作

按键状态扫描显示电路的设计与制作
按键状态扫描显示电路的设计与制作

目录

摘要 (1)

按键状态扫描显示电路的设计与制作 (2)

1设计任务及要求 (2)

2系统原理图及说明 (2)

3所用元器件及单元功能说明 (2)

3.1 编码器 (2)

3.2 或门 (4)

3.3 计数器 (5)

3.4 锁存器 (6)

3.5 反相器(非门) (7)

3.6 译码显示芯片 (7)

3.7 七段数码管 (7)

4方案比较及认证 (8)

4.1 方案一 (8)

4.2 方案二 (9)

4.3 方案比较 (10)

5硬件电路的仿真 (11)

5.1 仿真软件 (11)

5.2 仿真过程 (11)

5.3 仿真结果分析 (12)

6电路的制作及调试 (13)

7成果的评估及改进方法 (13)

8总结 (15)

参考文献 (16)

附录1 元件表 (17)

摘要

本次《电子电工技术》课程设计的任务为设计与制作一按键状态扫描显示电路。数字电路的相关内容为本次设计中的主要应用内容。在设计中,使用了编码器,计数器,锁存器,译码显示及七段数码管等数字电路中的常见芯片元器件,并设计出了两套不同的方案进行比较,最终产生了完全符合本次课程设计任务要求的按键状态扫描电路。

借助仿真软件P roteus,成功验证了设计电路的正确性,并制作出了实际电路。

最后,本文对此次课程设计中的收获和体会进行了总结。

关键词:按键扫描仿真制作

按键状态扫描显示电路的设计与制作

1设计任务及要求

本次《电工电子技术》课程设计的任务是“按键状态扫描显示电路”,要求有10个按键输入,分别用0~9十个数字标示。在电路工作过程中,当有键按下时,显示其标识符,并保持显示符直到新的按键作用,并且如果多个按键同时作用,只响应最先作用的按键。

2系统原理图及说明

按任务书要求可知,本次课程设计题目“按键状态扫描显示电路”

的核心单元应分为以下几部分:(1)按键信号输入。即十个按键部分;

(2)编码。将输入的信号进行编码,并输入到下一单元电路。(3)信号保持电路。将最先输入的信号保持在其中,可以考虑有锁存或保持功能的元器件。(4)控制电路。根据编码电路的输出状态,控制信号保持电路的工作状态,由此来控制电路的输入及保持状态;(5)译码显示。将保持的信号译码显示为要求的“0~9”十个字符。由上文分析可知,电路原理如图2.1所示:

图2.1 按键显示电路原理框图

3所用元器件及单元功能说明

3.1编码器

编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。常用的优先编码器有74LS147(10线4线)CD4532(8线三线)等。本次设计中,74LS147单一芯片即可完成工作要求,而C D4532芯片要用两块级联成16-4线编码器,相比来说CD4532较为不便。但是74LS147输出端口是反向输出,

不便于之后的电路的连接,因此,选择使用CD4532芯片进行实验。74LS147引脚图如图3.1.1所示,功能表如表3.1.1所示:

图3.1.1 74LS147引脚图

表3.1.1 74LS147功能表

表3.1.2CD4532功能表

图3.1.2 CD4532逻辑符号

由于本次课程设计题目要求有10个输入端,一块C D4532芯片不满足输入个数的要求,因此,我们可以使用两块CD4532芯片组成一个16-4编码器来满足要求。其电路图如图3.1.3所示。

图3.1.3由两块CD4532芯片组成的16-4编码器

由此,我们就用两块CD4532芯片制成了一个16-4编码电路。这样,在本次实验中的10个按键输入就可以正常编码了。

3.2 或门

74LS32是四2输入或门,常用在各种数字电路以及单片机系统中。表达式为:Y=A+B。其引脚图如图3.2所示。

图3.2 74LS32引脚图

3.3 计数器

计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及J K触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。如果按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。

本次实验中,我们使用的计数器并不需要其计数功能,主要运用的是置数,保持及清零功能。由电路要求,我们选择74LS163同步置数计数器,表3.3为其功能表,图3.3为其引脚图。

表3.3 74LS163功能表

图3.3 74LS163引脚图

3.4 锁存器

锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种

电平状态。只有在有锁存信号时输入的状态被保存到输出,直到下一

个锁存信号。通常只有0和1两个值。典型的逻辑电路是D触发器。由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫锁存器件。本次课程设计电路中需要同时锁存4个输入数据,由此,我们选择锁存器74LS573。74LS573功能表及引脚图如下:

图3.4 74LS573引脚图

表3.4 74LS573功能表

此锁存器一般可以作为数码管的驱动电路,对于数据有锁存功能,当锁存端11脚LE为低电平是,上一次输入的数据在输出端仍然保持,无论输入端输入什么数据都不变,当为高电平是相当于导线输入是什么,输出就是什么。

3.5 反相器(非门)

反相器是可以将输入信号的相位反转180度,这种电路应用在摸拟电路,比如说音频放大,时钟振荡器等。在电子线路设计中,经常要用到反相器。

74LS05为集电极开路输出的六组反相器。其引脚图如下:

图3.5 74LS05引脚图

3.6 译码显示芯片

由于该电路最后的输出需要由7段数码管显示,故需要一个译码显示芯片来帮助实现电路最后的输出端。译码显示芯片,实际上就是一个译码器,通常情况下,驱动7段数码管的译码显示芯片,应选用74LS48。74LS48引脚图如下:

图3.6 74LS48引脚图

3.7 七段数码管

其引脚图如图3.7所示。

图3.7七段数码管引脚图

4方案比较及认证

在设计过程中,输入,编码及最后的译码显示部分,基本上都是固定的形式,在最主要的保持编码及控制部分,有几种方案。

4.1 方案一

图4.1方案一电路原理图

该电路中用到得芯片:两块C D4532编码器芯片,74LS163计数器芯片,74LS05非门,74LS32或门。

左侧十个按键从上到下分别标示9~0,按键左侧接高电平。编码部分使用了两块4532芯片即8-3编码器及三个或门74LS32构成的16-4

编码器。由此产生的编码输入到计数器74LS163中。可知,在没有按键按下的时候,编码器的4个输出端口都为低电平,当有任一按键按下时(按键0不包括,因其并不是通过编码器实现),4个端口必有一个为高电平,则将4个输出口一起接一或非门输入到置数端,由74LS163功能表可知,EN P及ENT端都接低电平,当L D端为低电平时,计数器置数,当L D端为高电平时,计数器保持。可知,“1~9”的按键输入端已可以成功完成功能。而“0”字符的输入端,是借助计数器74LS163的清零端完成的。“0”按键左侧接低电平,右侧端直接接到74LS163的清零端,并且借助上拉电阻同时并接一高电平,保证该按键在未按下时,计数器清零端为高电平,按下时为低电平。该电路中需要时钟信号,若无时钟信号发生器,还需要设计一多谐振荡器产生时钟信号。

由此可知,此电路已经可以很好的完成设计任务要求中的前两个要求了。对于第三个要求,要使多个按键同时作用,只响应最先作用的按键。当几个按键同时作用时,由于计数器是时序逻辑电路,其置数端为同步置数,并且编码器为优先编码器,该电路不一定能满足第三个条件。

4.2 方案二

其电路如图4.2所示。

图4.2方案二电路原理图

该电路所需芯片为:两块8-3编码器芯片C D4532,两块74LS573D

锁存器芯片,74LS48译码显示芯片,74LS05反相器,74LS32或门前半部分的输入及编码部分与方案一基本相同,主要的改动是将方案一中的计数器74LS163换成了两个级联的锁存器74LS573。由74LS573的功能表可知,OE端接低电平,当LE端接高电平时,锁存器处于输入状态即D处输入与对应的Q输出保持一致;而当LE端接低电平时,锁存器处于保持状态,即维持其输出。可知,如果只用满足设计任务中的(1)(2)要求的话,只需一个74LS573芯片即可达成效果,但为了满足条件(3),必须使用两块芯片级联。

当1~9中有按键按下时,编码器的4个输出端口必有至少1个为高电平,则通过3个2输入的或门链接,组成控制单元,输入LE端,即可控制74LS573的工作状态。在按键按下时,编码器的输出信号立刻进入第一个锁存器74LS573中,而由于控制电路中有部分延迟,在信号输入前,第一个锁存器的LE端还没来得及变为低电平,于是最先按下的按键的信号输入了锁存器中,而稍后第一个锁存器L E端变为高电平,阻止了其他信号的输入,第二个锁存器此时LE端处于高电平,即可接受从第一个锁存器传递过来的信号,并将其显示。由此可知,就算有许多按键同时按下,锁存器也只能得到第一个按下的按键的信号。

当按键全部松开后,第一个锁存器的LE端又变为高电平,即接收输入状态,而第二个锁存器的LE端变为低电平,即保持输出的状态,可以保证此次的输入信号一直显示,直到有第二个信号的输入。

0按键虽然独立于其他的按键单独存在,但其工作原理其实还是相同。由于当没有输入的时候,编码器的4个输出即全部为低电平,0按键的只需要改变两个74LS573芯片的工作状态即可完成工作,则0按键直接接在控制电路上,当0按键按下时,两芯片工作状态跟着改变,由此达到电路的设计要求。

4.3 方案比较

由两个方案的分别叙述可知,方案一可以成功完成设计任务中的前两个要求,但在第三个要求上并不能很好的实现,方案二虽然电路较为复杂,但理论上可以很好的完成设计任务的所有要求,因此,我们采取方案二的电路。

5硬件电路的仿真及制作

5.1 仿真软件

在数字电路的仿真中,一般使用的是P ROTUES软件。Proteus软件是英国Labcenter electro nics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。P roteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PC B设计,真正实现了从概念到产品的完整设计。其功能模块包括:智能原理图设计(ISIS);完善的电路仿真功能(Prosp ice);独特的单片机协同仿真功能(VSM);实用的PC B设计平台。课程设计、毕业设计是学生走向就业的重要实践环节。由于P ROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。

5.2 仿真过程

运行Proteus的ISIS软件,在其原理图绘制处安放好各元件,按电路原理图连接电路。电路连接完成后,开始仿真,发现电路无法显示结果,所用的74LS05反相器由于编码器L3端输出的是高阻态,导致无法正常执行反向工作。于是,在反相器的输出端加试着加了个上拉电阻,使该处成为高电平,在有开关按下时,由于反相器输入端为正,输出端为负,电压都加在了上拉电阻上,电路仿真结果正常。其仿真时效果如下图所示:当按下按键4后如图5.2.1所示。

图5.2.1

当按下按键8后如图5.2.2所示。

图5.2.2

5.3 仿真结果分析

当仿真电路处于正常工作状态时,分别点下“0~9”十个按键,电路

中的显示数码管马上显示按下的按键对应的数字,证明设计要求(1)完成。

当按键松手后,之前显示的数字仍然保持,直到下一个按键作用才变化为下一个显示,可知达到设计要求(2)的要求。

若先将某一按键按下并锁住,再按下另一个按键也锁住,此时显示的仍然是第一次按下的按键对应的数字。先松开第一次按下的按键,再松开第二次按下的按键,显示的数字仍然没变,由此可知,在几个按键同时按下时,此电路只能接收第一次按下的按键,即设计要求(3)的要求也满足。

综上所述,仿真电路成功。

5.4电路的制作及调试

电路的制作过程中,为了确保结果正确,在使用各个元件前,应先检查其功能是否正确。当确定元件功能正常后,将元件整齐均匀的分布在电路板上,这样在排线时更加方便。在使用导线前,也要检查其通断状况,避免引导线问题导致电路出现问题。在一切正常的情况下,按电路原理图将导线连接好,接通电源,开始测试电路工作状态。经过测试,可知电路工作结果与仿真结果相同,可知电路制作成功。

6成果的评估及改进方法

本次制作的按键状态扫描显示电路主要是运用数字电路的知识制作出的,其电路及原理较为繁琐。在一般情况下,类似的按键状态扫描显示电路可以用单片机编程制作,其方法更为简单,并且易于制作。除此之外,如果有4*4的矩阵按键开关,可以按以下电路框图制作:

图7.1

7总结

在本次《电工电子技术》课程设计任务的过程中,我收获了很多。

最开始得知自己的题目时,第一眼看上去觉得很简单,只是一个编码电路加一个锁存电路而已。但是,开始深入研究制作时,才慢慢发现要完全满足该设计任务的要求并不是很简单就能达成的。前两天一直苦思冥想,也没得到什么好结果。后来在和同组同学一起讨论的过程中,我们终于发现了一种方案,就是本文中的方案一。虽然这种应用计数器的置数端功能的电路并不能完全达成实验设计的要求,但是它的发现对我们后面的制作有了很大的启发。由于计数器的置数端功能其实就是数据的锁存,我们开始直接用锁存器制作电路。虽然有了思路,但距离真正做出来还是有很大的距离,开始我们一直没考虑到可以使用两个锁存器去达到数据输入和数据锁定的效果。最后还是在巧合之下,做出了我们的第二套方案,也就是本文中的方案二。最终也是用这个方案,完成了实物电路的设计。

在《电工电子技术》课程设计的这两个星期中,我自己觉得比平常上课的时候还要充实许多。在自主设计的过程中,我们只有一个设计任务提示,其他的各种细节都要自己上网看书查找资料。我们开始对各种芯片几乎一无所知,慢慢的几天之后,只要听到芯片型号就能知道其芯片类型。虽然很热也很辛苦,但是,最后在电路图仿真成功时的喜悦是货真价实的。

通过这次课程设计,我对于数字电路理论的理解加深了许多,对数电的认识也不仅仅局限于书本之中,更是有了切实的感受,这对我今后的学习生活,起到了很大的启发和引导作用。

以上,就是我本次《电子电工技术》课程设计的总结。

参考文献

[1]康光华《电子技术基础(数字部分)》高等教育出版社,2006

[2]伍时和《数字电子技术基础》清华大学出版社,2009

[3]徐淑华、率肈《电子电工技术》电子工业出版社,2008

[4]刘培植《数字电路与逻辑设计》北京邮电大学出版社,2009

[5]张文涛《P ROTEUS仿真软件应用》华中科技大学出版社,2010

附录1 元件表

基于FPGA的键盘扫描电路 EDA课程设计

信息科学与技术学院 EDA 课程设计报告 题目名称:基于FPGA 的键盘扫描电路 学生姓名:王彪 学 号:2010508115 专业年级:电信10级(2)班 指导教师:钟福如老师 时 间: 2010.1.13

目录 1 课程设计综述—————————————————————— 2 1.1 课程设计的题目———————————————————— 2 1.2 题目要求——————————————————————— 2 2 方案选择———————————————————————— 2 3 整体电路的设计及分析——--——————————————— 3 3.1 顶层电路图—————————————————————— 3 3.2 各模块功能原理分析—————————————————— 4 4 心得体会——————————————————————— 12

1.课程设计综述 1.1 课程设计的题目 基于FPGA的键盘扫描电路。 1.3 题目要求 (1)、键盘按钮数为4,系统时钟10MHz。 (2)、能识别出所按按钮。 (3)、按钮被按下后,视为此按钮输入一次,若按钮长时间不松,(时限1S)后每隔0.5S 视为再次输入,直至按钮松开。 (4)、要求能对按钮按下时指令的抖动能正确处理。对持续时间小于50ms的输入不作响应。 (5)、各键设置不同优先级,多键同时按下时,视为优先级较高的按键被按下。2.方案选择 根据题目要求,需要4个按钮的键盘,通过查阅资料我选择通用的2*2行列式键盘,判断键盘中有无按键按下是通过行线送入扫描信号,然后从列线读取状态得到的。其方法是依次给行线送低电平,检查列线的输入。如果列线信号全为高电平,则代表低电平信号所在的行中无按键按下;如果列线有输入为低电平,则低电平信号所在的行和出现低电平的列的交点处有按键按下。原理框图如下所示:

8位数码管动态显示电路设计

电子课程设计 — 8位数码管动态显示电路设计 学院:电子信息工程学院 专业、班级: 姓名: 学号: 指导老师: 2014年12月

目录 一、设计任务与要求 (3) 二、总体框图 (3) 三、选择器件 (3) 四、功能模块 (9) 五、总体设计电路图 (10) 六、心得体会 (12)

8位数码管动态显示电路设计 一、设计任务与要求 1. 设计个8位数码管动态显示电路,动态显示1、2、3、4、5、6、7、8。 2. 要求在某一时刻,仅有一个LED 数码管发光。 3. 该数码管发光一段时间后,下一个LED 发光,这样8只数码管循环发光。 4. 当循环扫描速度足够快时,由于视觉暂留的原因,就会感觉8只数码管是在持续发光。 5、研究循环地址码发生器的时钟频率和显示闪烁的关系。 二、总体框图 设计的总体框图如图2-1所示。 图2-1总体框图 三、选择器件 1、数码管 数码管是一种由发光二极管组成的断码型显示器件,如图1所示。 U13 DCD_HEX 图1 数码管 数码管里有八个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出 不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个 74LS161计数器 74LS138译码 器 数码管

LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。 2、非门 非门又称为反相器,是实现逻辑非运算的逻辑电路。非门有输入和输出两个端,电路符号如图2所示,其输出端的圆圈代表反相的意思,当其输入端为高电平时输出端为低电平,当其输入端为低电平时输出端为高电平。也就是说,输入端和输出端的电平状态总是反相的。其真值表如表1所示。 图2 非门 表1 真值表 输入输出 A Y 0 1 1 0 3、5V电源 5V VCC电源如图3所示。 图3 5V电源

led动态扫描

LED动态扫描实验 一、实验目的: 1、掌握数码LED的动态扫描显示原理 2、学习延时子程序的编写的使用 二、实验原理: 共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

三、实验内容及过程: 1、流程图

2、实验中碰到的问题 实验中我用了两排插孔来代替数码管的两排引脚焊接在实验板上,东西都焊好之后,把数码管插在插孔里,有的时候就会出现接触不好的状况,我认为,以后还是把数码管焊上去才不会出现接触的问题。 四、实验现象: 在烧入程序后,数码管上的数字呈现从1开始逐个递增的显示 五、程序: ORG 0000H MAIN: MOV 7AH,#00H MOV 7BH,#00H MOV 7CH,#00H MOV 7DH,#00H MOV R1,#7AH MAIN0: MOV A,7AH MAIN1: CJNE A,#0AH,BJW MOV 7FH,R1 JW: MOV @R1,#00H INC R1

实验报告七-键盘扫描及显示实验

信息工程学院实验报告 课程名称:微机原理与接口技术 实验项目名称:键盘扫描及显示实验 实验时间: 班级: 姓名: 学号: 一、实 验 目 的 1. 掌握 8254 的工作方式及应用编程。 2. 掌握 8254 典型应用电路的接法。 二、实 验 设 备 了解键盘扫描及数码显示的基本原理,熟悉 8255 的编程。 三、实 验 原 理 将 8255 单元与键盘及数码管显示单元连接,编写实验程序,扫描键盘输入,并将扫描结果送数码管显示。键盘采用 4×4 键盘,每个数码管显示值可为 0~F 共 16 个数。实验具体内容如下:将键盘进行编号,记作 0~F ,当按下其中一个按键时,将该按键对应的编号在一个数码管上显示出来,当再按下一个按键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近 6 次按下的按键编号。 键盘及数码管显示单元电路图如图 7-1 和 7-2 所示。8255 键盘及显示实验参考接线图如图 7-3 所示。 图 7-1 键盘及数码管显示单元 4×4 键盘矩阵电路图 成 绩: 指导老师(签名):

图 7-2 键盘及数码管显示单元 6 组数码管电路图 图 7-3 8255 键盘扫描及数码管显示实验线路图 四、实验内容与步骤 1. 实验接线图如图 7-3 所示,按图连接实验线路图。

图 7-4 8255 键盘扫描及数码管显示实验实物连接图 2.运行 Tdpit 集成操作软件,根据实验内容,编写实验程序,编译、链接。 图 7-5 8255 键盘扫描及数码管显示实验程序编辑界面 3. 运行程序,按下按键,观察数码管的显示,验证程序功能。 五、实验结果及分析: 1. 运行程序,按下按键,观察数码管的显示。

LED动态扫描显示实验

51单片机实验报告二 名称:LED动态扫描显示 目的:掌握数码LED的动态扫描显示原理; 学习延时子程序的编写和使用。 原理: 为了节省输出端口数,数码LED显示一般采用动态扫描的方法,将所有数码LED的共阴极接在一个位型输出口上,将所有数码管的相同段接在一起作为字型口,软件控制每个数码LED轮流显示,任一时刻只一个数码亮,但扫描速度足够快时,视觉效果是8个数码LED同时亮。 电路图:

流程图: 汇编程序: ORG 0000H AJMP MAIN ORG 0080H MAIN: CLR P2.0 ;选中第一个数码管MOV P0, #3FH ;显示0 LCALL DELAY ;调用延时 MOV P0, #0FFH ;关显示 SETB P2.0 CLR P2.1 ;选中第二个数码管MOV P0, #06H ;显示1 LCALL DELAY MOV P0, #0FFH SETB P2.1 CLR P2.2 ;选中第三个数码管MOV P0, #5BH ;显示2 LCALL DELAY MOV P0, #0FFH SETB P2.2 CLR P2.3 ;选中第四个数码管MOV P0, #4FH ;显示3 LCALL DELAY

MOV P0, #0FFH SETB P2.3 CLR P2.4 ;选中第五个数码管 MOV P0, #66H ;显示4 LCALL DELAY MOV P0, #0FFH SETB P2.4 CLR P2.5 ;选中第六个数码管 MOV P0, #6DH ;显示5 LCALL DELAY MOV P0, #0FFH SETB P2.5 CLR P2.6 ;选中第七个数码管 MOV P0, #7DH ; 显示6 LCALL DELAY MOV P0, #0FFH SETB P2.6 CLR P2.7 ;选中第八个数码管 MOV P0, #07H ; 显示7 LCALL DELAY SETB P2.7 MOV P0, #0FFH AJMP MAIN ;重新开始 DELAY: ;延时子程序 MOV R7 ,#2 D1: MOV R6, #25 D2: DJNZ R6, D2 DJNZ R7, D1 RET END 现象及结论:8只数码管循环滚动显示单个数字0—7。如此循环。

矩阵键盘设计实验报告

南京林业大学 实验报告 基于AT89C51 单片机4x4矩阵键盘接口电路设计 课程机电一体化设计基础 院系机械电子工程学院 班级 学号 姓名

指导老师杨雨图 2013年9月26日

一、实验目的 1、掌握键盘接口的基本特点,了解独立键盘和矩 阵键盘的应用方法。 2、掌握键盘接口的硬件设计方法,软件程序设计 和贴士排错能力。 3、掌握利用Keil51软件对程序进行编译。 4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。 5、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果 能做出分析和解释,能写出符合规格的实验报告。 二、实验要求 通过实训,学生应达到以下几方面的要求: 素质要求 1.以积极认真的态度对待本次实训,遵章守纪、团结协作。 2.善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立 工作能力。 能力要求 1.模拟电路的理论知识 2.脉冲与数字电路的理念知识 3.通过模拟、数字电路实验有一定的动手能力 4.能熟练的编写8951单片机汇编程序 5.能够熟练的运用仿真软件进行仿真 三、实验工具 1、软件:Proteus软件、keil51。 2、硬件:PC机,串口线,并口线,单片机开发板 四、实验内容

1、掌握并理解“矩阵键盘扫描”的原理及制作,了解各元器件的参数及格 元器件的作用。 2、用keil51测试软件编写AT89C51单片机汇编程序 3、用Proteus软件绘制“矩阵键盘扫描”电路原理图。 4、运用仿真软件对电路进行仿真。 五.实验基本步骤 1、用Proteus绘制“矩阵键盘扫描”电路原理图。 2、编写程序使数码管显示当前闭合按键的键值。 3、利用Proteus软件的仿真功能对其进行仿真测试,观察数码管的显示状 态和按键开关的对应关系。 4、用keil51软件编写程序,并生成HEX文件。 5、根据绘制“矩阵键盘扫描”电路原理图,搭建相关硬件电路。 6、用通用编程器或ISP下载HEX程序到MCU。 7、检查验证结果。 六、实验具体内容 使用单片机的P1口与矩阵式键盘连接时,可以将P1口低4位的4条端口线定义为行线,P1口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。 1、电路图

基于单片机的8255动态显示设计

物理与电气工程学院课程设计报告基于单片机的8255动态显示设计 姓名王秋雨 学号 111102042 专业电子信息工程 指导教师李艾华 成绩 日期 2013.06.22

基于单片机的8255动态显示设计 王秋雨 (安阳师范学院物理与电气工程学院河南安阳455002) 摘要:数码管是非常常见的东西,他能显示数字以及字母,应用非常的广泛。本文和大家谈谈如何用单片机来驱动数码管以及用扩展芯片来实现单片机对数码管的管理。本文以显示06:18:52开始。 关键字:单片机AT89S52 ,电子时钟,汇编语言,8255,动态显示 1 引言 随时代的发展,生活节奏的加快,人们的时间观念愈来愈强;随自动化、智能化技术的发展,机电产品的智能度愈来愈高,用到时间提示、定时控制的地方也会愈来愈多,因此,设计开发数字时钟具有良好的应用前景。由于单片机价格的低成本、高性能,在自动控制产品中得到了广泛的应用。本设计利用Atmel公司的AT89S52单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编语言进行软件编程,并用实验板进行演示、验证。在介绍本单片机的发展情况基础上,说明了本设计实现的功能,以及实验板硬件情况,并对各功能电路进行了分析。主要工作放在软件编程上,用实验板实现时间、日期、定时及它们的设定功能,详细对软件编程流程以及调试进行了说明,并对计时误差进行了分析及校正,提出了定时音与显示相冲突问题及解决方案。实验证明效果良好,可以投入使用。 动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 2 技术要求 用单片机和8255扩展芯片实现数码管的显示。 3 方案论证 3.1单片机设计 这种方案采用AT89C52单片机作为系统的控制核心。用8255做扩展,显示出六个代显数据。进行加一的运算。而且单片机具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制。液晶显示器具有体积小、外形薄、重量轻、耗能少、工作电压低、无辐射,特别是视域宽、显示信息量大等优点。 3.2LED数码显示模块 方案一:静态显示方式。

根据VHDL的键盘扫描及显示电路

广西工学院 EDA 课程设计 说明书 设计题目基于VHDL的键盘扫描 及显示电路 系别电控系 专业班级__________________ 学生姓名__________________ 学号__________________ 指导教师__________________ 日期__________________

基于VHDL的键盘扫描及显示电路一、工作原理: 可编程器件的KEY_HANG[3..0]行信号输出端不停循环输出“1110”“1101”“1011”“0111”。当没有键按下时可编程器件的KEY_LIE[3..0]列信号输入端检测到的是“1111”。当有按键按下时,如按下1,此时KEY_HANG[3..0]行信号输出为“0111”,即KEY_HANG[3..0]的3管脚为“0”,可由电路看出,此时输入端KEY_LIE[3..0]检测到的将是“0111”。KEY_LIE[3..0]的3管脚为0,可以在编写程序时,将输出信号KEY_HANG[3..0]与输入信号KEY_LIE[3..0]同时判断,比如可以认为当数据“KEY_HANG&KEY_LIE”为“01110111”时,可译码成数据1,。同理可得其他按键的编码。根据不同数据的编码译成不同的数据。 名称IO属性描述备注 clk in 输入时钟,1K和40K频 率 KEY_HANG[3..0]out矩阵键盘的扫描输入端口 KEY_LIE[3:0] in矩阵键盘的扫描输出端口START out 数据输出标志 DISP out 数码管译码显示译码7bit

DATA[6..0] 输出 DASP SEL[1..0] out数码管扫描输出2bit

实验二 数码管动态扫描显示实验

实验二数码管动态扫描显示实验 一、实验目的 1.学习和理解数码管动态扫描的工作原理。 2.学习和掌握数码管动态扫描的电路接口设计及程序编写。 二、实验设备 1.USB线 2.单片机最小系统教学实验模块 3.动态数码管显示模块 三、实验要求 1. 使8位数码管动态显示“0 1 2 3 4 5 6 7”字样 2. 使8位数码管动态显示时间2013年4月18日,即“2 0 1 3 04 18”字样 3. 用Proteus仿真软件画出实验电路图,将在uVision3 IDE软件中生成*.hex 下载到Proteus仿真电路图中的单片机芯片中,观察实验现象。 四、实验原理 1. 8段数码管显示原理 数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。对于“共阳极”的数码管,内部每个发光二极管的阳极被接在一起,成为该各段的公共选通线;发光二极管的阴极则成为段选线。对于“共阴极”数码管,则正 好相反,内部发光二极管的阴极接在一起,阳极成为段选 线。这两种数码管的驱动方式是不同的。当需要点亮“共 阳极”数码管的一段时,公共段需接高电平(即写逻辑1)、 该段的段选线接低电平(即写逻辑0),从而该段被点亮。 当需要点亮“共阴极”数码管的一段时,公共段需接低电平 (即写逻辑0)、该段的段选线接高电平(即写逻辑1), 该段被点亮。 数码管的段位顺序如右图所示: 一般来说在一个字节中按照dpgfedcba的顺序放置字型码,比如在一个“共阴极”数码管上要显示“1”,则b、c段需被点亮,因此在段选线中写入06H。例如使用P0口接段选线,则使用下面的语句即可点亮数码管: P0=0x06; 对应规则: dp----->D7 g----->D6 f----->D5 e----->D4

矩阵键盘电路设计

课程设计 题目矩阵键盘电路设计教学院计算机学院 专业计算机应用技术班级 姓名 指导教师 2010 年01 月12 日

前言.................................................................... 第一章需求分析......................................................... 功能描述......................................................... 功能分析......................................................... 第二章系统的原理及分析................................................. 用到的知识点的介绍,知识点使用的总体思路 第三章详细设计......................................................... 硬件设计 系统结构图,元器件的选择等 软件设计 所设计的软件关键模块的程序流程 第四章测试............................................................ 运行结果分析等 第五章总结............................................................. 参考文献................................................................ 附录 关键程序代码........................................................

实验3 数码管扫描显示电路(1)

实验三数码管扫描显示电路 一、实验目的 1、掌握数码管动态扫描显示数据的原理; 2、掌握利用EDA软件和VHDL语言设计较复杂时序逻辑电路的方法; 二、实验原理 常用的显示器件有发光二极管、数码管、液晶显示器等,其中最常用的是数码管。数码管显示数据有两种方式:静态显示方式和动态(扫描)显示方式。 所谓静态显示方式,就是将被显示的数据的BCD码过各自的4—7/8段译显示译码器译码后,分别接到显示译码器的显示驱动端a~g/p,而公共端COM则根据数据管的类型(共阴极/共阳极)分别接到GND/VCC。静态显示的优点是控制简单,有几个数码管就用几个译码器,不必修改程序,十分简便。但当系统所需的数码管较多时,这种方法既耗资源,又占用较多的I/O口,N个数码管需要占用7N个引脚(若需要显示小数点,则是8N个引脚)。因此,该接法适合于系统中数码管数量不多的应用场合。 所谓动态显示方式,就是采用分时的方法,使各个数码管逐个轮流受控显示。在轮流点亮扫描过程中,每个数码管的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各个数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。在扫描显示方式中,所有数码管的8个笔划段a-h同名端连在一起,所有数码管接收到相同的字形码,但究竟是那个显示器亮,取决于COM端。扫描显示的优点在于消耗的系统资源少,占用的I/O口少,N个数码管只需(7+N)个引脚((若需要显示小数点,则是8+N个引脚)。其缺点是控制起来不如静态显示方便。 下图3.1 给出了8个数码管动态扫描显示的接口电路图。如果显示器采用共阴极数码管时,则 图5.1 数码管动态扫描显示接口电路图

矩阵键盘的工作原理和扫描确认方式

9.3.1 矩阵键盘的工作原理和扫描确认方式 来源:《AVR单片机嵌入式系统原理与应用实践》M16华东师范大学电子系马潮 当键盘中按键数量较多时,为了减少对I/O 口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图9-7 所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行或列线上的电平变化可以确定哪个按键被按下。 图9-7 为一个 4 x 3 的行列结构,可以构成12 个键的键盘。如果使用 4 x 4 的行列结构,就能组成一个16 键的键盘。很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O 口线。 矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU 的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对MCU 的占用时间。 下面以图9-7 为例,介绍采用行扫描法对矩阵键盘进行判别的思路。图9-7 中,PD0、PD1、PD2 为3 根列线,作为键盘的输入口(工作于输入方式)。PD3、PD4、PD5、PD6 为4根行线,工作于输出方式,由MCU(扫描)控制其输出的电平值。行扫描法也称为逐行扫描查询法,其按键识别的过程如下。 √将全部行线PD3-PD6 置低电平输出,然后读PD0-PD2 三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。 √在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依

基于FPGA的键盘扫描程序的设计

摘要 在现代电子工业的控制电路中,键盘扫描和显示电路对系统的调试和设置有着重要的作用。随着EDA技术的发展,基于FPGA的扫描键盘因其结构简单,能有效防止机械键盘按键抖动带来的数据错误等优点在许多电子设备中都得到了广泛的应用。 本文主要是设计一个基于FPGA的键盘扫描程序,该设计在EDA工具Quarutus II9.0上开发完成,以Creat-SOPC2000实验箱上的4*4矩阵键盘为硬件实体,设计键盘扫描程序,将程序划分为时序产生模块、键盘扫描模块、弹跳消除模块、键值译码模块四个模块,时序产生模块为键盘扫描和弹跳消除模块产生时钟信号,键盘扫描模块采用行扫描法对4*4矩阵键盘进行扫描,键值译码模块将所按键值译码为共阳极8位7段数码管的显示码,几个模块组合起来实现键盘扫描的设计要求。最后对程序进行仿真分析和硬件验证。仿真结果表明,该系统具有集成度高、稳定性好、设计灵活和设计效率高等优点。 关键词: FPGA,Quartus II,VHDL,键盘扫描

ABSTRACT In the modern electronics industry controlling-circuit, the keyboard scanning and display circuit plays an important role in debugging and setting the system. With the development of EDA technology, FPGA-based scanning keyboard have been widely used in many electronic devices because of its simple structure, and it also can effectively prevent mechanical keyboard jitter caused by data errors. This article primarily designed an FPGA-based keyboard scan procedures, this design is developed on the EDA tools—— Quarutus II9.0 and designed the keyboard scan program, using the Creat-SOPC2000 experimental box 4 * 4 matrix keyboard as the hardware entity .the program is divided into four modules as the timing generation module, a keyboard scanning module, bounce cancellation module and the decoding module. The timing generation module generates the clock signal for the keyboard scanning and bounce elimination module, the keyboard scanning module using the line scanning method to sweep the 4* 4 matrix keyboard, key decoder module decodes the key value for the common anode eight 7-segment display code. Several modules assembles together to meet the keyboard scanning design requirements. Finally, conducting simulation analysis by the program and verifying the hardware.Simulation results show that the system has many advantages such as high integration, good stability, high efficiency, flexible design and high design efficiency. Keywords: FPGA,Quartus II,VHDL,keyboard scanning

EDA课程设计八位数码管扫描显示电路的设计资料

《EDA技术及应用》 课程设计报告 题目:八位数码管扫描显示电路的设计院(系):机电与自动化学院 专业班级:电气自动化技术1001 学生姓名: 学号: 20102822018 指导教师:何为 2012年6月10日至2012年6月23日

《EDA技术及应用》课程设计任务书 一、设计题目 八位数码管扫描显示电路的设计 二、设计主要内容 本课题要求掌握使用Quartus II设计数字系统的设计思路和设计方法。学习VHDL基本逻辑电路的综合设计应用。掌握VHDL语言的语法规范,掌握时序电路描述方法。掌握多个数码管动态扫描显示的原理及设计方法。 设计一个八位数码管共阴极动态扫描显示控制电路,要求显示学生自己的学号。利用实验室设备完成系统设计并进行运行调试。 1、具体设计内容如下: (1)静止显示学号; (2)动态循环显示学号。 2、提供设计报告,报告要求包括以下内容:设计思路、设计输入文件、设计与调试过程、模拟仿真结果和设计结论。 三、原始资料 1、LED显示模块原理 LED有段码和位码之分,所谓段码就是让LED显示出“8.”的八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阳级的LED而言,高电平使能。要让8个LED同时工作,显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应的8位段码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。 多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。 2、系统结构图信号名与芯片引脚对照表

键盘扫描显示实验原理及分析报告

键盘扫描显示实验原理及分析报告 一、实验目的-------------------------------------------------------------1 二、实验要求-------------------------------------------------------------1 三、实验器材-------------------------------------------------------------1 四、实验电路-------------------------------------------------------------2 五、实验说明-------------------------------------------------------------2 六、实验框图-------------------------------------------------------------2 七、实验程序-------------------------------------------------------------3 八、键盘及LED显示电路---------------------------------------------14 九、心得体会------------------------------------------------------------- 15 十、参考文献--------------------------------------------------------------15

扫描式矩阵键盘课程设计

扫描式矩阵键盘课程设 计 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

4X4扫描式矩阵键盘课程设计课程设计名称: 4_4扫描式矩阵键盘设计 姓名: DUKE 班级:电子1008班 学号: 10086 成绩: 日期: 2014年1月6日 摘要 随着21世纪的到来,电子信息行业将是人类社会的高科技行业之一,式设施现代化的基础,也是人类通往科技巅峰的直通路。电子行业的发展从长远来看很重要,但最主要的还是科技问题。 矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。是它能准时、实时、高效地显示按键信息,以提高工作效率和资源利用率。 矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N个按键,显示在LED数码管上。单片机控制依据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。 4*4矩阵式键盘采用AT89C51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用C语言编程。单片机将检测到的按键信号

转换成数字量,显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。 目录 第一章:系统功能要求-------------------------------------------------------- 1.1 4*4 矩阵式键盘系统概述------------------------------------------------ 1.2 本设计任务和主要内容--------------------------------------------------- 第二章:方案论证--------------------------------------------------------------- 第三章:系统硬件电路的设计------------------------------------------------ 3.1 单片机控制系统原理----------------------------------------------------- 3.2 原理图绘制说明---------------------------------------------------------- 3.3 画出流程图---------------------------------------------------------------- 3.4 原理图绘制---------------------------------------------------------------

动态扫描数码显示电路

1.课程设计目的 巩固所学理论,提高动手能力、创新能力和综合设计能力。 熟悉常用芯片的引脚功能。 了解动态扫描数码显示电路的组成及工作原理。 2.课程设计要求 任务要求:动态扫描数码现实电路设计,通过单路显示译码器驱动多路显示输出,同时动态扫描现实时达到无闪烁效果。 性能指标要求: (1)设计制作一个进行四位十进制数码显示电路。 (2)分时显示各位十进制数码。 (3)设计用于动态显示控制的脉冲发生电路。 (4)设计分时动态扫描显示控制的逻辑电路。 (5)输入的显示数据为8421BCD码,且并行输入。 3.电路图组成框图 图1 4.元器件清单 元器件:4位拨码开关4只,74LS161十六进制计数器—1片,74LS138译码器—1片,74LS240带三态输出反相器—4片,显示译码器7448, LED显示管 5 个 ,小灯4个,555定时器,Ω电阻一个,Ω电阻一个,10nF电容两个,电源,非门,与非门,导线若干。

仿真环境:软件Multisim。 5.各功能块电路图 脉冲发生电路 图2 该脉冲发生电路为由555定时器接成的多谐振荡器。其中R 1为Ω,R 2 为Ω,C 为10nF,则其产生脉冲的 频率为: 占空比为: 计数器 图3

该计数器主要由一个74LS161构成,CLK端接收来自脉冲发生电路中555定 时器的输出脉冲信号,74LS161对其脉冲进行计数,在其输出端Q D Q C Q B Q A 产生从 0000到1111的十六进制循环的高低电平信号,其Q B Q A 产生的高低电平信号为00、 01、10、11四进制的循环计数,若需要对六个数码管进行动态扫描显示,则需要将其改接成六进制计数器。 译码器 图4 该译码器使用的是74LS138,输入端AB接收来自计数器Q A Q B 的高低电平信 号,并对其进行译码,因为计数器产生的信号是四进制的,所以只需要用到AB 两位,C端接低电平,输出端Y 0-Y 4 根据输入信号的状态,对应位为低电平。 显示控制及显示译码 图5 该部分由显示译码、显示控制以及拨码开关组成,是本电路的关键部分。显

实验四 键盘扫描及显示设计实验报告

实验四键盘扫描及显示设计实验报告 一、实验要求 1. 复习行列矩阵式键盘的工作原理及编程方法。 2. 复习七段数码管的显示原理。 3. 复习单片机控制数码管显示的方法。 二、实验设备 1.PC 机一台 2.TD-NMC+教学实验系统 三、实验目的 1. 进一步熟悉单片机仿真实验软件 Keil C51 调试硬件的方法。 2. 了解行列矩阵式键盘扫描与数码管显示的基本原理。 3. 熟悉获取行列矩阵式键盘按键值的算法。 4. 掌握数码管显示的编码方法。 5. 掌握数码管动态显示的编程方法。 四、实验内容 根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能: 1.扫描键盘输入,并将扫描结果送数码管显示。 2.键盘采用 4×4 键盘,每个数码管显示值可为 0~F 共 16 个数。 实验具体内容如下: 将键盘进行编号,记作 0~F,当按下其中一个按键时,将该按键对应的编号在一个数码 管上显示出来,当再按下一个按键时,便将这个按键的编号在下一个数码管上显示出来,数 码管上可以显示最近 4 次按下的按键编号。 五、实验单元电路及连线 矩阵键盘及数码管显示单元

图1 键盘及数码管单元电路 实验连线 图2实验连线图 六、实验说明 1. 由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为 5~10ms。这是一个很重要的时间参数,在很多场合都要用到。 键抖动会引起一次按键被误读多次。为了确保 CPU 对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按

EDA实验指导简述基于FPGA的动态扫描电路设计

FPGA实验指导及记录 实验三基于FPGA的数码管动态扫描电路设计 1.实验目的: (1)掌握FPGA工作的基本原理、FPGA硬件平台的使用; (2)熟悉7段数码管显示译码电路的设计。 (3)掌握数码管动态扫描显示原理及动态扫描电路的设计。 2.实验任务:利用FPGA硬件平台上的6位数码管动态显示计数器输出数据。 3.电路设计 (1)顶层电路 由分频模块fre_div,计数器模块counter100,译码显示模块diaplay构成。分频模块fre_div将可将实验平台晶体振荡器提供的50MHz时钟信号分频,输出500Hz,1KHz及1Hz三种信号备用,conter100模块实现模100计数功能,display模块为数码管动态显示模块,实现计数数字在6位数码管上的动态显示。 (2)分频器模块fre_div 该模块已经设计完成,存放在F盘502文件夹里,使用时请自行拷贝至当前工程文件夹,并按设计需要选择合适的输出。 (3)计数器模块counter100 该计数器模块实现模100计数。此处同学们应掌握数据总线的画法。

(4)译码显示模块display 该模块由counter6模块,dig_select模块,seg_select模块以及decoder模块构成,请同学们自行完成该模块总体设计,当display模块的输入信号scanclk频率为1KHz时,数码管扫描周期为36ms,每次扫描每位数码管显示时长6ms。各子模块设计思路如下。 a)counter6模块 该模块需使用74390设计一个模6的计数器。请在空白处做预设计,画出电路图。 b)dig_select模块 该模块用于选择6位数码管中的某一位显示相应字形。74138为3-8译码器,功能表见附录。

键盘扫描电路

键盘扫描电路 设计:2014-4-1 1.电路名称:键盘扫描电路 2.电路概述:(包括遵循的依据或标准,实现的功能) 利用矩阵键盘方式,实现12位按键输入,供用户对电能表进行充值等操作,广泛应用于一体式预付费键盘表及分体式CIU等产品中。 3.工作参数及指标 参比温度23℃±2℃ 4.电路图 5.电路图的工作原理描述: 在上电模式下,程序SW1-SW4一直输出低电平,SW5-SW7检测高低电平,在没有按键被按下的情况下SW5-SW7都被上拉到高电平,当十二位按键中任意一位被按下时,SW1-SW4的低电平通过分压电阻使的SW5-SW7中某位由

高电平变为低电平,程序开始进入按键扫描,逐一使SW1-SW4输出低电平并结合SW-SW7的状态确认哪个按键被按下,程序扫描两次以防止误判。 在掉电模式下(适用于TDK654X系列芯片),由于TDK654X系列芯片进入低功耗后管脚无法控制,因此电路增加D1、D2两个双二级管,用于按键唤醒单片机,当低功耗模式下SW1-SW4无法输出低电平,此时键盘被按下时先通过D1、D2使PB脚电平由低到高变化唤醒单片机,单片机被唤醒后通过上电模式一样的程序扫描方式以确认具体是哪个按键被按下。 图一 图一中坐标1是PB口线的波形,坐标2是SW5口线的波形,在掉电情况下,当按一下S1按键,PB口产生一个3V的高电平脉冲(TDK芯片高电平为2V 以上),唤醒芯片程序初始化SW1-SW4,此时按键被按着因此SW5会有一个低电平脉冲,程序进入扫描后PB由于SW1-SW4轮流输出高的原因使PB持续高电平25ms左右,扫描完一轮后程序进入按键释放期150ms,SW1-SW4全部输出低,因此PB持续150ms低电平,然后程序进入第二轮扫描,由于SW1-SW4轮流输出高电平的原因,PB又会产生一个高电平,且高电平宽度宽度是SW5的4倍,扫描完两轮后又进入按键释放期,此时S1键被释放,程序按键处理完成进入低功耗模式,PB与SW5口线恢复到默认状态。

相关文档
最新文档