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

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

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

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

初始条件:

(1)以0~9十个数符标识十个按键

(2)当有键按下时,显示其标识符,并保持显示符直到新的按键作用

(3)如果多个按键同时作用,只响应最先作用的按键

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

(1)设计任务及要求

(2)方案比较及认证

(3)系统框图,原理说明

(4)硬件原理,完整电路图,采用器件的功能说明

(5)调试记录及结果分析

(6)改进方法

(7)总结(收获及体会)

(8)参考资料

(9)附录:器件表,芯片资料

时间安排:

6月25日~6月28日:明确课题,收集资料,方案确定

7月28日~7月2日:整体设计,硬件电路调试

7月2日~7月6日;报告撰写,交设计报告,答辩

指导教师签名:2012年 7月日

目录

摘要 (1)

1 设计内容及方案选择 (2)

1.1设计内容及其设计要求. (2)

1.2方案选择 (2)

1.2.1 按键的标识及对应的标识符显示方案的选择 (2)

1.2.2 信号的锁存及按键优先作用方案的选择 (2)

2 电路的设计及器件的选择 (3)

2.1电路的原理 (3)

2.1.1 电路的原理框图及其说明 (3)

2.1.2 单元电路的说明 (3)

2.1.3 完整的电路图 (4)

2.2开关电路的设计和器件的选择 (5)

2.2.1开关电路的设计 (5)

2.2.2各主要芯片的功能说明 (5)

2.2.3 电路的总体说明 (10)

2.3方案二完整电路图及其比较选择 (11)

3 硬件电路的设计及其制作与调试 (11)

3.1仿真使用的系统 (12)

3.2 制作与调试的方法和技巧 (12)

3.3测试的数据分析 (12)

3.4 制作与调试中出现的故障、原因及排除方法 (12)

结束语 (13)

参考文献 (14)

附录按键状态扫描显示电路所用元件 (15)

本科生课程设计成绩评定表 (16)

摘要

此课程设计是基于键盘按键功能的模拟,需要运用现有所学的数字电子技术的知识,主要实现以下设计的功能 1.按键显示:按下一个按钮输出显示对应的数字,十个按钮分别用0~9显示 2.按键保持:按键后的显示一直保持到新的按键作用 3.优先按键:如果多个按键同时作用,只响应最先作用的按键。

本文对该按键状态扫描显示电路的设计方案作了详细的说明与分析,主要根据各芯片的功能,采用合理的布线实现满足设计的要求,本实验主要运用到了各芯片编码、触发、译码显示等功能。电路的设计用到了TTL系列的74芯片,外加一些基本的电阻、开关、电源与导线,电路比较简单但却实现了所需要的功能,通过对其电路的优化设计使其尽量使用较少的器材就足以实现所需的功能,这也符合时代的潮流与趋势,本文的最后给出了参考文献与元件清单,这也是为了电路的理论到实践起到了关键性的作用。

此课程设计与我们这一年学的知识息息相关,只用将知识的底座基础打牢了,就会在电路的设计制作过程中游刃有余。为期两周的课程设计需要我们付出很多才会见到成效。

最后,本文对该电路设计作了总体的评价,归纳好经验教训并作出总结。

关键词:按键编码触发译码显示

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

1 设计内容及方案选择

1.1 设计内容及其设计要求

本次《电工电子技术》课程设计的任务是“按键状态扫描显示电路”,以数字电子技术为基础而设计电路,主要实现按键显示等功能。具体设计要求如下:(1)以0~9十个数符标识十个按键

(2)当有键按下时,显示其标识符,并保持显示符直到新的按键作用

(3)如果多个按键同时作用,只响应最先作用的按键

1.2 方案选择

1.2.1 按键的标识及对应的标识符显示方案的选择

开关电路实现按键操作:用十个开关分别表示0~9这十个按键,开关接通代表按下按键,开关断开代表按键抬起。

编码电路与译码显示电路的结合实现按键扫描显示功能:运用TTL系列的编码和译码性质的芯片,分别为芯片74LS147、74LS48,这需要通过合理的电路连线实现。

1.2.2 信号的锁存及按键优先作用方案的选择

触发电路实现按键信号的锁存以及按键优先次序的设计:运用TTL系列的触发器芯片74LS175,当然仅有触发器是不够的,需要开关电路与组合门电路的组合为D触发器提供触发信号,才能使74LS175成功触发工作,这需要通过合理的电路连线实现。

2 电路的设计及器件的选择

2.1 电路的原理

2.1.1 电路的原理框图及其说明

按键扫描显示电路原理框图如图1所示

图1 按键扫描显示电路原理框图

原理框图说明:此框图由五个单元电路组成,信号由开关电路输入,触发信号由编码输出和0按键接组合门电路来提供,在译码显示电路输出显示按键信号。

2.1.2 单元电路的说明

开关电路:由+5V电源、十个1kΩ电阻、十个无锁的按键开关构成,作用:提供输入信号,电路中开关闭合输入0(低电平),断开则输入1(高电平),这十个开关分别对应0~9这十个模拟的按键。

编码电路:由74LS147芯片构成,作用:接受输入信号进行编码为四位二进制数。同时作为门电路的输入信号。

触发电路:由74LS175芯片构成,作用:对编码后的信号进行锁存,并接受触发信号,实现优先按键的功能,将处理后的输出信号送入译码显示电路。

组合门电路:由74LS04,74LS20和74LS32构成,用到了74LS20芯片中的四输入与非门和74LS32芯片中的二输入或门。作用:通过门电路与开关电路相连为触发电路提供触发信号,使其对应的标识符并且多个按键同时作用,只响应最先作用的按键。

译码显示电路:由74LS48芯片和共阴极的七段显示管构成,作用:将输出信号译码显示为0到9的十进制的数字信号。

初始电路状态:开关都断开,按键按下则对应显示其数值。

2.1.3 完整的电路图

以下是完整的电路图,如图2所示。

图2 完整电路图

说明:译码显示部分U6由74LS48和共阴极的七段显示管组成,图中合二为一。

2.2开关电路的设计和器件的选择

2.2.1开关电路的设计

提供输入信号,每个开关相互独立,中间的RPACK是十个1000欧的电阻,起到了一个保护电路的作用,如图3所示,电路中开关闭合输入0(低电平),断开则输入1(高电平)。以此开关电路为编码电路提供低有效的输入信号,开关电路与组合门电路相连则是为触发电路提供触发信号。这十个开关分别对应0~9这十个模拟的按键

图3 开关电路

2.2.2 各主要芯片的功能说明

74LS147芯片介绍:74LS147优先编码器有9个输入端和4个输出端。某个输入端为0代表输入某一个十进制数。当9个输入端全为1时,代表输入的是十进制数0。4个输出端反映输入十进制数的BCD码编码输出。如图4为74LS147引脚图,其中第15脚NC为空。

图4 74LS147引脚图

74LS147优先编码器的输入端和输出电平端都型号是低电平有效,某一个输入端低电平信号0时图如图,4个输出管脚端就以低电平输出其对应的8421BCD 编码。当9个输入编码器全为1时,4个输出也全为1,代表输入十进制数0的8421BCD编码输出。如图5为74LS147真值表。

图5 74LS147真值表

74LS147在编码电路中将开关电路输入的1~9对应的按钮开断(1或0)信号进行编码,编码器输入输出都是低有效。而剩下的开关按钮(0)则是可以通过组合门电路实现编码。147输出信号给D触发器进行锁存处理再由译码显示电路输出。

74LS175芯片介绍:175由四上升沿D触发器构成,74LS175引脚图如图6所示。当清除端(CR)为低电平时,输出端Q为低电平。在时钟(CP)上升沿作用下,Q与数据端(D)相一致。当CP为高电平或低电平时,D对Q没有影响。引出端符号 CP 时钟输入端是上升沿有效,清除端低电平有效)。图7为175的内部逻辑图。

图6 74LS175引脚图图7 74LS175芯片内部电路图

74LS175在此电路中接受74LS147编码器的信号输出,等待触发信号CP的到来才会触发产生新的信号。175的输出则为最终输出接到译码输出即可。

74LS04芯片介绍:它由六个非门构成,如图7为其引脚图,图8为其内部构造。

04芯片只要有输入为0,则输出就为1。只要输入为1,则输出就为0。

图7 74LS04引脚图图8 74LS04内部逻辑图

74LS20芯片介绍:它由两个四输入与非门构成,图9为其引脚图,图十为其内部构造。

20芯片是包含了与非芯片,即四个输入中有0则输出1,只有输入全为1才输出0.

图9 74LS10引脚图图10 74LS10内部逻辑图74LS32芯片介绍:它由四个2输入或门构成,图11为其引脚图,图12为其内部构造。

32芯片是包含了最基本的或门芯片,即两个输入中有1则输出1,只有输入中全为0才输出0

图11 74LS32引脚图图12 74LS32的内部逻辑图

在此电路中只需74LS04,74LS10和74LS32芯片各一个即可。

触发电路工作原理:该组合门电路输入口由开关信号0和147的输出相连,输出端与74LS175的CP触发信号端相连。开关初始都是断开,输入十个1信号,则一开始输入给门电路后输出0给CP,当1-9的开关按下,进行编码后四个输出端必有0输出,根据与非门有0即出1的规则,组合门电路输出1给CP,四个D触发器则会接收到一个上升沿得以触发,四个输出端则会对应得到输出

Qn+1=Qn,相应的会译码显示出开关对应的十进制数输出。同理,0开关按下时,经非门电路直接输入1,同样输出1给CP触发。

在按键按下后,若再按其它键则输出不会改变,原因:此时CP=1,若再闭合一个开关(输入0),经门电路后

CP输出依旧为1,不会产生上升沿就不会触发,则信号输出依旧为上次按键留下的输出信号不变,这就实现了信号锁存的功能。这也可看成按键优先的功能,即俩开关信号先后按下,译码显示输出只显示先按下键的对应十进制数。

只有当第一次按下的按键弹起断开后(输入1),CP由1变0,再按下其它键(输入0),门电路输出给CP,CP由0变1再次产生上升沿得以触发,这时显示输出值才会改变为此时按下的按键数。

译码显示器使用的是共阴极连接,与驱动芯片74LS48相连接,完成对二进制输入的译码显示。

数码显示译码器:将数字、文字、符号的代码译成数字、文字、符号的电路。七段发光二极管数码管:图14,15为共阴管电路和共阴数码管引出脚功能图。

图14 图15

2.2.3 电路的总体说明

1~9开关输入的按钮信号经由74LS147编码器编码成四位二进制数后送入74LS175触发器,等待触发信号。同时开关电路与组合门电路联接为触发器提供触发的上升沿信号,初始状态是每个开关都断开,当按下1~9任何一个按键时,74LS147的输出端必有0,经门电路后74LS175的CP端得到一个上升沿信号从而触发,由于编码输出是低有效给入触发器的,所以将各D触发器的Q非端接入最终的译码显示才能得到正确的数值显示,所以只要有触发就可以使其译码显示输出。

0开关比较特殊:不接编码器,而直接接非门后接入组合门电路参与触发,初始状态下当0开关按下,二输入或门输入为1,CP得到触发信号,而编码器9个输入端都输入1,根据真值表看出输出1111给触发器,所以Qn =1111 ,而0

按键按下触发后使得 ==0000,最后正好在译码显示输出0这个十进制数。所以此电路能满足所有的设计要求。

2.3方案二完整电路图及其比较选择

方案二的完整电路图如图16所示

74LS04D

图16 完整电路图

方案比较及其选择

该方案工作原理与方案一相同,各个单位也相近,所以在这里就不加以赘述,在本方案与上一方案有什么不同点的地方看来,就是多了一些门电路,并且是从开关电路直接接过来,这些门电路的作用与功能是为芯片74LS175提供触发脉冲信号,同样完成设计所需要的任务。

但是十输入与非门需要与十个开关都要连线,使得电路比较复杂,而且还得用六个基本门电路和一个非门构成十输入与非门,即使用门电路较多,不够经济。其实可以考虑根据输出信号的一些性质来思考怎样实现触发,而不必使触发非要与开关的输入有关,这样可以省线省芯片,同时可以使连线过程简单化,不易出现错误方案一即做到了这一点。

总之,此电路的核心在于怎样产生触发信号,根据这可以改进出许多电路以达到此目标。条条大路通罗马,这次课程设计的电路图不唯一,许多芯片器件可以更换替代从而会产生不同的电路形式,但万变不离其宗,原理得搞通搞透彻,在对电路有整体把握的情况下再去对其做修改和优化,尽量减少芯片个数使得电路更简洁经济。

3 硬件电路的设计及其制作与调试

3.1 仿真使用的系统

仿真所用软件为Multisim 11.0 Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。

3.2制作与调试的方法和技巧

电路仿真成功后,即在电路板上进行各个器件的安装与连接,对照电路图进行仔细的电路连线,注意不能连错线,不然就会导致实验结果出不来。连线技巧:若两连接孔间距离较近,则可利用些废弃的电阻引脚线当作导线进行连线。

3.3 测试的数据分析

电路连好后,进行按键测试,初始状态下按下一个键,看其对应的十进制数输出是否正确,若正确则表示这个键正常,以此继续检查其余按键是否正常工作。从而验证按键扫描电路的功能。

3.4 制作与调试中出现的故障、原因及排除方法

存在的故障:译码显示输出数值有时会不稳定,会产生闪烁的现象。原因:器件接入电路不够稳,比如开关管脚直接插入电路板中会产生晃动的现象甚至会脱离电路板。排除方法:可以用万用表测试各个电路连线是连通,发现问题连线后即可对症下药,重新接线使其稳定并保持接线连通无误。

在调试中没有出现其他问题,我也进行了一下总结,整个电路设计是关键,因为电路不够简化,线路放置不够合理都会对实验产生一定影响,但是只要准备充分,在认真思索,对调试中可能遇到的问题提前做了充分的思考与衡量,实验的成功率将大大提高。下一次实验要继续保持这样的先想后做,先考虑后动手的习惯。本实验功能简单,使用芯片较少,连接方便也是实验容易实现的原因之一,再次强调选择了一个较为简单的方案是可以节省时间降低错误的关键。

收获与体会

此课程设计是一次对我们专业知识的考察,特别是对我们数字电路技术知识基础是否牢固的考验,从最开始的电路设计思考、画出电路图,到后来电路的仿真和各种方案的比较,到最终选出最佳方案再进行器件的购买以及电路的制作与检测。这种课设的过程是对体力与脑力的双重考验,只要你能挺过去,你就是胜利者。

当然这次课程设计的最大收获在于加深了对数电知识的掌握,还有对电路的整体把握。还有也需要同老师或者同学进行交流,这样对自己电路的改进有所帮助,也是可以拓宽信息的获取量。

在进行现实中电路板上制作的时候,对我们的耐心与细心也是一种考验,如果发现故障应学会及时排查,力求做到电路制作达到完美。

通过两个星期的课程设计实习,我学会了怎么将自己所学的知识整合到实际运用当中.本次电路图的独立设计,加深了我对相关课程基础知识的理解与掌握.对数电,模电所学知识的实际运用有了进一步的了解。我们通过自己查资料来了解一些芯片的功能,增强了自主学习的能力。通过查资料如何去整合,利用已有的资源为自己的设计服务。总之每一次的实践课实习学习都是在给我们将来积累经验,锻炼自主学习、独立思考、综合运用所学知识的能力。我们应该学会如何整理自己所学的知识为现实生活服务,或是让生活更方便。同时开发了我们创新思维能力,以及克服困难的决心。这也将成为我们以后人生道路上的一笔巨大财富。

基于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口线恢复到默认状态。

相关文档
最新文档