实验十 8279键盘显示接口

实验十 8279键盘显示接口
实验十 8279键盘显示接口

实验十 8279键盘显示接口

双击自动滚屏发布者:admin 发布时间:2005-9-8 阅读:48

25次

一、实验目的

1、掌握8279的工作原理。

2、学习LED显示器的使用方法。

3、熟悉8279与键盘、显示器接口的方法。

4、学习在8086/8088系统中扩展键盘显示接口的方法。

二、实验设备

AEDK8688ET教学实验机一台,PC机一台,稳压电源一台。

三、实验内容

1、在LED数码管上的固定位置显示数字“3”或不停地显示1、

2、

3、

4、

5、6,间隔时间为1秒。

2、在八位LED数码管上循环显示1、2、

3、

4、5-----E、F,间隔时间为1秒。

3、将每次按键产生的键码显示在LED数码管。

四、实验原理介绍

数码管的段选码由OUTA口和OUTB口输出,经74LS244驱动后送给共阴极LED。数码管的位扫描信号经74LS138译码、75451驱动后提供给LED的公共极。RL0~RL7提供了键盘列扫描接口,KA0~KA3提供键盘的行扫描接口。原理图见8279键盘、显示电路。

1、LED是共阴极的,其七段LED的段选码为:

五、电路原理图:

六、实验步骤

1、实验连线:8279CS----210H-217H。将8279的片选与译码电路相应的插孔相连。K10十个短路套均套上

2、编写调试程序,全速运行,观察实验结果

3、运行程序,按动按键,观察显示键值的变化。

七、实验程序框图

八、参考程序:

内容3

Z8279 EQU 212H

D8279 EQU 210H

LEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示

LEDFEQ EQU 38H ;扫描频率

CODE SEGMENT

ASSUME CS:CODE,DS:CODE

START: ;初始化

PUSH CS

POP DS

MOV DX,Z8279

MOV AL,LEDMOD

OUT DX,AL

MOV AL,LEDFEQ

OUT DX,AL

MOV DX,D8279

MOV AL,7FH

OUT DX,AL

MOV DX,D8279

MOV AL,7FH

OUT DX,AL

MOV DX,D8279

MOV AL,7DH

OUT DX,AL

MOV DX,D8279

MOV AL,7FH

OUT DX,AL

MOV DX,D8279

MOV AL,70H

OUT DX,AL

MOV DX,D8279

MOV AL,5EH

OUT DX,AL

MOV DX,D8279

MOV AL,79H

OUT DX,AL

MOV DX,D8279

MOV AL,77H

OUT DX,AL ;以上为写(AEDK8688) NOP

MOV DX,Z8279

MOV AL,0C2H

OUT DX,AL ;置空FIFO寄存器

WAIIT: NOP

IN AL,DX

MOV BL,AL

AND AL,80H

CMP AL,80H

JE WAIIT ;FIFO正在清除期间则跳转等待 MOV AL,BL

AND AL,0FH

CMP AL,00H

JE WAIIT ;无键按下则等待

MOV AL,40H ;写读FIFO RAM命令字

OUT DX,AL

MOV DX,D8279 ;读入FIFO RAM内容

IN AL,DX

NOP

CMP AL,15H ;是结束符则结束

JE FINI

NOP ;查表,将键码放入AL中

LEA BX,LED

XLAT

MOV DX,D8279 ;将AL中内容写到数码管上

OUT DX,AL

MOV DX,Z8279 ;清FIFO RAM寄存器

MOV AL,0C2H

OUT DX,AL

JMP WAIIT ;等待下一次键输入

FINI: MOV DX,Z8279 ;清FIFO寄存器并关蜂鸣器

MOV AL,0C2H

OUT DX,AL

JMP $

LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H DB 5EH,79H,71H

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; 译码程序如下:

矩阵键盘设计实验报告

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

基于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/ec11310418.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. 掌握 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电源,且同样有地线、

第九章 显示器及键盘接口

第十章显示器及键盘接口 §10.1 显示器接口 一.LED原理简述 LED显示块是用发光二极管显示字段,单片机应用系统常用的是七段LED,如下图,它有其阴极和共阳极两种: a c e f g 共阴极共阳极例如,要显示‘0’字符,对于共阴极管应输出段码: h g f e d c b a a 0 0 1 1 1 1 1 1 3 F H f b g e c 对于共阳极管则应输出段码: d h. h g f e d c b a 1 1 0 0 0 0 0 0 C 0 H

共阳极管和共阴极管的段码是互为补码的。 二.动态显示的七段LED基本用法: 1.动态显示的七段LED与单片机的硬件接口 扩展显示器接口实质是输出口的扩展,例如设计一个6位的数码管显示系统,它需要扩充两个8位输出口,一个输出8段码,一个输出位选码。如下图: 由图可知,要显示哪个字符,该字符的段码从1#377输出,要使1#377输出只要A0 = 0即可,因此1#377的地址为FEH。该段码输出到6个数码管上是相同的,要哪个管亮,必须使该管的相应段二极管导通,则由2#377输出的位码控制,对应哪个管为0,则该管可以亮。要使2#377输出只要A1 = 0,2#377的地址为FDH。

在软件设计上将6个LED管轮流点亮,每管延时约1Ms,利用人的视觉残留,则可以看成持续点亮。 2.动态显示的软件设计: 要点:①代码转换:直接驱动7段LED发光的是段码,而我们习惯的是字符0、1、2、…F等,因此软件中必须将待显示 的字符转换成段码。 ②每次只能输出同样的段码,因此要使某管亮,必须用软 件保证逐位轮流点亮并适当延时,给人的眼睛产生持续 发光的效果。 程序中使用的显示缓冲区示意图: 显示缓冲区共6个单元,自左至右一一对应6个数码管,其中存放待显示字符在段码表中的查表偏移量。 程序如下:

键盘及LED显示实验

实验三键盘及LED显示实验 一、实验内容 利用8255可编程并行接口控制键盘及显示器,当有按键按下时向单片机发送外部中断请求(INT0,INT1),单片机扫描键盘,并把按键输入的键码一位LED 显示器显示出来。 二、实验目的及要求 (一)实验目的 通过该综合性实验,使学生掌握8255扩展键盘和显示器的接口方法及C51语言的编程方法,进一步掌握键盘扫描和LED显示器的工作原理;培养学生一定的动手能力。 (二)实验要求 1.学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。 2.该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥自己的个性及创造力,独立操作完成实验内容,并写出实验报告。 三、实验条件及要求 计算机,C51语言编辑、调试仿真软件及实验箱50台套。 四、实验相关知识点 1.C51编程、调试。 2.扩展8255芯片的原理及应用。 3.键盘扫描原理及应用。 4.LED显示器原理及应用。 5.外部中断的应用。 五、实验说明 本实验仪提供了8位8段LED显示器,学生可选用任一位LED显示器,只要按地址输出相应的数据,就可以显示所需数码。 六、实验原理图

P1口桥接。 八、实验参考流程图 1.主程序流程图

2.外中断服务程序流程图 外部中断0 外部中断1 定时器0中断程序,用于消抖动:

3.LED显示程序流程图 九、C51语言参考源程序 #include "reg52.h" unsigned char KeyResult; //存放键值 unsigned char buffer[8]; //显示缓冲区 bit bKey; //是否有键按下 xdata unsigned char P_8255 _at_ 0xf003; //8255的控制口 xdata unsigned char PA_8255 _at_ 0xf000; //8255的PA口 xdata unsigned char PB_8255 _at_ 0xf001; //8255的PB口 xdata unsigned char PC_8255 _at_ 0xf002; //8255的PC口 code unsigned char SEG_TAB[] = { //段码 0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e,0x0}; sbit bLine0 = P3^2; sbit bLine1 = P3^3; //延时1ms void Delay1ms() { unsigned char i;

基于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、掌握Keil C51软件与Protues软件联合仿真调试的方法; 2、掌握单片机的键盘接口电路; 3、掌握单片机的键盘扫描原理; 4、掌握键盘的去抖原理及处理方法。 二、实验仪器与设备 1、微机一台 2、Keil C51集成开发环境 3、Protues仿真软件 三、实验内容 1、用Protues设计一矩阵键盘接口电路。要求利用P1口接一4×4矩阵键盘。串行口通过一74LS164接一共阴极数码管。用线反转法编写矩阵键盘识别程序,用中断方式,并将按键的键值0-F通过串行口输出,显示在数码管上。 2、将P1口矩阵键盘改成8个独立按键,重新编写识别和显示程序。 四、实验说明 矩阵键盘识别一般包括以下内容: ⑴判别有无键按下。 ⑵键盘扫描取得闭合键的行、列号。 ⑶用计算法或查表发的到键值; ⑷判断闭合键是否释放,如没释放则继续等待。 ⑸将闭合键的键值保存,同时转去执行该闭合键的功能。 五、实验步骤 1、用Protues设计键盘接口电路; 2、在Keil C51中编写键盘识别程序,编译通过后,与Protues联合调试; 3、按动任意键,观察键值是否能正确显示。 六、实验电路仿真图 矩阵键盘电路图见附录1。 独立按键电路图见附录2。 七、实验程序 实验程序见附录3、4。 八、实验总结 1、矩阵键盘常用的检测方法有线反转法、逐行扫描法。线反转法较简单且高效。在矩阵键盘的列线上接一与门,利用中断方式查询按键,可提高CPU的运行效率。 2、注意用线反转法扫描按键时,得到的键值不要再赋给temp,最好再设一新变量接收键值,否则再按下按键显示数字的过程中,再按按键会出现乱码。 3、学会常用与门、与非门的使用方法。 附录1:矩阵键盘实验电路图

单片机 矩阵键盘设计方案

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模式时,都可以产生一个固定的定时中断。如果要求精确的定时中断,采用那种模式比较好?为什么?

矩阵键盘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

键盘接口实验实验报告及程序

实验六键盘接口实验 姓名专业通信工程学号成绩 一、实验目的 1.掌握Keil C51软件与Protues软件联合仿真调试的方法; 掌握单片机的键盘接口电路; 掌握单片机键盘扫描原理; 掌握键盘的去抖原理及处理方法。 实验仪器与设备 1.微机1台C51集成开发环境3。Proteus仿真软件 实验内容 用Proteus设计一矩阵键盘接口电路。要求利用P1口接一4*4矩阵键盘。串行口通过一74LS164接一共阴极数码管。参考电路见后面。 用线反转法编写矩阵键盘识别程序,要求采用中断方式(列线通过4输入与门74LS20接/INT0),无按键按下时,数码管循环画“8”;有按键按下时产生中断并将按键的键值0~F通过串行口输出,在数码管上显示3秒钟后返回;返回后,数码管继续循环画“8”。 将P1口矩阵键盘改为8个独立按键(用中断方式设计),键盘通过74LS30(8输入与非门)和74LS04(六反相器)与/INT0相连,重新编写识别和显示程序。实验原理 矩阵键盘识别一般应包括以下内容: 判别有无键按下。 键盘扫描取得闭合键的行、列号。 用计算法火或查表法得到键值。 判断闭合键是否释放,如果没释放则继续等待。 将闭合键的键值保存,同时转去执行该闭合键的功能。 实验步骤 用Proteus设计键盘接口电路; 在Keil C51中编写键盘识别程序,编译通过后,与Proteus联合调试; 按动任意键,观察键值是否能正确显示。 电路设计及调试、程序 程序设计:矩阵键盘 #include<> #define uchar unsigned char #define uint unsigned int uchar code table1[]={0x00,0x01,0x21,0x61,0x65,0x6d,0x7d,0x7f}; uchar code key_table[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0 xd7,0xb7,0x77};

键盘显示接口芯片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

8051硬件实验5 键盘接口实验

硬件实验5 键盘接口实验 1.实验目的 1)了解按键的相关基础知识以及抖动、连击、重键等的处理方法。 2)了解按键的几种工作方式与特点。 3)掌握键盘的硬件连接方式及程序设计方法。 2.预习要求 1)了解P0、P1、P2、P3口的准双向接口特点与应用特性。 2)了解独立式键盘的硬件连接方式与特点。 3)了解行列式键盘的硬件连接方式与特点,以及行扫描法和线路反转法两种按键扫描 方法。 4)预习本节实验内容,设计实验的硬件连接,编写实验程序。 3.实验说明 1)键盘的组织形式与工作原理 独立式键盘:当数量较少时(如5个以下),通常采用独立式按键方式,即一条口线连接一个按键;独立式键盘软件简单,定时读取这些口线的电平状态,即可判断按键是否按下,是哪个按键按下;但是当按键较多时,需要消耗的I/O口线多。 矩阵式(行列式)键盘:当按键数量较多时,为了节省I/O口资源,通常采用矩阵式键盘形式,对于n列、m行矩阵连接的n×m个按键,只需要n+m条口线。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。在需要的按键数量较多(如大于6个)时,通常采用矩阵法设计键盘接口。 2)矩阵式键盘的扫描方式 A.行扫描法 行扫描法又称为逐行扫描查询法,是一种最常用的按键识别方法,扫描步骤如下: ?按键判断:判断键盘中有无键按下,其过程为将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低 电平线与行线相交叉的按键之中。若所有列线均为高电平,表示无键按下。 ?按键识别:在确认有键按下后,则要确定所闭合按键的位置,即确定键值。其扫描过程为:依次将行线置为低电平并输出(逐行输出0),然后读取各列线的电平状 态,若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。通 过各行的扫描,可以检测到按下的按键。 B.线路反转法 ?第一步:行作为输出,列作为输入。行输出全为0,输入各列电平,如果列值全为

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

单片机与矩阵键盘接口电路设计实验报告 姓名:林蔼龄 学号: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 ;列扫描字左移一位

相关文档
最新文档