键盘及接口显示电路EDA

键盘及接口显示电路EDA
键盘及接口显示电路EDA

河南科技大学

课程设计说明书

课程名称__________ E DA技术 _____________ 题目—键盘及接口显示电路________________

学院车辆与动力工程学院

班级农业电气化与自动化091

学生姓名 __________ 卢浩冉 ______________

指导教师___________ 罗四倍 _______________ 日期 _________ 2012年7月12号 ______

键盘及接口显示电路

摘要

本文通过对4M矩形键盘的信息采集,并能够在数码显示管上显示所按下的信息。通过循环输出行信号,检测列信号输入,将行列信号相并,来达到采集信号的目地,并通过译码在7 段数码管上显示出来。此次设计,为了防止抖动引起的混乱,加入了一个防抖动环节。

在译完一个键值后,加了一个计算环节,一旦检测到列信号后,译码,紧跟着进入计数环节,此时键抖动不会进入其他环节,这样可以防止抖动。给精度较高的场合应用提供了良好的条件,为以后高精度的应用创造良好空间。设计中通过按键控制可以显示字符串,例如“HELLO较小的改动可以任意显示5个字符,这在广告中的用处随处可见,给现代生活带来了方便。

关键词:键盘扫描译码显示字符串

目录

第一章绪论..........................

§1.1 设计目的和意义 (4)

§1.2 设计任务及要求 (4)

第二章总体设计........................

§2.1 工作原理 (5)

§2.2 设计思路 (5)

§2.3 数码管显示译码模块设计 (6)

§ 2.4字符串“ HELLO的模块实现 (7)

§ 2.4.1 七段数码管译码扫描显示 (7)

§ 2.4.2 原理图 (8)

第三章仿真 (9)

§ 3.1 键盘扫描功能的仿真 (9)

§ 3.2 字符串的仿真 (10)

第四章程序 (10)

§ 4.1 键盘扫描程序 (11)

§ 4.2 字符串显示程序 (16)

第五章结论 (18)

参考文献19

第一章绪论

§1.1 设计目的和意义

本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA 技术并掌握VHDL 硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过学习的VHDL 语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对掌握4M键盘的扫描的巧妙实现和对字符串的显示过程.巩固和综合运用所学知识,提高IC 设计能力,提高分析、解决计算机技术实际问题的独立工作能力。

§1.2 设计任务及要求

1. 键盘扫描功能:能够对矩形键盘信息采集;

2. 显示功能:能够显示相应的按键信息,并能够在按键控制下切换为字符串显示

“ HELLO”!

3. 掌握数码管工作的原理,并能够对设计的程序进行仿真和测试,以实现相应的功能。

第二章总体设计

§2.1工作原理

可编程器件的KEY_HANG[3..0] 行信号输出端不停循环输出“1110”“ 1101”“ 1011。”当“没0有11键1”按下时可编程器件的KEY_LIE[3..0] 列信号输入端检测到的是“1111。”当有按键按下时,如按下1,此时KEY_HANG[3..0] 行信号输出为“0111,”即KEY_HANG[3..0] 的3管脚为“0,”可由电路看出,此时输入端KEY_LIE[3..O]检测到的将是“011。KEY_LIE[3..O]的3管脚为0,可以在编写程序时,将输出信号KEY_HANG[3..0] 与输入信号KEY_LIE[3..0] 同时判断,比如可以认为当数据“KEY_HANG&KEY_LIE 为“ 0 1 1 1 0 1 1 1时,可译码成数据1,。同理可得其他按键的编码。根据不同数据的编码译成不同的数据。

§2.2设计思路

1. 循环输出行信号,检测列信号输入,将行列信号相并。

2. 译键值。

3. 去抖动。在译没一个键值后,为了防止抖动,加了一个计算环节,一旦检测到列信号后,译码,紧跟着进入计数环节,此时键抖动不会进入其他环节,这样可以防止抖动。

4. 数码管译码、循环显示。

电路的具体功能罗列如下:

1) 采用4X4矩阵键盘作为操作数和操作符的输入设备。

2) 采用2位8段数码管作为输出显示设备,显示按下的数字及简单的功能。

3) 由于所有键盘在按下或者弹起的时候均有按键抖动,所以应该采用去抖电路,当检测到有按键按下去的时候,应该延时20ms后,再进行检测,如果仍有键盘按键被按下去的话,则进行键盘读值。

当CLK_1K上升沿到来时状态转为stateQ然后判断列与非后的值,看是否有按键按下,如果有输入数据,则自动启动20ms的计数器,当计满数后,产生一个指示信号,此信号为1bit,高电平有效。当读到此指示信号后,便再次将row信号锁存至寄存器,便得到键盘的一个返回值。如果row没有变化,则state转换为state2,对第

二行进行按键扫描。依此类推,扫描第三行与第四行。

因为普通的按键都是接触式的,当按键闭合或释放时,上下接触面都会产生一个很短暂的抖动,如图2.2所示,这个抖动时间一般都会持续5-10ms,虽然这个抖动时间很短,但对于FPGA工作在50M的高频率上的器件来说,还是可以捕捉的到的。为了使CPU对于一次按键操作只处理一次,在软件中必须加入去除抖动处理。如图 2.1所

图2.1按键闭合时产生的抖动

由图中可以看出,最简单的去抖方法就是每隔一段时间读一次键盘,时间间隔大于10ms即可。如果连续两次检测都有按键被按下,则可以肯定有按键被按下,而且也进入闭合稳定期。

§2.3数码管显示译码模块设计

数码管显示译码电路主要用来对实际的二进制数据装换为8段数码管的实际显

示控制码,采用两个2位的8段共阴极数码管,数码管的显示方式有两种:静态显示和动态显示。具体如下:

静态显示方式:所谓静态显示就是指无论是多少位数码管,同时处于显示状态需要的硬件电路较多(每一个数码管都需要一个锁存器),将造成很大的不便,同时

由于所有数码管都处于被点亮状态,所以需要的电流很大,当数码管的数量增多时,

对电源的要求也就随之增高。所以,在大部分的硬件电路设计中,很少采用静态显

动态显示方式:所谓动态显示,是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。

动态显示的优点是:硬件电路简单(数码管越多,这个优势越明显),由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有1/8秒,所以亮度较低;如果刷新率较低,会出现闪烁现象;如果数码管直接与单片机连接,软件控制上会比较麻烦等。

显示译码方式如下:

1)时钟上升沿到来时分别对位选和段选进行译码。

2)将输入的2bite位选数据译码成4比特数据控制数码管的2位,由于是共阴极数码管要选定相应的数码管则使该位位低电平,其它位为高电平即可,如:0000 译码为0111_1111,对应于实验板上的左边第一位数码管。

3)将输入的4bite段选数据译码为8比特数据控制8个LED的亮灭,最高位接A,最低位接小数点位DP。若要显示0则对应的译码为8' b1111_1100

§2.4字符串“ HELLO的模块实现

§2.4.1 七段数码管译码扫描显示

elk:时钟输入端,此信号是串行扫描的同步信号。

data_control[7..0]:8 个分别控制数码管显示的输入信号;

led_addr[7..0]:对8 个数码管进行串行扫描的输出控制信号;

seg7_data[6..0:] 驱动7 段数码管各显示段的输出信号;

单片机键盘显示接口电路设计说明

中北大学 单片机及其接口技术 课程设计说明书 学生:学号: 学院: 专业: 题目:单片机键盘显示接口电路设计 指导教师:小林职称: 副教授 2012年6月17日

中北大学 单片机及其接口技术 课程设计任务书 11/12 学年第二学期 学院: 专业: 学生姓名:学号: 课程设计题目:单片机键盘显示接口电路设计 起迄日期:6月11日~6月17日 课程设计地点:中北大学 指导教师:小林 系主任:王忠庆

下达任务书日期: 2012年06月11日课程设计任务书

课程设计任务书

第一章、绪论89C51是一种带4KB闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。在本次课程设计中,便采用89C51单片机。 第二章、设计容 一、4×4键盘 原理:4 行 行 行 行

图1 电路原理图见附图一 本次设计为4×4的矩阵键盘,这样的设计可以有效的减少键盘与单片机接口时所占用的I/O接口。在这种非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下,对键的识别常采用逐行(逐列)扫描的方法。 首先判断有无按键按下。方法是:向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入到累加器A中,如果有按键按下,会使列线电平被拉至低电平,是列输入不全为1。 判断键盘哪一个键被按下。方法是:一次给行线送低电平,然后查所有列线状态,称为行扫描,如果全为1,则所按下键不在此行,如果不全为1,则所按下键必在此行,而且是在与零电平列线相交的交点上的那个键。 在此,按键的位置码并不等于按键的实际定义键值,因此还必须进行转换,即键值译码,本次设计中采用软件实现键值的译码,译码方式如下: 第0行键值为:0行×4+列号(0~3)为0、1、2、3; 第1行键值为:1行×4+列号(0~3)为4、5、6、7; 第2行键值为:2行×4+列号(0~3)为8、9、A、B; 第3行键值为:3行×4+列号(0~3)为C、D、E、F; 译码程序如下:

显示和键盘流程图及程序

3.2 部分软件设计 3.2.3显示子程序 动态显示程序框图如图所示。显示程序的要点有两个:一是代码转换。因为直接驱动LED 显示器的是字形码,而人们习惯的是0、1、2、…、F 等字符,因此,必须将待显示的字符转换成字形码。转换用查表的方法进行。二是通过软件实现逐位轮流点亮每个LED 。 为了实现代码转换,首先开辟一个显示缓冲区,将待显示的字符预先存放在缓冲区中。由于有4位LED 显示器,故不妨假设显示缓冲区长度为4个字节。显示缓冲区地址为DIS 0~DIS 3 ,DIS 0单元与最左边一位LED 相对应,DIS 3单元与最右边一位LED 相对应。 程序清单如下: DIS : ORG 0500H MOV A ,#00000011B MOV DPTR ,#7F00H MOVX @DPTR ,A MOV R0,#78H MOV R3,#7FH MOV A ,R3 LD : MOV DPTR ,#7F01H 开 始 结 束 8051初始化 指向下个显示缓冲单元 显示下一位 延时1mS 段选码送入 查段选表 送位选字 动态显示初始化 3位显示完?

有键闭合吗? 确有键闭合吗 闭合键释放吗 返 回 MOVX @DPTR ,A INC DPTR MOV A ,@R0 ADD A ,#0DH MOVC A ,@ DPTR ACALL DLY MOV A ,R3 JNB A ,R0 RR A ,LD1 MOV R3,A INC R0 AJMP LD0 LD1: SJMP LD1 DSEG :DB 3FH ,06H ,5BH ,4FH ,66H ,6DH 7DH ,07H ,7FH ,6FH DLY : MOV R7,#02H DL : MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL RET 3.2.4键盘子程序 键盘扫描子程序框图如图 图3-4 键盘扫描子程序框图 开 始 两次调用 延时子程序 判断闭合键号 键号 → A 调用延时子程序

编码器和译码器的应用

编码器、译码器及应用电路设计 一、实验目的: 1、掌握中规模集成编码器、译码器的逻辑功能测试和使用方法; 2、学会编码器、译码器应用电路设计的方法; 3、熟悉译码显示电路的工作原理。 二、实验原理: 1、什么是编码: 教材说:用文字、符号、或者数字表示特定对象的过程称为编码 具体说:编码的逻辑功能是把输入的每个高、低电平信号编成对应的二进制代码 2、编码器74LS147的特点及引脚排列图: 74LS147是优先编码器,当输入端有两个或两个以上为低电平,它将对优先级别相对较高的优先编码。其引脚排列图: 3、什么是译码:译码是编码的逆过程,把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出,译码器广泛用于代码转换、终端的数字显示、数据分配、组合控制信号等。 译码器按照功能的不同,一般分为三类:二进制译码器、二—十进制译码器、显示译码器。 (1)变量译码器(用以表示输入变量的状态) 74LS138的特点及其引脚排列图:反码输出。 ABC是地址输入端,Y0—Y7是输出端,G1、G2A’、G2B’为 使能端,只有当G1=G2A’=G2B’=1时,译码器才工作。 (2)码制变换译码器:用于同一个数据的不同代码之间的相互转换,代表是4—10线译码器 译码器74LS42的特点及其引脚排列图: 译码器74LS42的功能是将8421BCD码译成10个对象 其原理与74LS138类同,只不过它有四个输入端, 十个输出端,4位输入代码0000—1111十六种状态组合

其中有1010—1111六个没有与其对应的输出端, 这六组代码叫做伪码,十个输出端均为无效状态。 (3)数码显示与七段译码驱动器:将数字、文字、符号的代码译成数字、文字、符号的电路 a、七段发光二极管数码显示管的特点:(共阴极) b、七段译码驱动器: 4、在本数字电路实验装置上已完成了译码器74LS48和数码管之间的连接图。 三四五脚接高电频,数码管的单独端接低电频。

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

信息工程学院实验报告 课程名称:微机原理与接口技术 实验项目名称:键盘扫描及显示实验 实验时间: 班级: 姓名: 学号: 一、实 验 目 的 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. 运行程序,按下按键,观察数码管的显示。

电脑键盘接线图

电脑键盘接线图 判断键盘控制电路板上的四根线各起什么作用至关重要。将电路板翻过来后可以看到其背面已有明确的提示(图四):黄线Vcc为+5V高电平;红线为地线GND低电平;绿线为Keyboard DATA高电平;白线为Keyboard Clock低电平。不同的键盘连线颜色的定义可能也不同,因此如果不能根据提示正确识别的话可以用万用表测量一下或者参考图五中对于连线的定义(图五)。USB延长线中也是一组四根线,分

别为红、白、绿、黑四根。它们分别对应的是+5V电源、数据负线(DATA-)、数据正线(DATA+)及地线(GND)

电脑键盘的四根线如何接 罗技键盘,y-ss60 线的颜色:红,绿,白,黑 盼请解答,谢谢! 四根线分别是:电源,地,数据,时钟 你要把键盘拆出来,线的另一端焊在里面的电路板,上面标有v(电源),g(地),c(时钟),d(数据).再到网上找个键盘接口定义的图,对着另一端接上去就可以了 这是普通的ps/2的键盘接线图,图中是接口(ps/2插头)截面图。上面标的字母一般在键盘里的电路板上有印的,对照着焊就行了。如果没有标注字母,这个我就没办法了哈哈~多数键盘应该是按照dcgv的顺序排线的,没有写明的可优先考虑这个。 针脚定义如下: pinnamedirdescription 1n/cnotconnected 2data-keydata 3vccpower,+5vdc 4gndgnd 5n/cnotconnected 6clk-clock 键盘接线黄、红、白、绿对应的针脚如下 对应ps/2线对应ps/2针脚 黄3 红4 白6 绿2 对应的电线和针脚连接为: 对应ps/2线对应ps/2针脚 蓝3 白6 绿2 橙4 PS/2鼠标自己动手改USB接口 USB作为电脑外设的一种高速连接标准,目前已广泛应用到了各种外部设备上。电脑主机则在机箱上提供了前置USB接口,有的厂商甚至是在显示器与键盘都添加了USB接口,其目的就是为了能够让用户方便的进行连接鼠标、数码相机等耗电量小的USB外设而无须费力弯腰去机箱背后接插USB设备。键盘上这种体贴的设计让我等用户羡慕不已,我们能不能自己动手让普通键盘也能拥有一个USB接口呢? 答案当然是肯定的。由于键盘与USB同样提供的是5V电源,且同样有地线、

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

实验四键盘扫描及显示设计实验报告 一、实验要求 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 对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按

8279示例程序

8279键盘和显示程序 Z8279 EQU 08701H //8279状态/命令口地址 D8279 EQU 08700H //8279 数据口地址 LEDMOD EQU 10H //左端输入八位字符显示 //外部译码键扫描方式,双键互锁 LEDFEQ EQU 38H //扫描速率 LEDCLS EQU 0D1H //清除 LEDWR0 EQU 80H //设定的将要写入的显示RAM地 址 ORG 0000H AJMP START ORG 0040H START: MOV SP,#60H LCALL INIT8279 //初始化8279 W AIT: MOV DPTR,#Z8279 MOVX A,@DPTR ANL A,#0FH JZ WAIT MOV A,#40H MOVX @DPTR,A MOV DPTR,#D8279 MOVX A,@DPTR ANL A,#3FH MOV R4,#00H MOV R5,A LCALL DISLED SJMP W AIT INIT8279: //8279初始化子程序 PUSH DPH //保存现场 PUSH DPL PUSH ACC LCALL DELAY //延时 MOV DPTR ,#Z8279 MOV A,#LEDMOD //置8279工作方式 MOVX @DPTR,A MOV A,#LEDFEQ //置键盘扫描速率 MOVX @DPTR,A MOV A,#LEDCLS //清除 LED 显示 MOVX @DPTR,A LCALL DELAY //延时 MOV DPTR,#Z8279 MOV A,#90H MOV DPTR,#D8279 MOV A, #40H MOVX @DPTR,A MOV A,#40H MOVX @DPTR,A MOV A,#0H MOVX @DPTR,A MOV A,#0H MOVX @DPTR,A MOV A, #0EFH MOVX @DPTR,A MOV A,#27H MOVX @DPTR,A MOV A,#5BH MOVX @DPTR,A MOV A, #7FH MOVX @DPTR,A POP ACC //恢复现场 POP DPL POP DPH RET 显示字符子程序 输入:R4,位置:R5 DISLED: PUSH DPH //保存现场 PUSH DPL PUSH ACC MOV A,#LEDWR0 //置显示起始地址 ADD A,R4 //加位置偏移量 MOV DPTR,#Z8279

根据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

8279键盘扫描输入实验

实验二 8279键盘扫描输入实验 一、实验目的 1.熟悉INTEL8279键盘、显示器接口与8031的连接方法; 2.掌握8279键盘扫描输入程序的编写; 二、实验要求 编写一个键盘扫描输入程序,把读取到的键值依次存放在8031片内RAM的30H-43H 单元中,超过20个键值时,多余的健值存放在44单元中。 三、芯片应用特性 8279是专用键盘、显示控制芯片,能对显示器自动扫描;能识别键盘上按下的键号,可充分提高CPU工作效率,8279与8031的接口方便,由它构成的标准键盘、显示接口在工业控制中得到广泛的应用。 1.关于INTEL 8279 无编码器键盘常常采用软件方法,逐行逐列地检查键盘状态,当发现按下的键后,用计算或查表等方法来找到该键的键编码。而INTEL 8279公司的键盘、显示接口芯片是一种扫描式键盘编码器芯片 8279是一种通用可编程键盘显示接口芯片,它能完成键盘输入和显示控制两种功能。键盘部分提供一种扫描方式,可与64个按键的矩阵键盘连接,能对键盘不断扫描,自动消抖,自动识别按下的键并给出编码,能对双键或n 键同时按下实行保护。 显示部分分为发光二极管、荧光管及其它显示器提供了按扫描方式工作的显示接口,它为显示器提供多路复用信号,可显示多达16个字符或数字。 2. 实验板8279键盘、显示电路介绍: 8279采用外部译码操作方式,74LS138输出8位显示器的位控制信号和键盘的行扫描信号。8279的8位输出线A0-A3和B0-B3与数码管的8个段相对应,经74LS240缓冲后,去驱动各数码管的8个段。74LS138输出的8根线由74LS240反相后,再经大电流驱动器ULN2003A驱动,成为各数码管的位选择信号,当位选信号有效时(呈0电平),相应数码管被选通,而显示内容则取决于它的各个显示段的电平。 四、实验步骤 1.线路连接及注意事项 1)线路连接 8279键盘键值可采用查询方式读取,也可以采用中断方式读取。查询方式须设等待键输入指令。实验板上,8279的中断请求线(IRQ)经反相后与插座CN8相连。做实验时,只须短接CN8上的KBIRQ、INT0。 2)注意事项 因8279的RL0无法回扫键值。实验板上,首行键盘与回扫线RL4相连,与原理图不同。编程时请注意,首行键盘编码值为04H、0CH、14H、1CH、24H。 2.程序设计 1)关于8279的端口 实验板的硬件连接决定了8279的数据口为2FFEH,当对数据口执行读操作时,读取到的数据为键值编码,对数据口执行写操作时,数据写入显示RAM中,8279的命令、状态口

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

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 三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。 √在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依

单片机4X4键盘接口和显示设计报告

汽车学院 单片机原理及接口技术 课程设计 题目:单片机原理与应用 专业:交通运输 班级:0 8 0 1 姓名:白鹭 学号:0811140107 指导教师:黄艳 (2011-6-29)

目录 一、开题报告 (3) 一、实验目的 (6) 二、实验内容 (6) 三、设计要求 (6) 四、系统设计环境 (7) 五、实验原理 (7) 六、实验步骤 (8) 七、设计流程图 (11) 八、程序编程 (13) 九、仿真过程 (18) 十、调试过程中的难点及其解决思路 (18) 十一、课设总结与体会 (19) 十二、参考文献 (20)

开题报告 一.课设目的 为了进一步加强巩固理论知识增强学生对所学知识的实际应用能力和应用所学知识解决问题的能力。通过本设计使学生在巩固所学知识的基础上具有初步的单片机系统设计与应用能力。 1.通过本设计,使学生综合应用,《微型计算机技术》,《数学电路》,及《模拟电路》等课程内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。 2、学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。 3、了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。 二、设计内容 1、本设计利用各种器件设计,并利用原理图将8255单元与键盘及数码管显示单元连接,扫描键盘输入,最后将扫描结果送入数码管显示。键盘采用4*4键盘,每个数码管可以显示0-F共16个数。将键盘编号,记作0-F,当没按下其中一个键时,将该按键对应的编号在一个数码管上显示出来,当在按下一个 键时,便将这个按键的编号在下一个数码管上显示,数码管上

单片机8279键盘显示实验

6.4 可编程键盘/显示器接口——Intel 8279 Intel 8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。键盘输入时,它提供自动扫描,能与按键或传感器组成的矩阵相连,接收输入信息,它能自动消除开关抖动并能对多键同时按下提供保护。显示输出时,它有一个16×8位显示RAM,其内容通过自动扫描,可由8位或16位LED数码管显示。 1.8279的内部结构和工作原理 8279的内部结构框图如图6.28所示。下面分别介绍电路各部分的工作原理。 1) I/O控制及数据缓冲器 数据缓冲器是双向缓冲器,连接内外总线,用于传送CPU和8279之间的命令或数据,对应的引脚为数据总线D0~D7。 I/O控制线是CPU对8279进行控制的引线,对应的引脚为数据选择线A0、片选线、读/写信号线和。 2) 控制与定时寄存器及定时控制 控制与定时寄存器用来寄存键盘及显示工作方式控制字,同时还用来寄存其它操作方式控制字。这些寄存器接收并锁存各种命令,再通过译码电路产生相应的信号,从而完成相应的控制功能。与其对应的引脚为时钟输入端CLK及复位端RESET。 定时控制电路由N个基本计数器组成,其中,第一个计数器是一个可编程的N级计数器,N为2~31之间的数。定时控制经软件编程,将外部时钟CLK分频,得到内部所需的100 kHz 时钟,为键盘提供适当的扫描频率和显示扫描时间。与其相关的引脚是显示熄灭控制端。 3) 扫描计数器 扫描计数器由键盘和显示器共用,为它们提供扫描信号。扫描计数器有两种工作方式:编码方式和译码方式。按编码方式工作时,计数器作二进制计数,4位计数状态从扫描线SL0~SL3输出,经外部译码器译码后,为键盘和显示器提供扫描信号。按译码方式工作时,扫描计数器的最低两位被译码后,从SL0~SL3输出,提供了4选1的扫描译码。与其相关的引脚是扫描线SL0~SL3。 4) 回复缓冲器、键盘去抖及控制 在键盘工作方式下,回复线作为行列式键盘的列输入线,相应的列输入信号称为回复信号,由回复缓冲器缓冲并锁存。在逐行列扫描时,回复线用来搜寻每一行列中闭合的键,当某一键闭合时,去抖电路被置位,延时等待10 ms后,再检查该键是否仍处在闭合状态。如不闭合,则当作干扰信号不予理睬;如闭合,则将该键的地址和附加的移位、控制状态等键

数电实验 编码与译码显示电路

实验二:编码与译码显示电路 一:实验目的 1.掌握中规模集成编码器及译码器的逻辑功能测试方法。 2.掌握编码器译码器的使用方法, 3.熟悉仿真工具的使用。 二:实验设备与器件 直流稳压电源,数字多用表,数字电路实验箱,三位二进制优先编码器,七段译码器,二输入与非门,双四输入与非门,六反相器。 四:实验内容 1.测试电路: 通信工程2014117308 周童桐

2.多位显示电路,要求具有灭零功能。 3.依据题目设计电路并仿真。 题目:若将八路服务信号按轻重缓急安排优先级别后,作为医院病房的八个呼叫信号,在护士值班室放置数码管显示电路,这样,当病号按下呼叫按钮发出呼叫信号时,护士值班室显示相应呼叫号码,并产生提示声音,在护士的按下处理按钮后,电路又回到等待呼叫状态,等待新的呼叫,设计上述控制电路及声音提醒电路并测试结果并用报警电路报警。

真值表: K0 Y2 Y1 Y0 A3 A2 A1 A0 I0 K1 1 1 1 0 0 0 1 I1 K2 1 1 0 0 0 1 0 I2 K3 1 0 1 0 0 1 1 I3 K4 1 0 0 0 1 0 0 I4 K5 0 1 1 0 1 0 1 I5 K6 0 1 0 0 1 1 0 I6 K7 0 0 1 0 1 1 1 I7 K8 0 0 0 1 0 0 0 依据真值表列式并计算 化简后得: A0=Y0 A1=Y0Y1’+Y0’Y1 A2=Y0’Y1’Y2+Y0Y1’Y2’+Y1Y2’ A3=Y0’Y1’Y2’ 依据化简后,设计电路。 依据电路图进行仿真:

应用74LS148编码部分: 优先显示电路部分:蜂鸣器电路:

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

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

8279键盘和显示程序

8279键盘和显示程序 #include #include #include #define COM8279 XBYTE [0xF2FF] //定义8279控制口 #define DATA8279 XBYTE [0xF0FF] //定义8279数据口 #define uchar unsigned char #define uint unsigned int uint keyval //定义键内码传递参数uint time //定义延时参数 void delay(uint time) void key(void) void main() { delay(1300) //开机延时 COM8279 = 0xD2 //清除RAM和FIFO delay(1) EA=1 EX1=1 //开总中断,开外部中断1;IT1=1 //外部中断1选用下降沿COM8279=0x03 //8279键盘N键巡回,编码扫描,左端入口COM8279=0x2a //时钟分频设置,分频数为10 COM8279=0x70 //设置读显示命令 COM8279=0x90; //设置写显示命令 while(1) } void delay (uint time) //传递参数为time { uchar j

while (time--) //用time-1来进行循环 { for (j=100;j>0;j--) //用j来进行125次循环,大约8us } } } void intsvr1(void) interrupt 2 using 1 { keyval=DATA8279 key() } //按键确认程序 void key(void) { switch(keyval) { case 0xC3: //0号键赋值 { P0=0x3F; DATA8279=P0; break; } case 0xC2: //1号键赋值; { P0=0x06; DATA8279=P0; break; } case 0xC1: //2号键赋值; {

实验五编码、译码、显示电路

实验五 编码、译码、显示电路 一、实验目的 1. 学习编码器原理及基本电路。 2. 熟悉七段译码器的逻辑功能和使用。 3. 掌握七段显示器的使用方法。 4. 进一步学习组合电路的应用。 二、实验用元器件 编码器74LS148×2 全加器74LS283×1 显示译码器4511×2 四2输入与非门74LS00×2 编码、译码、显示电路是由编码、译码器和显示器三部分电路组成的逻辑电路。下面分别加以介绍。 1. 编码器 实验中选用被广泛使用的74LS148集成8-3优先编码器。常用于优先中断系统、键盘编码等,引脚图如图2-1。共有9个输入引脚,一个使能端和8个编码输入,均为低电平有效,即输入“0”表示有输入,0~7输入的优先级 由低到高排列,优先级高的 输入有效时,优先级低的输入不起作用。输出为反码,如输入0号端有效时,如输出原码为“000”,实际输出“111”。功能见表2-1。可以将多片编码器扩展成更多二进制码,通过高位使能输出去控制低位编码器的使能输入,实现芯片之间的优先级,再将输出作相应处理,CS 是工作状态标志,如图2-2所示。 图2-1 74LS148的引脚图

表2-1 74LS148优先编码器的功能表 图2-2 优先编码器的扩展 2.全加器 实验中建议使用74LS283全加器,它将A0A1A2A3和B0B1B2B3相加,和由S0S1S2S3输出,C-1为进位输入,Co为进位输出。引脚图见图2-3。

图 2-3 74LS283全加器引脚图 图2-4 4511译码器 3. 译码器 这里所说的译码器是将二进制码译 成十进制数字符的器件。实验中选用的CD4511是一个BCD 码七段译码器,并兼有驱动功能,内部没有限流电阻,与数码管相连接时,需要在每段输出接上限流电阻,引脚排列见图2-4。表2—2是CD4511功能表, CD4511只能对0~9的数字译码,超出范围将无显示。 表3-2 CD4511功能表 4. LED 数码显示器 数码显示器采用八段发光二极管显示器,它可直接显示出译码器输出的十进制数。七段发光显示器有共阴接法和共阳接法两种:共阴接法就是把发光二极管的阴极都接在一个公共点 (接地),其引脚排列和内部原理如图2-5(a )所示, 配套的译码器为CD4511,

8279键盘显示C程序

8279键盘和显示程序#include #include #include #defineCOM8279XBYTE [0xF2FF定义8279 控制口#defineDATA8279XBYTE [OxFOFF定义8279 数据口#define uchar unsigned char #define uint unsigned int uint keyval// 定义键内码传递参数 uint time// 定义延时参数 void delay(uint time) void key(void) void main(){delay (13OO)// 开机延时 COM8279 = 0xD2/4青除RAM 和FIFO delay (1) EA=1 EX1 = 1〃开总中断,开外部中断1; IT仁1〃外部中断1选用下降沿

COM8279=OxOO//8279键盘双键互锁,编码扫描,左端入口 COM8279=Ox12〃时钟分频设置,分频数为18 COM8279=0x70 COM8279=0x90; while (1)}void delay (uint time)// 传递参数为time{uchar j// 设置读显示命令 // 设置写显示命令 while (time--)// 用time-1 来进行循环{for (j=100;j>0;j--)//用j 来进行125次循环,大约8us}}} void intsvr1(void) interrupt 2 using 1{keyval=DATA8279 key()}〃按键确认程序 void key(void){switch(keyval){case 0xC3:{P0=0x3F; DATA8279=P0; break;}case 0xC2:{P0=0x06; DATA8279=P0; break;}case 0xC1: {//0 号键赋值 //1 号键赋值; //2 号键赋值; P0=0x5B; DATA8279=P0;

数字显示电路

数字电子技术综合实验一 数字显示电路 组员: 目录 一、实验目的…………………………………………………….

3 ●二、设计要求…………………………………………….. 4 ●三、各模块设计方案……………………………………. 5 ●四、电路的焊接成型及工作检测 (14) ●五、实验感想及问题………………………..…………. 14

六、元件清单及制作费 用 (21) 一、实验目的 数字显示电路实验将传统的4个分离的基本实验,即基本门电路实验,编码器、显示译码器、7段显示器实验,加法器实验和比较器实验综合为‘—个完整的设计型的组合电路综合实验。通过本实验,要求我们熟悉各种常用MSI组合逻辑电路的功能与使用方法,学会组装和调试各种MSI组合逻辑电路,掌握多片MSI、SSI组合逻辑电路的级联、功能扩展及综合设计技术,使我们具有数字系统外围电路、接口电路方面的综合设计能力。 本次实验的目的为: 1、掌握基本门电路的应用,了解用简单门电路实现控制逻辑。 2、掌握编码、译码和显示电路的设计方法。 3、掌握用全加器、比较器设计电路的方法。

二、设计要求 操作面板左侧有16个按键,编号为0到15,另正面板右侧配2个共阳7段显示器,操作面板图如图1所示。 图1:显示电路面板示意图 设计一个电路:当按下小于10的按键后,右侧低位7段显示器

显示数字,左侧7段显示器显示0;当按下大于9的按键后,右侧低位7段显示器显示个位数字,左侧7段显示器显示l。若同时按下几个按键,优先级别的顺序是15到0。现配备1个4位二进制加法器74LS283,2个8线-3线优先编码器74LSl48,2个四2输入与非门74LS00,一个非门7404,2个显示译码器74LS47。 三、各模块设计方案 该数字显示电路为组合逻辑电路,可分为编码、译码和显示电路以及基本门电路、全加器电路。实验采用的主要器件有1个4位二进制加法器74LS283,2个8线-3线优先编码器74LSl48,2个四2输入与非门74LS00,一个非门7404,2个显示译码器74LS47。 1.各种芯片的功能介绍如下: ①8—3线优先编码器74LSl48简介 在数字系统中,常采用多位二进制数码的组合对具有某种特定含义的信号进行编码。完成编码功能的逻辑部件称为编码器。编码器有

键盘扫描电路

键盘扫描电路 设计: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口线恢复到默认状态。

实现特定功能的键盘及LED显示 接口课程设计要点

河北科技大学 《接口技术》课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期:2 0 —2 0 学年第学期 指导教师: 2 0 年月

课程设计成绩评定表 学生姓名学号成绩专业班级起止时间 设计题目 验收内容课程设计小组验收结果: 硬件设计:优秀□良好□中等□及格□需努力□程序设计:优秀□良好□中等□及格□需努力□实验结果:优秀□良好□中等□及格□需努力□ 课程设计个人验收结果: 操作能力:优秀□良好□中等□及格□需努力□软件理解:优秀□良好□中等□及格□需努力□硬件理解:优秀□良好□中等□及格□需努力□ 指导教师: 年月日

目录 一、设计题目:--------------------------------------------------------------------------------------------- 2 二、设计目的:--------------------------------------------------------------------------------------------- 2 三、设计原理及方案: ----------------------------------------------------------------------------------- 2 1、实验电路图---------------------------------------------------------------------------------------- 2 2、实验框图 ------------------------------------------------------------------------------------------- 3 3、各功能实现方案---------------------------------------------------------------------------------- 4 4、实验程序 ------------------------------------------------------------------------------------------- 4 四、实验方法------------------------------------------------------------------------------------------------ 9 1、实验电路测试------------------------------------------------------------------------------------- 9 2、软件测试 ------------------------------------------------------------------------------------------- 9 五、实验结果------------------------------------------------------------------------------------------------ 9 六、改进意见及建议 -------------------------------------------------------------------------------------- 9 七、设计体会------------------------------------------------------------------------------------------------ 9

相关文档
最新文档