当前位置:文档之家› 按键状态扫描显示电路的设计与制作

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

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

课程设计任务书

学生姓名:专业班级:

指导教师:工作单位:

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

初始条件:

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

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

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

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

(1)设计任务及要求

(2)方案比较及认证

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

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

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

(6)对成果的评价及改进方法

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

(8)参考资料

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

时间安排:

6月27日~6月30日:明确课题,收集资料,方案确定,仿真

7月1日~7月4日:硬件电路制作与调试

7月5日~7月8日;报告撰写,交设计报告,答辩指导教师签名:年月日

系主任(或责任教师)签名:年月

目录

摘要 (Ⅰ)

1 任务及要求 (2)

1.1 设计任务 (2)

1.2 设计要求 (2)

2 设计方案 (2)

2.1 总体设计思想 (2)

2.2 总体逻辑功能图 (2)

2.3 设计方案的选择 (3)

2.3.1 编码电路的选择 (3)

2.3.2 触发电路的选择 (5)

3 单元电路的功能说明 (6)

3.1 单元电路的设计 (6)

3.1.1 按键控制电路 (6)

3.1.2 编码电路 (8)

3.1.3 触发电路的设计 (9)

3.1.4 逻辑反馈电路的设计 (10)

3.1.5 译码显示电路的设计 (11)

3.2 整体电路的工作原理 (15)

4 利用Protues,Multisim仿真电路 (16)

5 结束语 (18)

参考文献 (19)

附录 (20)

摘要

随着电子技术和计算机技术的飞速发展,电子线路的设计工作也日益显得重要。经过人工设计,制作实验板,调试再修改的多次循环才定型的传统产品设计方法必然被计算机辅助设计所取代,因为这种费时费力又费资源的设计调试方法即增加了产品开发的成本和周期,又受到实验工作场地及仪器的限制。因此,在EDA飞速发展的今天,EDA技术正慢慢领导着电子科技,同时慢慢进入到生活的各个方面。

本次按键状态扫描显示电路的设计与制作,就是一次理论知识与EDA技完美结合。本次设计要求以0-9十个数符标识十个按键,当有按键按下时,显示其标识符,并保持显示符,并保持显示指导新的按键作用,如果多个按键同时作用,只响应最先作用的按键,有点类似于带数字的抢答器,不过加了个数码显示管。

关键词:EDA技术状态扫描数码显示

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

1 任务及要求

1.1设计任务

1)以0-9十个数符标识十个按键;

2)当有键按下时,用数码显示管显示其标识数字,并保持到新的按键作用;

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

1.2设计要求

本课程设计要求设计一个10按键数字状态扫描显示电路,以0-9标识十个按键,按下某一按键,数码显示管显示相应的数字。

2 设计方案

2.1总体设计思想

根据课程设计任务书要求,以及十个按键所对应的逻辑关系分析,得出设计及该电路大体需要按键控制电路、编码电路、触发电路、逻辑反馈电路、译码电路以及译码显示,其中译码电路和译码显示共同构成了译码显示电路。其控制关系如图2-1所示。

图2-1总体方案图

2.2总体逻辑功能图

按照按键控制电路的运行状态与数码管的显示数字的分析,总结写出不同开关按下时,数码管的显示,以满足当有开关按下时,用数码显示管显示其标识数字,并保持到新的按键作用,并且多个按键同时作用,只响应最先作用的按键的任务

要求。其关系如下表1。

表1 开关和数码显示的关系

2.3设计方案的选择

在设计本电路时,一共考虑过两种方案。这两种方案的不同点在于编码的方法不同,触发电路以及译码显示电路的芯片选择不同。下面简单的介绍一下这两种方案。

2.3.1.编码电路的选择

方案一:用十个按键和门电路组成的8421BCD码编码器

此电路逻辑图如图2-2所示,增值表如表2所示,十个按键S0-S9分别对应十进制数0-9,编码输出为ABCD和GS。

对真值表和逻辑电路进行分析,可得知:1.该编码器为输入低电平有效;2.再按下S0-S9中任意一个键时,即输入信号中有一个为低电平是GS=1,表示信号输入,在本次设计中还可作为后续电路的反馈信号,只有S0-S9均为高电平时GS=0,

图2-2 用十个按键和门电路组成的8421BCD码编码器

表示有无信号输入,此时的输出代码0000为无效代码。

尽管用十个按键和门电路组成的8421BCD码编码器由以上诸多强大的功能,不过其门电路在实际中很难找到。我也曾经想过用其他的门电路来代替图2-2中的五输入与非门但还是比较复杂让人望而却步。这就是我不选此电路的一个重要原因。

表2 十个按键8421BCD码编码器真值表

方案二:由74LS147和非门组成的十进制编码电路

此方案中用一个74LS147代替了方案一中大量的门电路,让电路变得简化。美中不足的是74LS147只有九个输入端,再加上74LS芯片后必须得加上四个非门,让我感觉很麻烦,这也让我一度放弃用这种编码电路。后来,我发现可以用反馈电路中的一个开关代替“0”输入开关,弥补了它的不足,这一点将在后续的反馈电路中加以说明。所以采用此方案。

2.3.2触发电路的选择

方案一:由74LS373和反馈电路连接

74LS373是一个八D锁存器。我让其使能端与反馈电路相连接,使得有信号输入后,反馈使能,锁存信号,使得其他信号不能输入,实现如果多个按键同时作用,只响应最先作用的按键的作用。理论分析的结果和仿真效果完全吻合。但是,在实际制作中,我们的开关系统所用的开关是按键是的。用这种方法,当开关由闭合到断开后,数码显示管显示的数字会归零,不符合“当有键按下时,用数码显示管显示其标识数字,并保持到新的按键作用”的功能。

另外,选用锁存器就是一个方向性的错误。当我决定用按键开关时,就应该想到应该用触发器。

综合以上理由,不选方案一。

方案二:由74LS273与反馈电路连接

74LS373是一个八D触发器,适合于这种用按键开关控制的电路。按键开关每按一下都会产生相应的一个脉冲信号,进行反馈和触发。

方案二完全符合本题目的要求,所以选方案二

方案一和方案二的总体电路图分别如图2-3,图2-4所示。

图2-3方案一的总体设计图(弃选)

图2-4方案二的总体设计图(采用)

3.单元电路的功能说明

3.1单元电路的设计

3.1.1 按键控制电路

按键控制系统不仅仅是几个开关,图3-1就是一个典型错误。

图3-1 错误的开关连接

图3-2正确的开关连接

图3-1中没有加上拉电阻,当按键没有按下时,芯片输入管脚悬空,不利于电路功能的实现。

正确的按键电路应该是加上10k的上拉电阻,使得当按键都没有按下时,芯片输入为高电平。否则,若按照图3-1的接法,没有一个按键按下时,芯片的输入有可能是高电平,也有可能是低电平,造成芯片输入混乱,对后面的逻辑电路造成重大的影响。

如图3-2所示,从上到下的按键分别表示1,2,3,4,5,6,7,8,9.。.通过按键的闭合即可完成相关信号的输入。

3.1.2编码电路

按键状态扫描显示电路的设计我采用的是74LS147十进制优先编码器,它的真值表和管脚图如下。

表3 74LS147真值表

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

74147将9 条数据线(1-9)进行4 线BCD 编码,即对最高位数据线进行译码。当 1-9 均为高电平时,编码输出(ABCD)为十进制零。故不需单设/IN0 输入端。74LS147优先编码器的输入端和输出端都是低电平有效,即当某一个输入端低电平0时,4个输出端就以低电平0的输出其对应的8421 BCD编码。当9个输入

图3-3 74LS47管脚图

全为1时,4个输入出也全为1,代表输入十进制数0的8421 BCD编码输出。

选用74LS147有一个明显的缺陷,就是它只有九个输入端子,不能实现“0”按键的功能。但是,幸运的是,“0”按键的功能比较简单。可以在后续电路中实现,具体情况我将要在后续电路中介绍。

3.1.3触发电路的设计

如图3-5所示,为带有清零端的八D触发器74LS273。只有在清除端保持高电平时,数据才能通过触发器传递到后续电路。触发控制端为11脚CLK,采用上升沿触发。通过D触发器,我们可以将输入的相关信号“锁存”(因为必须要有上升沿的脉冲触发才能使信号通过,有点类似于锁存)起来。防止信号的任意跳变。 74LS273是8位数据/地址锁存器,他是一种带清除功能的8D触发器

1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上;

第一脚WR:主清除端,低电平触发,即当为低电平时,芯片被清除,输出全为0(低电平);

CP(CLK):触发端,上升沿触发,即当CP从低到高电平时,D0~D7的数据通过芯片,为0时将数据锁存,D0~D7的数据不变

1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作

8位地址锁存器。

图3-4 74LS273的电气符号引脚图和逻辑功能表

通过真值表以及芯片的相关功能,我们已经了解74LS273的相关功能。在本次相关电路的设计中,通过反相器作用的信号输入到芯片74LS273,由于芯片为八D 触发器。由D触发器的基本功能,输出Q端与输入D相同,如果同时有多个按键作用的时候,此时74LS273芯片起到锁存器的作用,只显示出最初输入的信号。

同时,当按键恢复到没有按下去的时候,信号通过相关逻辑作用后,反馈给CLK。在CLK的作用下,实现清零的功能。清零以后,D触发器就不再锁存以前加入的信号。当有按键按下去的时候,此时芯片输入的就是作用按键的信号,再通过D触发器的作用,就可以完成新输入信号的锁存。

3.1.4逻辑反馈电路的设计

逻辑反馈电路如图3-5所示,有四个个或门(实际操作时,用或非门加上一个非门代替或门,具体原理为:L=A+B=A B

)和一个开关组成。其中出现的开关是“0”开关。

当图3-6中的四个非门有一个输出为高电平,就会输入一个上升沿信号到CLK 端,并且输出一个高电平到清零端,使得输出的信号通过。而且如果最先按下的

按键没有按下,高电平会持续输入到CLK端,阻止其他信号的输入。从而实现“如果多个按键同时作用,只响应最先作用的按键”的功能。

图3-5逻辑反馈电路

CLK端的具体逻辑输入为:

CLK=Q1+Q2+Q3+Q4

对于MR输入表达式,根据设计的方案,写出MR的逻辑表达式: MR=CLK+D0

图3-5中的开关起到清零的作用,由于设计的电路中有一些芯片需要控制使能端,才能使芯片工作在所需要的状态。此外对于不同的芯片,可能有效的信号高低电平不同,需要加入反相器进行相关的转换。因为设计选择的芯片是九输入的74LS147,所以我们还需要补充一个按键作为“0”按键。而上图中的开关就是“0”开关。当该按键按下时,输出低电平到清零端清零。

3.1.5译码显示电路的设计

本次设计利用的是CD4511芯片以及共阴极七段数码显示管显示管构成译码显示电路。

这里,先简要介绍一下CD4511。

CD4511的功能:

CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点如下:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS 电路能提供较大的拉电流。可直接驱动LED显示器。用CD4511实现LED与接口方法如下图:

图3-6 CD4511连接方法

其功能介绍如下:

BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。

LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。

LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。

A1、A2、A3、A4、为8421BCD码输入端。

a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。

CD4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作。

1. CD4511的引脚

CD4511具有锁存、译码、消隐功能,通常以反相器作输出级,通常用以驱动LED。

其引脚图如3-2所示。

各引脚的名称:其中7、1、2、6分别表示A、B、C、D;5、4、3分别表示LE、BI、LT;13、12、11、10、9、15、14分别表示 a、b、c、d、e、f、g。左边的引脚表示输入,右边表示输出,还有两个引脚8、16分别表示的是VDD、VSS 2. CD4511的工作原理:

(1)CD4511的工作真值表如表3所示

( 2 )锁存功能

译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态。

当LE为“0”电平导通,TG2截止;当LE为“1”电平时,TG1截止,TG2导通,此时有锁存作用。如图3-3

(3)译码

CD4511译码用两级或非门担任,为了简化线路,先用二输入端与非门对输入数据B、C进行组合,得出A、B、C、D四项,然后将输入的数据A、D一起用或非门译码。

(4)消隐

BI为消隐功能端,该端施加某一电平后,迫使B端输出为低电平,字形消隐。消隐控制电路如图3-6所示。

消隐输出J的电平为:

J=(C+B)D+BI

如不考虑消隐BI项,便得J=(B+C)D

据上式,当输入BCD代码从1010---1111时,J端都为“1”电平,从而使显示器中的字形消隐。

表3 CD4511的真值表

输入输出

LE BI LI D C B A a b c d e f g 显示

X X 0 X X X X 1 1 1 1 1 1 1 8

X 0 1 X X X X 0 0 0 0 0 0 0 消隐

0 1 1 0 0 0 0 1 1 1 1 1 1 0 0

0 1 1 0 0 0 1 0 1 1 0 0 0 0 1

0 1 1 0 0 1 0 1 1 0 1 1 0 1 2

0 1 1 0 0 1 1 1 1 1 1 0 0 1 3

0 1 1 0 1 0 0 0 1 1 0 0 1 1 4

0 1 1 0 1 0 1 1 0 1 1 0 1 1 5

0 1 1 0 1 1 0 0 0 1 1 1 1 1 6

0 1 1 0 1 1 1 1 1 1 0 0 0 0 7

0 1 1 1 0 0 0 1 1 1 1 1 1 1 8

0 1 1 1 0 0 1 1 1 1 0 0 1 1 9

0 1 1 1 0 1 0 0 0 0 0 0 0 0 消隐

0 1 1 1 0 1 1 0 0 0 0 0 0 0 消隐

0 1 1 1 1 0 0 0 0 0 0 0 0 0 消隐

0 1 1 1 1 0 1 0 0 0 0 0 0 0 消隐

0 1 1 1 1 1 0 0 0 0 0 0 0 0 消隐

1 1 1 X X X X 锁存锁存

这里我要着重强调一下七段译码显示管,它看似简单,却让我们组吃尽了苦头。简单的数码管还分为两种:共阴极和共阳极(如图3-7,图3-8)。.

图3-7 共阴极数码管

图3-8 共阳极

图3-9数码显示管管脚图另外,我们所选用的CD4511只能搭配共阴极数码显示管。

3.2整体电路的工作原理

整个电路的电路图如下:

图3-10 总体电路图

电路中有十个按键,右侧的那个按键为“0”,左侧的按键从高到低依次是1-9。当任意按键按下后,通过译码电路,数码显示管显示其对应的数字,并通过触发电路的作用,保持到有新的按键作用。当多个按键同时作用时,由于反馈电路的作用,只响应最先作用的按键。

4利用protues,Multisim仿真电路

NI Multisim软件是一个专门用于电子电路仿真与设计的EDA工具软件。作为Windows 下运行的个人桌面电子设计工具,NI Multisim 是一个完整的集成化设计环境。NI Multisim计算机仿真与虚拟仪器技术可以很好地解决理论教学与实际动手实验相脱节的这一问题。学员可以很方便地把刚刚学到的理论知识用计算机仿真真实的再现出来,并且可以用虚拟仪器技术创造出真正属于自己的仪表。NI Multisim软件绝对是电子学教学的首选软件工具。

整个操作界面就像一个电子实验工作台,绘制电路所需的元器件和仿真所需的测试仪器均可直接拖放到屏幕上,轻点鼠标可用导线将它们连接起来,软件仪器的控制面板和操作方式都与实物相似,测量数据、波形和特性曲线如同在真实仪器上看到的。

提供了世界主流元件提供商的超过17000多种元件,同时能方便的对元件各种参数进行编辑修改,能利用模型生成器以及代码模式创建模型等功能,创建自己的元器件。

以SPICE3F5和Xspice的内核作为仿真的引擎,通过Electronic workbench 带有的增强设计功能将数字和混合模式的仿真性能进行优化。包括SPICE仿真、RF仿真、MCU仿真、VHDL仿真、电路向导等功能。

提供了转换原理图和仿真数据到其他程序的方法,可以输出原理图到PCB布线(如Ultiboard、OrCAD、PADS Layout2005、P-CAD和Protel);输出仿真结果到MathCAD、Excel或LabVIEW;输出网络表文件;向前和返回注;提供Internet Design Sharing(互联网共享文件)。

Proteus是一种功能强大的电子设计自动化软件,提供智能原理图设计系统、SPICE模拟电路、数字电路及MCU器件混合仿真系统和PCB设计系统功能。其不仅可以仿真传统的电路分析实验、模拟电子线路实验、数字电路实验等,而且可以仿真嵌入式系统的实验,其最大的特色在于可以提供嵌入式系统(单片机应用系统、ARM应用系统)的仿真实验,这也是其它任何仿真软件无力所及的。例如,其支持单片机和周边设备,可以仿真51系列、8086、AVR、PIC、Motorola的68系列等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus

提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件等。在编译方面,它也支持Keil和MPLAB等多种编译器。

至于具体的仿真,前面都有叙述,此处不再赘述。

5.结束语

本次设计是通过查阅各种资料和我们的讨论的思考做出做出来的,在设计的过程中我们每个人都提出了自己的想法,用各种不同的芯片以实现我们所需要的功能。通过讨论我们从每个人的不同方案中选择出比较简单,易于实现的方案,自己独立思考,并且都自己动手组装电路。再组装前,我们就自己的方案用protues 进行了仿真,在仿真的过程中我们找到自己电路可能出现的问题,并且从中改正自己的错误。在这个过程中,我学会了自己找自己的错误,不是自己的就是对的,同时也告诉我,要更有耐心,更仔细的去完成设计,不能大概对了就马马虎虎的去动手。在改正自己的错误的过程中,我发现自己做动手分析问题的能力增强了,自己对设计的原理理解也更清楚了。

同时再动手搭电路的过程中发现动手做与仿真时还是不一样的,在动手的过程中会遇到仿真时没遇到的问题,接线时有时会没接好,导致断路,而没有发现,需要用万用表检查,而仿真时接线好不好一眼就可以看出来了,因此亲手做时还是不一样的。

此次的课程设计锻炼了我的思维和动手能力,在与同学的相互交流中看到了同学们不一样的想法,我们互相学习,相互提高,同时也拓宽了我们的视野,让自己的学习能力在设计的过程中得到提高。

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

相关主题
文本预览
相关文档 最新文档