键盘及显示接口设计

键盘及显示接口设计
键盘及显示接口设计

目录

一、课程设计的意义 (3)

二、课程设计的主要内容 (3)

三、课程设计的组织与安排 (3)

四、课程设计的要求 (4)

五、课程设计正文 (5)

1.设计原理 (5)

2.设计电路原理图 (6)

3.键盘及数码管显示电路接线图 (7)

4.使用原器件 (7)

5.课程设计总结 (7)

6.论文参考资料 (7)

六、附录一:程序流程图 (8)

七、附录二:课程设计程序 (9)

课程论文(设计)指导书

一、课程论文(设计)的意义:

1.通过《微型计算机原理与应用》课程设计,使学生能够进一步理解微型计算机工作原理, 微型计算机的硬件结构及微型计算机的应用软件编程。

2.要求学生能够根据功能要求初步进行硬件接口电路的设计,以及有关应用程序的设计,使学生的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。

3.课程设计是培养和锻炼学生在学习完本课程后综合应用所学理论知识解决实际工程设计和应用问题的能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。

4.通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。

5.通过设计过程,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件硬件调试、查阅资料、绘图、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

二、课程论文(设计)的主要内容:

结合微型计算机应用系统的功能要求、硬件电路设计,进行汇编语言程序设计,要求画出程序流程图,编写完整的源程序,并经上机调试完成。课程设计过程一般2~3人一组,各组完成的内容不能雷同。

要求每个学生(或小组)都要自己动手独立设计完成一个典型的微机应用小系统。设计题目可以在给出的参考题目中选,也可以自己选择适当的设计题目。

三、课程论文(设计)的组织与安排:

设计题目的选题原则:根据教学大纲对本门课程的教学要求和所讲授的课程内容,结合现有的教学实验设备和能力,按照课程设计的目的和作用所提出的要求,选择符合教学内容、符合学生水平、符合实验室条件,综合本门课的全部知

识,难易适中,使学生能在规定的时间内的通过集体讨论、查阅资料后可以完成课题。

所有的题目都要求以8086/8088为处理器,以所学过的常用接口芯片及存储器为外围扩展器件,软、硬件结合,完成题目给定的设计任务,要求画出正确的硬件电路并给出完整的程序清单。

分组要求:每2~3人一组。通过1周的集中设计时间,在老师的指导下应独立完成规定的设计任务。

四、课程论文(设计)的要求:

课程设计报告的内容主要有:方案确定,硬件电路图和设计说明,软件设计清单和设计说明,要求软件要有注释,设计报告的书写要求字迹清楚,语言流畅。

设计报告主要包括以下内容:

1. 设计题目分析

2. 总体设计方案分析、讨论

3. 硬件原理图设计(用自动布线绘图软件最好),要有设计过程说明。

4. 软件流程框图及程序清单(汇编语言源程序必须加注释说明)要有设计过程说明。

5. 设计总结和心得体会

课程设计报告的基本内容至少包括封面、正文、附录三部分。课程设计报告要求统一格式,字体工整规范。

1、封面

封面内容包括“《微型计算机原理与应用》课程设计报告”、班级、姓名、学号以及完成日期等信息。

2、目录

3、正文

正文是实践设计报告的主体,具体由以下几部分组成:

(1)课程设计题目;

(2)课程设计任务与要求;

(3)设计过程(包括方案论证、设计原理、创新点以及采用的新技术等);(4)硬件系统框图与说明;

(5)软件主要模块流程图与说明;

(6)工作总结(包括自己的收获与体会;遇到的问题和解决的方法;技术实现技巧和创新点;作品存在的问题和改进设想等);

4.附录

附录1:电路原理图

附录2:源程序及程序注释

附录3:使用元器件一览表(序号、名称、型号、规格、数量、备注)

附录4:参考文献

8255键盘及显示接口设计

用8255A的A口和B口作为20健的小键盘的接口,编写程序,使得在小键盘上按下键后,微机屏幕上有相应字符显示出来,当按下‘R’键时返回DOS。

设计原理:

1、键盘一般都是矩阵排列,行和列分别接微机的输出、输入端口,每个键都跨

接在某行和某列上,当键按下时,该行与该列短路。输入的端口线一般都通过电阻上拉至高电平。识别键盘上的闭合键,常用的方法有行扫描法和行反转法。

2、行扫描法:是使键盘的某一行输出为低电平,其余行为高电平,然后读取列

值,如果行值中有某位为低电平,则表明行列交点处的键被按下;若为全高则再扫描下一行,直至扫完全部的行线为止。这样便可知有否键按下,若有键按下,还可以知道是哪一行哪一列交点的键按下。

3、行反转法识别闭合键,需要用可编程的并行接口。行线接一个并行口,先让

它工作于输出方式,;列线接另一个并行口,先让它工作于输入方式。编程使CPU通过输出口向行线上全部送低电平,然后通过输入口读列线值,如果此时有某一键按下,则必定会使某一列线值为0。然后重新对并行口初始化编程,使行线接的端口为输出口,并将刚读得的列线值所接的并行口输出,再读取行线所接的输入口,取得行线上的输入值,那么,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可读得一对唯一的行值和列值。根据这一对行值和列值就可知哪一行哪一列的键被按下。

4、由于键内部的机械簧片在键按下和释放时会产生颤动,致使输入端口线上呈

现如图(一)所示波形。图中t1和t3分别为键闭合和断开过程中的抖动期,呈现一串负脉冲,时间长短和开关的机械特性有关,一般为10~20ms之间,t2为闭合的稳定期,其时间由操作员的按键动作所决定,一般为十分之几秒。

t0、t4为断开期。为了保证CPU对键的一次闭合作一次且仅作一次处理,必须去抖动,在键的稳定闭合或断开期读键的状态。

图(一)

克服抖动常用两种方法,硬件与软件法。在按键数较少时可用硬件方法。利用RS 触发器,使输出得到没有抖动的理想波形。实验台上的单脉冲电路就是采用硬件法消抖动的例子,如图(二)。在按键数较多时一般采用软件延时法,延

功能描述: 8255的B 口控制数码管的段显示,A 口控制键盘列扫描及数码管的位驱动,C 口控制键盘的行扫描。按下按键,该按键对应的位置将按顺序显示在数码管上。 PA0~PA7,PB0~PB7,PC0~PC7与其键盘及数码管端口连接即可。

键盘及数码管显示单元部分内部电路结构图如下:

块一个,8255A系统集成块一个,键盘及显示数码管集成块一个。74L37与非门2个,开关1个。

流程图见附录一,程序见附录二。

课程设计总结:

学了《微型计算机原理与应用》这门课后,把学到的用于做此次课程设计。此次设计选用了“8255键盘及显示接口设计”这个题目,题目并不陌生,应用道德知识却比较多,所以单从课本上学到的东西无法吗,满足这样的要求,只好查阅了其他资料后,历经一个星期终于顺利完成,完成的效果还满意,基本完成了课程设计的要求,并完成此份课程设计论文。设计中,碰到的问题还是比较多的。编程序是最大的问题。程序包括总线程序,8255A及键盘数码管显示的主程序。虽然有较多的参考资料,但毕竟和本次课程设计还是有区别,所以必须读懂程序,然后修改程序,以达到自己设计的效果。另外,设计电路原理图时也有些地方不知所措,系统总线和8255A及键盘数码管显示各个单元内部结构的了解。虽然不用对电路模块内部进行全方位的设计,但必须清楚内部大概结构,才知道如何进行接线,在这部分上参考了较多版本资料,最终由自己综合设计而成。

通过此次课程设计,把课堂上的理论知识很好的应用到了设计中来,不仅对8255A键盘及显示接口技术的知识有更多的了解,而且对这门课也认识很多。并且希望通过此次设计能在日后学习中有所用处。

参考资料:雷丽文等主编的《微机原理与接口技术——学习指导与实验》邹逢兴主编的《计算机硬件技术基础实验教程》

网上部分阅读参考资料

;PC8255.ASM

PAGE 60,78

PA55 EQU 218H

PB55 EQU 219H

P55CTL EQU 21BH

DATA SEGMENT

TABLE DW 0101H,0102H,0104H,0108H,0110H,0120H,0140H,0180H

DW 0201H,0202H,0204H,0208H,0210H,0220H,0240H,0280H

DW 0401H,0402H,0404H,0408H,0410H,0420H,0440H,0480H;字符码表CHAR DB …CDEFBA9845673210 RPMG?

MES DB …PLAY ANY KEY IN THE SMALL KEYBOARD!?,0AH,0DH DB …IT WILL BE ON THE SCREEN! END WITH“R”,0AH,0DH,’$’DATA ENDS

STACK SEGMENT STACK ‘STACK’

DB 100 DUP(0)

STACK ENDS

CODE SEGMENT

MAIN PROC FAR

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,OFFSET MES

MOV AH,09

INT 21H ;显示信息

KY: CALL KEY ;调键盘扫描子程序,DL=键入字符ASCII码 CMP DL,’R’ ;DL=’R’,则返回DOS

JNZ KY

MOV AX,4C00H ;IF(DL)=’R’, RETURN TO DOS

INT 21H

RET

MAIN ENDP

KEY PROC NEAR ;键盘扫描子程序,字符ASCII码在DL中KST MOV AL,82H ;方式0,A口输出,B口输入

MOV DX,P55CTL

OUT DX,AL

WAITL: MOV AL,00

MOV DX,PA55 ;A口输出0

OUT DX,AL

MOV DX,PB55

IN AL,DX ;读B口得列值

CMP AL,0FFH

JZ WAITL ;无键按下,转WAITL

PUSH AX

PUSH AX

MOV CX,1000H ;延迟去抖动

DLY: LOOP DLY

MOV DX,P55CTL

MOV AL,90H ;方式0,A口输入,B口输出 OUT DX,AL

MOV DX,PB55

POP AX

OUT DX,AL ;B口输出列值

MOV DX,PA55

IN AL,DX ;从A口读入行值

POP BX ;列值送AH

MOV AH,BL

NOT AX ;行列值取反

MOV SI,OFFSET TABLE ;SI 指向键值表首址

MOV DI,OFFSET CHAR ;DI指向字符码表首址

MOV CX,24

TT: CMP AX,[SI] ;与键值表比较

JZ NN ;在表中

DEC CX

JZ KST ;比较完,不相等转KST

ADD SI,2 ;修改指针

INC DI

JMP TT ;继续比较

NN: MOV DL,[DI]

MOV AH,02

INT 21H ;显示该键值对应字符

PUSH DX ;字符入栈保护

MOV AL,82H ;方式0,A口输出,B口输入 MOV DX,P55CTL

OUT DX,AL

WAIT2: MOV AL,00

MOV DX,PA55

OUT DX,AL ;A口输出0

MOV DX,PB55

IN AL,DX ;读B口得列值

CMP AL,0FFH

JNZ WAIT2 ;有键按下则等待释放

POP DX ;出栈

RET

KEY ENDP

CODE ENDS

END START

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

中北大学 单片机及其接口技术 课程设计说明书 学生:学号: 学院: 专业: 题目:单片机键盘显示接口电路设计 指导教师:小林职称: 副教授 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; 译码程序如下:

基本接口技术实验—键盘与显示实验

键盘与显示实验 1、实验目的 a)掌握矩阵键盘和独立式键盘的典型应用电路接法及应用编程; b)掌握LED动态显示和静态显示的典型应用电路接法及应用编程; c)学习采用8255驱动键盘与显示的方法。 2、实验设备 PC机一台,TD-PIT/TD-PIT-B实验装置一套。 3、关于键盘与显示应用程序的说明 a)键盘实现加减显示实验。选择两个按键作为独立式按键,分别为加键和减键,选择三个数码管作为动态显示器,编写程序,使按下不同的按键后进行加或减 计数。数据段定义参考程序段如下: data segment dtable db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh buf db e dup(4) count db 4 data ends 主程序包括8255初始化,以及键盘显示调用子程序(参考程序如下)。 begin: call dis call keyscan mov ah,06h mov dl,0ffh int 21h je begin mov ax,4c00h int 21h 独立式键盘扫描参考子程序如下: keyscan:保护现场 mov dx,my8255_c in al,cx and al,03h cmp al,03h jz scandone rprog: call dis call dis test al,01h jz l1 test al,02h jz l2 jmp scandone l1: inc count jmp next l2: dec count next: mov ax,count mov bl,10 div bl mov [di],ah inc di mov [di],al scandone:恢复现场 ret b)键盘显示实验。编写程序,扫描键盘输入,使按下不同的按键后数码块显示相应的数字。静态显示参考程序如下: dis proc near ;保护现场 mov di,offset buf ldisp: mov al,[si]

基于51单片机的USB键盘设计与实现

三江学院 本科生毕业设计(论文)题目基于51单片机的USB键盘设计与实现高职院院(系)电气工程及其自动化专业 学生姓名梁邱一学号 G105071013 指导教师孙传峰职称讲师 指导教师工作单位三江学院 起讫日期 2013年12月10日至2014年4月12日

摘要 随着计算机技术的不断更新和多媒体技术的快速发展,传统的计算机外设接口因为存在许多缺点已经不能适应计算机的发展需要。比起传统的AT,PS/2,串口,通用串行总线USB,具有速度快,使用方便灵活,易于扩展,支持即插即用,成本低廉等一系列优点,得到了广泛的应用。 本论文阐述了51系列单片机和USB的相关内容,详细介绍了系统的一些功能设计,包括硬件设计和软件设计。在程序调试期间用简单的串口通信电路,通过串口调试助手掌握了USB指令的传输过程,这对整个方案的设计起到了很大的指导作用。论文以单片机最小系统配合模拟键盘组成的USB键盘硬件系统,通过对D12芯片的学习与探索,在其基本命令接口的支持下,结合硬件进行相应的固件程序设计,使其在USB协议下,实现USB模块与PC的数据通信,完成USB键盘的功能模拟。 总结论文研究工作有阐述USB总线的原理、对本设计的系统要求作出了分析、根据要求选定元件和具体编程方案、针对系统所要实现的功能对相关芯片作了详细介绍以及在硬件部分设计了原理图。 关键词:USB;D12;PC

Abstract With the rapid development of computer technology and multimedia technology constantly updated, traditional computer peripheral interface because there are many shortcomings have been unable to meet the development needs of the https://www.360docs.net/doc/c35876438.html,pared to traditional AT, PS / 2, serial, Universal Serial Bus USB, with fast, flexible and easy to use, easy to expand, support Plug and Play, a series of advantages, such as low cost, has been widely used. This paper describes the 51 series and USB related content, detailing some of the features of the system design, including hardware and software design.During debugging a simple serial communication circuit, through the serial port debugging assistant master USB transfer instructions, which designed the entire program has played a significant role in guiding.Thesis smallest single-chip system consisting of analog keyboard with a USB keyboard hardware system, by learning and exploration D12 chips, with the support of its basic command interface, in conjunction with the corresponding hardware firmware design, making it in the USB protocol, USB module data communication with the PC, the USB keyboard to complete the functional simulation. This paper summarizes research work has elaborated the principle of the USB bus, the system is designed to require the analysis, components and solutions based on the specific requirements of the selected programming for the system to achieve the function of the relevant chips are described in detail in the hardware part of the design as well as the principle of Figure. Keywords:USB;D12;PC

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

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

矩阵键盘设计实验报告

南京林业大学 实验报告 基于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、电路图

单片机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,当没按下其中一个键时,将该按键对应的编号在一个数码管上显示出来,当在按下一个 键时,便将这个按键的编号在下一个数码管上显示,数码管上

基于FPGA的键盘接口设计正文

基于FPGA的键盘接口设计 专业:电子信息科学与技术系作者:李先仙指导老师:刘强摘要:现场可编程逻辑门阵列FPGA (Field Programmalbe Gate Array)具有掩膜可编程门阵列的通用结构,由逻辑功能块排成阵列组成,并由可编程的互联资源连接这些逻辑功能块以及相应的输入/输出单元来实现不同的设计。在电子产品中,键盘是最基本的输入设备,然而在应用中都采用通用的键盘扫描器件是不现实的,需要单独设计成专用的小键盘。随着电子技术和EDA (Electronic Design Automatic,电子设计自动化)技术的发展,大规模可编程逻辑器件PLD(Programmable Logic Device)、现场可编程门阵列FPGA完全可以取代大规模集成电路芯片,实现计算机可编程接口的功能,并可将若干接口电路的功能集成到一片PLD或FPGA芯片中。鉴于大规模PLD或FPGA的计算机接口电路不仅具有集成度高、体积小和功耗低等优点,而且还具有独特的用户可编程能力,从而实现计算机系统的功能重构。本文设计首先介绍行列式键盘的原理和应用,通过对其接口电路的详细分析;然后利用VHDL硬件描述语言和FPGA器件并采用模块化设计的方法完成了基于FPGA的行列式键盘接口电路的设计;最后通过计算机仿真,对本文设计的行列式键盘接口电路的正确性进行了验证。 关键词:键盘;仿真;VHDL语言;FPGA;模块化设计 Based on FPGA Keyboard Connection Design Major:Electronic Information Science and Technology Author: Li Xianxian Instructor: Liu Qiang Abstract: The Filed Programmmalbe Gate Array,shorted by FPGA,which has a mask-programmable gate array of generic structure and function blocks in the logic array of line,through a programmable logic of internet resources connecting these function blocks and the corresponding input/output modules to achieve different design.In electronic products,the keyboard is the most basic input device,however,it’s unrealistic of using general keyboard scanning device in the application ,we need for the separate designing of the small keyboard. With the development of Electronic and EDA(Electronic Design Automatic)technology,Large Scale Integration chips can be replaced by PLD(Programmable Logic Device)and FPGA ,which can realize the function of the Programmable Interface chips and feature a number of interface circuits integated into one of the PLD or FPGA chips.The computer interface circuit based on the technology of PLD and FPGA not only has the virtue of high integration,low volume and low power loss, but also has the unique programmable function,which can realize

单片机 矩阵键盘设计方案

1、设计原理 (1)如图14.2所示,用单片机的并行口P3连接4×4矩阵键盘,并以单片机的P3.0-P3.3各管脚作输入线,以单片机的P3.4-P3.7各管脚作输出线,在数码管上显示每个按键“0-F”的序号。 (2)键盘中对应按键的序号排列如图14.1所示。 2、参考电路 图14.2 4×4矩阵式键盘识别电路原理图 3、电路硬件说明 (1)在“单片机系统”区域中,把单片机的P3.0-P3.7端口通过8联拨动拨码开关JP3连接到“4×4行列式键盘”区域中的M1-M4,N1-N4端口上。 (2)在“单片机系统”区域中,把单片机的P0.0-P0.7端口连接到“静态数码显示模块”区域中的任何一个a-h端口上;要求:P0.0对应着a,P0.1对应着b,……,P0.7对应着h。 4、程序设计内容 (1)4×4矩阵键盘识别处理。 (2)每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。 5、程序流程图(如图14.3所示) 6、汇编源程序 ;;;;;;;;;;定义单元;;;;;;;;;; COUNT EQU 30H ;;;;;;;;;;入口地址;;;;;;;;;;

ORG 0000H LJMP START ORG 0003H RETI ORG 000BH RETI ORG 0013H RETI ORG 001BH RETI ORG 0023H RETI ORG 002BH RETI ;;;;;;;;;;主程序入口;;;;;;;;;; ORG 0100H START: LCALL CHUSHIHUA LCALL PANDUAN LCALL XIANSHI LJMP START ;;;;;;;;;;初始化程序;;;;;;;;;;

[实验四]定时器及键盘接口的应用 [实验目的] 了解定时器结构、功能及

[实验四]定时器及键盘接口的应用 [实验目的] 1.了解定时器结构、功能及应用。 2.熟悉基于状态机设计的软件设计方法和矩阵键盘的应用设计实现。 3.设计并实现一个改进型的电话拨号系统。 [实验内容]: 1.使用定时器的产生特定频率,输出到蜂鸣器上产生不同的音调。 2.用状态机设计的思想,设计键盘输入接口。 3.综合利用实验板上定时器,蜂鸣器,键盘,LED显示模块,设计一个电话拨号系统。 [实验步骤]: 1.参考第八章例8.7的硬件电路以及软件设计,利用AVR的16位T/C1的比较匹配功能, 发出不同频率的音调。 2.参考9. 3.2 定时扫描方式的键盘接口程序,以及图9-7的键盘部分硬件连线电路,实现 基于状态机思想的键盘扫描。 3.仔细思考例9.3,回答以下问题: ●本例中,在T/C0的中断服务中进行了LED的扫描,而读键盘和键盘处理是在主程序中 完成的。如果将读键盘和键盘处理也放在T/C0中断中完成是否可以?请深入分析这两种处理方式的优点和缺点,说明原因。 ●在read_keyboard()中,行线输出语句为什么重复2次? ●说明在read_keyboard()中,key_mask的作用,另外是否可以将变量key_line和 key_value定义成普通的局部动态变量?为什么? 4.在例9.3的基础上,改进实现一个电话拨号系统: 1)实验板上的矩阵键盘共包含有12个按键,其中10个作为数字“0,1,2….9”的数字输入,其他两个为功能键,一个是总清除键“#”,一个是修改键“*”。修改程 序,键盘上数字键功能不变,而“#”键的功能为总清除(即清除LED上的全部的 数字显示,显示复原为8个“-”),“*”键的功能为修改键(表示最后输入的数字 有误,LED显示全部右移一位,清除最后输入的数字,最左边一位补入“-”)。 2)系统上电时,8个LED数码管显示“--------”8条横线,每按下一个号码后,原8位LED数码管的显示内容向左移动一位,最右边一位则显示键盘上刚按下的数字。 3)将每个数字键与特定的音调相结合起来,比如数字1-2-3-4-5-6-7-8-9-0对应音阶Do-re-mi-fa-sol-la-ti-do-la-mi(后两个为高8度)。每当按下按键在LED上显示数字 后都能在蜂鸣器上发出相同节拍的对应音阶。 [思考题]: 1.当定时计数器工作在普通模式和CTC模式时,都可以产生一个固定的定时中断。如果要求精确的定时中断,采用那种模式比较好?为什么?

实现特定功能的键盘及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

矩阵键盘EDA技术课程设计

《电子设计EDA》课程设计 专业:电子信息科学与技术 班级:2010级电信本(1)班 姓名: *** 学号: ********* 指导老师: *** 完成时间: 2012.11—2012.12 教师评分:

目录 一、绪论 (1) 1.1 FPGA概况 (1) 1.2 本课题的研究意义 (2) 二、课程设计的任务和目的 (3) 三、矩阵键盘接口电路的原理与总体设计 (3) 3.1 矩阵键盘接口电路的原理 (3) 3.2 总体设计 (5) 四、各模块的设计及仿真 (6) 4.1 键盘扫描电路 (6) 4.2 键盘译码电路和按键标志位产生电路 (8) 4.3 时钟产生模块 (10) 4.4 键盘接口电路顶层电路实现 (12) 五、参考文献 (13) 六、心得体会 (13) 七、附录 (14) 7.1 源程序代码 (14) 2

题目:矩阵键盘控制接口设计 一、绪论 1.1 FPGA概况 早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能。 其后出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与—或”表达式来描述,所以PLD能以乘积和的形式完成大量的组合逻辑功能。 这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。 PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和E2PROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。PLA 器件既有现场可编程的,也有掩膜可编程的。在PAL的基础上又发展了一种通用阵列逻辑(GAL、Generic ArrayLogic),如GAL16V8、GAL22V10等。它采用了E'PROM工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。 为了弥补这一缺陷,20世纪80年代中期,Altera和Xilinx分别推出了类似于PAL 结构的扩展型CPLD(Complex Programmable Logic Dvice)和与标准门阵列类似的FPGA(FieldProgrammable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其他ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品不需测试、质量 1

键盘显示接口芯片8279的应用

1.8279功能介绍 8279 是可编程的键盘、显示接口芯片。它既具有按键处理 功能,又具有自动显示功能,在单片机系统中应用很广泛。8279 内部有键盘 FIFO(先进先出堆栈)/传感器,双重功能的 8*8=64B RAM,键盘控制部分可控制 8*8=64 个按键或 8*8 阵列方式的传 感器。该芯片能自动消抖并具有双键锁定保护功能。显示 RAM 容量为 16*8,即显示器最大配置可达 16 位 LED 数码显示。 (1)数据线 DB0→DB7 是双向三态数据总线,在接口电路中与系统数据总 线相连,用以传送 CPU 和 8279 之间的数据和命令。 (2)地址线 /CS=0 选中8279,当A0=1 时,为命令字及状态字地址;当 A0=0 时,为片内数据地址,故 8279 芯片占用 2 个端口地址。(3) 控制线 CLK:8279 的时钟输入线。 IRQ:中断请求输出线,高电平有效。图 3.1 8279 引脚图 /RD、/WR:读、写输入控制线。 SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。 RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。 SHIFT:来自外部键盘或传感器矩阵的输入信号,它是 8279 键盘数据的次高位即 D6 位的状态,该位状态控制键盘上/下档功能。在传感器方式和选通方式中,该引脚无用。 CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把 RL0---RL7 的数据存入 FIFO RAM 中。 OUTA0---OUTA3:通常作为显示信号的高 4 位输出线。 OUTB0---OUTB3:通常作为显示信号的低 4 位输出线。 /BD:显示熄灭输出线,低电平有效。当/BD=0 时将显示全熄灭。 2.8279的工作方式 8279 有三种工作方式:键盘方式、显示方式和传感器方式。 (1)键盘工作方式 8279 在键盘工作方式时,可设置为双键互锁方式和 N 键循回方式。 双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入 FIFO RAM 中。 N 键循回方式:一次按下任意个键均可被识别,按键值按扫描次序被送入 FIFO RAM 中。 (2)显示方式 8279 的显示方式又可分为左端入口和右端入口方式。 显示数据只要写入显示 RAM,则可由显示器显示出来,因此显示数据写入显示 RAM 的顺序,决定了显示的次序。 14

键盘显示接口芯片的应用

1.8279功能介绍 8279是可编程的键盘、显示接口芯片。它既具有按键 处理 功能,又具有自动显示功能,在单片机系统中应用很广 泛。8279 内部有键盘FIFO(先进先出堆栈)/传感器,双重功能 的8*8=64B RAM,键盘控制部分可控制8*8=64个按键或8*8阵列方 式的传 感器。该芯片能自动消抖并具有双键锁定保护功能。显 示RAM 容量为16*8,即显示器最大配置可达16位LED数码显 示。 (1)数据线 DB0→DB7是双向三态数据总线,在接口电路中与系统 数据总线相连,用以传送CPU和8279之间的数据和命令。 (2)地址线 /CS=0选中8279,当A0=1时,为命令字及状态字地址; 当A0=0时,为片内数据地址,故8279芯片占用2个端口地 址。(3)控制线 CLK:8279的时钟输入线。 IRQ:中断请求输出线,高电平有效。图3.18279引脚图 /RD、/WR:读、写输入控制线。 SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。 SHIFT:来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的状态,该位状态控制键盘上/下档功能。在传感器方式和选通方式中,该引脚无用。 CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0---RL7的数据存入FIFORAM中。 OUTA0---OUTA3:通常作为显示信号的高4位输出线。 OUTB0---OUTB3:通常作为显示信号的低4位输出线。 /BD:显示熄灭输出线,低电平有效。当/BD=0时将显示全熄灭。 2.8279的工作方式 8279有三种工作方式:键盘方式、显示方式和传感器方 式。 (1)键盘工作方式 8279在键盘工作方式时,可设置为双键互锁方式和N键循回方式。 双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入FIFORAM中。 N键循回方式:一次按下任意个键均可被识别,按键值按扫描次序被送入FIFORAM中。 (2)显示方式 8279的显示方式又可分为左端入口和右端入口方式。 显示数据只要写入显示RAM,则可由显示器显示出来,因此显示数据写入显示RAM的顺序,决定了显示的次序。 14

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

微机原理与接口技术课程设计 题目:实现特定功能的键盘及LED显示 1

目录 一、实验目的…………………………………… 二、实验内容…………………………………… 三、总体设计…………………………………… 四、实验电路…………………………………… 五、实验框图…………………………………… 六、实验程序…………………………………… 七、实验心得…………………………………… 1、课程设计目的

课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 2、实验设计内容: 本次实验的主要内容是在了解键盘及LED显示接口原理的基础上,设计出相应的实验电路,以实现特定功能的键盘及LED显示。需要完成以下功能: 1. 按1键显示年; 2. 按2键显示月日; 3. 按3键显示GOOD ; 4. 按4键数码管由左到右字符“0”循环显示。 5.自行设计特效显示功能。 实验主要涉及可编程的键盘、显示接口芯片8279和可编程中断控制器8259A。功能1至4是在可编程的键盘、显示接口芯片8279的基础上通过程序实现的。在功能5中,加入了中断,通过边沿触发产生中断,执行中断服务子程序,以此来时现功能5的特效(在数码管上从左、从右依次显示0—9的数字)。 3、试验设计原理及方案:(含电路原理图、硬件连接示意图、系统功能框图、 程序流程图等) 3.1 电路原理图 3.2 系统功能框图 3.3 程序流程图 3.4 各功能实现方案 3.4.1 功能一按1键显示年 当可编程的键盘、显示接口芯片8279扫描寄存器AL=02H时,说明按键为1号键。关于显示年份,首先定义一个显示缓冲区,用于存储表示年份的数字。然后依次读取其值,经过换码,再通过8279以左端入口方式显示与数码管上。程序段如下: 3

单片机与矩阵键盘接口电路设计实验报告

单片机与矩阵键盘接口电路设计实验报告 姓名:林蔼龄 学号:1060601007 班级:10级物理系电子信息工程A班

单片机与矩阵键盘接口电路设计实验报告 一:实验内容 使用单片机的P1 口与矩阵式键盘连接时,可以将P1 口低4位的4条端口线定义为行线,P1 口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2 口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。 :电路图 [PD.QfADO M.HAD1 何2也 02 Pα.3ΓAD3 賀 P0.5∕AD5 IPa 5IADE 叮1-∣?∕ P2.o?a P2.1J?9 P3iMI0 P2:3?11 P2.??12 P3S J?13R2.6M14 P2.7J?15 曲JMFD P31JTXD P3.2flNτf P3.3?JτΓ P34JTO P3?Π,1 P3占晅PST丽:程序流程图 r F-SEH ?E EA

四:程序 Org Ooooh IjmP mai n main:mov p1,#Ofh;列线输出O,行线设为输入mov a,p1;读P1 口 an I a,#Ofh;屏蔽高4位,留下行线状态 Cjne a,#0fh,look;有按键按下,转look ret;无按键按下,返回主程序 look:lcall dIay10;延时10ms mov a,p1;读P1 口 anl a,#0fh;屏蔽高4位,留下行线状态 Cjne a,#0fh,ra nk确认键已按稳,转RANK ljmp main;是抖动,未按稳,重新扫描rank:mov r2,#00h ;窜键标志寄存器请0 mov r3,#04h ;查列次数 mov r4,#0f7h ;列扫描字初值 mov r5,#0ffh ;列号处值 rloop1:inc r5 ;开始列扫描,列号加1 mov a,r4 ;列扫描字送A rl a ;列扫描字左移一位

实验四 键盘接口设计

实验四:矩阵式键盘接口设计 一、实验目的 1.掌握独立式按键和矩阵式键盘结构和工作原理。 2.掌握矩阵式键盘的按键识别和扫描方法。 3.掌握独立式按键和矩阵式键盘的接口电路及其编程应用。 二、实验说明 键盘的接口形式有两种:独立式按键接口和矩阵式键盘接口。 独立式按键是直接用I/O口构成的单个按键电路,其特点是每个按键单独占用一根I/O 口,每个按键的工作不会影响其它I/O口的状态。独立式按键电路配置灵活,程序设计简单,但这种键盘占用硬件资源多,每个按键必须占用一根I/O口,因此,在按键较多时,I/O 口浪费较大,不宜采用。 矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。 一个4×4的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。 矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V 上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。 识别按键的方法很多,其中,最常见的方法是扫描法。 按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平。显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平。只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。CPU根据行电平的变化,便能判定相应的行有键按下。 在单片机应用系统中,键盘是人机对话不可缺少的组件之一。在按键比较少时,我们可以一个单片机I/O口接一个按键,但当按键需要很多,I/O资源又比较紧张时,使用矩阵式键盘无疑是最好的选择。 4x4矩阵键盘是运用得最多的键盘形式,也是单片机入门必需掌握的一种键盘识别技术,下面我们就以实例来说明一下4 x 4矩阵键盘的识别方法。如下图所示,我们把按键接成矩阵的形式,这样用8个I/O口就可以对16个按键进行识别了,节省了I/O口资源。 本实验采用矩阵式键盘,列线接于P3.4—P3.7,行线接于P3.0—P3.3,P0口接入一只数码管用来显示按键编号;编程实现4x4键盘,按“0”号键在数码管显示“0”,按“1”号键在数码管显示“1”,............,按“F”号键在数码管显示“F”。 三、实验内容及步骤

相关文档
最新文档