键盘接口实验实验报告及程序
通用IO使用_矩阵式键盘

嵌入式系统实验报告院(系)别信息科学与电气工程学院班级学号姓名指导教师时间 2014-06-21实验三通用 I/O 使用——矩阵式键盘1 实验目的S3C44B0X 具有 71 个通用多功能 I/O,这些 I/O 的应用是 S3C44B0X 处理器的基础。
本实验我们就以矩阵式键盘的接口设计为例,学习怎样设置 I/O 口并对它进行操作。
(1)掌握 S3C44B0X 的 I/O 口的功能特点;(2)掌握对 I/O 口的基本编程操作。
2 实验要求4×4 矩阵键盘的每个键的对应字符如下:7, 8, 9, /,4, 5, 6, *,1, 2, 3, -,0, ., +, \n编写 4×4 矩阵式键盘的驱动程序,使得当某个键被按下时,超级终端上显示出该键对应的字符。
3 实验容与步骤本实验需要进行连接电路。
学生按照下面的指导说明和程序流程图,自行编写符合实验要求的源程序。
并按照实验一中说明的步骤,进行:建立工程、编译除错、下载仿真等步骤,最终调试出符合要求的源程序。
观察超级终端上的显示,看是否输出满足实验要求的结果。
在本实验中,根据键盘的循环扫描检测法进行程序编写。
根据该方法,设定 GPF0-3 为输出口(列线),GPF4-7 为输入口(行线)。
用导线连接起这些 I/O 口和键盘的接口。
在程序中,我们首先通过设置 PCONF 寄存器,来实现端口功能配置。
3.1 电路连接在 ARMSys 上用导线连接扩展 I/O 口和键盘接口。
如下图所示:采用键盘的循环扫描检测法编写程序。
程序中,我们首先通过设置 PCONF 寄存器,来实现端口功能配置。
3.2 寄存器设置设置 PCONF 寄存器:如下表所示,由于我们需要设定 PF0-3 为输出口(列线),PF4-7为输入口,因此,在端口工作之前设置 PCONF=000 000 000 000 00 01 01 01 01B=0x55;PF0-3 输出扫描码时,可采用以下语句:rPDATF=0xf0;PF0-3 写入全 0; PF4-7 读入键值时,采用以下语句:Keyvalue=(PDATF&0xf0)>>4;z 部上拉电阻的设置:rPUPF=0x00;使能 PF0-7 的部上拉3.3 编写键盘扫描程序分为主程序和读键子程序两个部分。
DSP键盘接口及七段数码管显示实验报告

七:讨论和回答问题及体会1.如何在8位数码管上分别显示8个不同数?(即有8个BCD码格式的数num0~num7,要求第一位数码管显示num0,第二位显示num1,以此类推,第八位数码管显示num7。
)答:要使设计输入为BCD码,就要在数码管上显示数字,需要做一个译码器,将BCD 码转换成显示相应数字的段码。
若要循环点亮8位数码管,需要SEL输出为1000000,01000000,…,00000001。
此功能可以通过将一个3位二进制数计数器输出接一个3-8译码器来实现。
2.七段数码管分哪两种显示方式?答:1)共阴极接法:把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。
实验中使用的LED显示器为共阴极接法。
2)共阳极接法:把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。
为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。
七段发光二极管,再加上一个小数点位,共计八段。
因此提供给LED显示器的字形代码正好一个字节。
若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7。
学生实验报告实验课名称:DSP原理及运用实验项目名称:键盘接口及七段数码管显示实验专业名称:测控技术与仪器班级:24081001学号:11学生姓名:徐章龙教师姓名:高涛2013年6月27日组别同组同学实验日期 2013 年 6 月 27 日实验室名称电子技术实验室一、实验名称键盘接口及七段数码管显示实验二、实验目的与要求1.了解串行口8位LED数码管及64键键盘智能控制芯片HD7279A的基本原理;2.学习用TMS320C54XDSP 芯片控制芯片HD7279A 键盘和LED 的基本方法和步骤;三、实验内容通过4X4按键完成在数码管上的各种显示功能,以及LCD上显示。
计算机接口技术实验报告优选全文

最新精选全文完整版(可编辑修改)《计算机接口技术》实验报告专业:电信息科学与技术班级:姓名:学号:年月日实验一:8255A并行口实验实验目的:掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
实验内容:一、实验原理实验原理图如图5-9所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。
8255A 工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
二、实验线路连接(1) CS-8255插孔连译码输出Y7插孔。
(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3三、实验软件清单见随机光盘,文件名为H8255-2.ASM四、实验步骤1、按图5-9连好实验线路2、运行实验程序在DVCC-8086JHN上显示"8255-2"。
同时L1~L12 发光二极管模拟交通灯显示。
CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073H ;设置控制端常量IOAPT EQU 0070H ;设置数据端口A地址常量IOBPT EQU 0071H ;设置数据端口B地址常量IOCPT EQU 0072H ;设置数据端口C地址常量IOBDATA EQU 0500HCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0640HSTART: JMP IOLEDIOLED: CALL FORMATCALL LEDDISPMOV AX,0HMOV DS,AXMOV AL,82HMOV DX,IOCONPT ;写8255控制字,三个口均工作于方式0OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式0输出MOV DX,IOBPT ;读PB口数据存0601H单元IN AL,DXnot almov al,00hnopnopMOV BYTE PTR DS:[0501H],ALMOV DX,IOCONPT ;写方式控制字均为输出MOV AL,80HOUT DX,ALMOV DX,IOBPT ;置PB0,PB4~PB6为1,其余为0MOV AL,DS:[0501H]OR AL,0FH ;使PB0~PB3为1,PB4~PB7为0OUT DX,AL ;即熄灭红灯,点亮绿灯MOV DX,IOCPT ;使PC1,PC4~PC6为1,其余为0MOV AL,0FH ;使PC0~PC3为1,PC4~PC7为0OUT DX,ALCALL DELAY1 ;延时IOLED0: MOV AL,01011010B ;使2,4路口绿灯亮,1,3口红灯亮MOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭2,4路口绿灯OUT DX,ALMOV CX,8H ;只计数器值为8IOLED1: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,01011111B ;点亮2,4路口黄灯OUT DX,ALCALL DELAY2 ;短暂延时and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED1 ;黄灯闪烁8次MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2MOV AL,10100101B ;点亮1,3口红灯和2,4路口绿灯OUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭掉红灯OUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,10101111B ;点亮1,3路口黄灯OUT DX,ALCALL DELAY2and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2JMP IOLED0 ;循环DELAY1: PUSH AXPUSH CX ;延时子程序MOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0640H],405BHADD BX,2MOV WORD PTR DS:[BX+0640H],4040HADD BX,2MOV WORD PTR DS:[BX+0640H],6D6DH ADD BX,2MOV WORD PTR DS:[BX+0640H],7F5BHRETCODE ENDSEND START实验二:定时/计数器实验目的:1. 学会8253芯片和微机接口原理和方法。
输入输出实验报告

一、实验目的1. 熟悉计算机输入输出设备的基本概念和作用。
2. 掌握常用输入输出设备的使用方法。
3. 了解输入输出设备的性能指标及其对计算机系统的影响。
二、实验环境1. 实验室:计算机实验室2. 硬件设备:计算机、键盘、鼠标、显示器、打印机、U盘等3. 软件:Windows操作系统三、实验内容1. 输入设备实验(1)键盘输入实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 连接键盘,确保键盘正常工作;③ 打开记事本,输入一段文字;2)实验结果:成功输入文字,观察键盘布局,了解各个键位的含义;3)实验总结:熟练掌握键盘布局,提高输入速度。
(2)鼠标输入实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 连接鼠标,确保鼠标正常工作;③ 使用鼠标在桌面进行拖动、点击等操作;2)实验结果:成功进行鼠标操作,熟悉鼠标的使用方法;3)实验总结:熟练掌握鼠标操作,提高操作效率。
2. 输出设备实验(1)显示器输出实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 观察显示器显示的桌面背景、图标等信息;2)实验结果:显示器正常工作,显示计算机信息;3)实验总结:了解显示器的作用,熟悉显示器的性能指标。
(2)打印机输出实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 将打印机连接到计算机;③ 打开文档,进行打印设置;④ 点击打印按钮,将文档打印到纸上;2)实验结果:成功将文档打印到纸上;3)实验总结:了解打印机的工作原理,熟悉打印机的性能指标。
3. 存储设备实验(1)U盘存储实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 将U盘插入USB接口;③ 在文件资源管理器中找到U盘,进行文件读写操作;2)实验结果:成功将文件存入U盘,从U盘中读取文件;3)实验总结:了解U盘的工作原理,熟悉U盘的容量、读写速度等性能指标。
四、实验结果与分析1. 输入设备实验通过键盘输入实验,掌握了键盘布局和输入方法,提高了输入速度。
p1口输入输出实验报告

p1口输入输出实验报告p1口输入输出实验报告引言:计算机科学领域的发展使得我们能够使用各种各样的设备与计算机进行交互。
而在这个过程中,输入输出接口的设计和实现显得尤为重要。
本篇文章将围绕p1口输入输出接口展开讨论,介绍其原理、实验过程以及实验结果。
一、p1口输入输出接口的原理p1口是一种通用输入输出接口,它可以连接各种外部设备,如键盘、鼠标、打印机等。
p1口的原理是通过电信号的传输来实现与外部设备的交互。
具体来说,p1口通过发送和接收电压信号来进行通信,从而实现输入输出的功能。
二、实验过程1. 准备工作在进行实验前,我们需要准备一台计算机和一些外部设备,如键盘、鼠标和打印机。
将这些设备连接到计算机的p1口上。
2. 输入实验首先,我们进行输入实验。
在连接好设备后,我们可以通过键盘向计算机输入一些字符。
计算机会将这些字符接收并进行处理。
我们可以通过编写一个简单的程序来实现字符的显示和处理。
在程序中,我们可以使用相应的函数来获取键盘输入,并将其显示在屏幕上。
通过这个实验,我们可以验证p1口的输入功能是否正常工作。
3. 输出实验接下来,我们进行输出实验。
在程序中,我们可以使用相应的函数来控制打印机输出指定的内容。
通过这个实验,我们可以验证p1口的输出功能是否正常工作。
4. 实验结果通过实验,我们可以得出以下结论:- p1口的输入功能正常工作,可以准确地接收键盘输入的字符。
- p1口的输出功能正常工作,可以控制打印机输出指定的内容。
三、实验总结p1口作为一种通用输入输出接口,具有广泛的应用。
通过本次实验,我们对p1口的原理和功能有了更深入的了解。
p1口的输入功能可以使计算机接收外部设备的输入信号,从而实现与用户的交互。
p1口的输出功能可以使计算机控制外部设备进行相应的操作,从而实现对外部环境的影响。
在今后的学习和工作中,我们可以进一步探索p1口的应用,提高计算机与外部设备的交互效率。
结语:通过本次实验,我们对p1口输入输出接口有了更深入的理解。
实验7串行接口输入输出实验

北京林业大学11学年—12学年第 2 学期计算机组成原理实验任务书专业名称:计算机科学与技术实验学时: 2课程名称:计算机组成原理任课教师:张海燕实验题目:实验七串行接口输入输出实验实验环境:TEC-XP+教学实验系统、PC机实验内容1.串行接口输入输出;2.串行接口扩展。
实验目的学习串行口的正确设置与使用。
实验要求1.实验之前认真预习,明确实验的目的和具体实验内容,做好实验之前的必要准备。
2.想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果;3.在教学实验过程中,要爱护教学实验设备,记录实验步骤中的数据和运算结果,仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。
4.实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,运算结果的分析讨论,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。
善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。
必要知识串行接口是计算机主机和某些设备之间实现通信,硬件造价比较低廉、标准化程度比较高的一种输入输出接口线路,缺点是通信的速度比较低。
从在程序中使用串行接口芯片的角度看,接口芯片内有用户可以访问的4个寄存器,分别是接收CPU送来数据的输出数据缓冲寄存器,向CPU提供数据的输入数据缓冲寄存器,接收CPU发来的控制命令的控制寄存器,向CPU提供接口运行状态的状态寄存器,必须有办法区分这4个寄存器。
接口芯片中还有执行数据串行和并行转换的电路,接口识别电路等。
串行接口用于执行数据的输入输出操作。
一次输入或输出操作通常需要两个操作步骤完成,第一步是为接口芯片提供入出端口地址,即把指令寄存器低位字节的内容(8位的IO端口地址)经过内部总线和运算器部件写进地址寄存器AR,第二步是执行输入或输出操作,若执行输入指令IN,则应从接口芯片读出一个8位的数据并经过数据总线DB和内部总线IB写进寄存器堆中的R0寄存器,若执行OUT指令,则需要把R0寄存器的内容经过内部总线IB和数据总线DB写入接口芯片。
键盘 实验报告

键盘实验报告实验报告:键盘引言:键盘是计算机输入设备中最常用的一种设备,用于输入字符、数字、命令等等。
键盘以一定的方式将我们按下的按键转换成计算机可识别的信号,从而实现输入功能。
本实验的目的是了解键盘的工作原理、结构以及使用方法。
实验目的:1. 了解键盘的工作原理;2. 掌握键盘通信协议;3. 掌握键盘的结构和按键布局;4. 学习键盘的使用方法。
实验原理:键盘的工作原理是通过扫描矩阵的方式实现的,常见的键盘为4x4矩阵结构,也有其他规格的矩阵结构。
按键的每一个位置都与键盘电路中的一个电气开关相连接,当按下某个按键时,会导电并向计算机发送信号。
键盘通过PS/2或USB 接口与计算机相连,传输按键的信息。
键盘结构通常包括以下部分:1. 按键:键盘上的每一个按键代表一个字符、数字、命令或功能等。
按键大致分为四个区域:字母区、数字区、符号区和功能区。
2. 电路板:键盘的电路板上连接着按键开关,实现按键的电气连接和信号传输。
3. 导线和线缆:将电路板与接口连接,传递信号。
4. 接口:键盘通过PS/2或USB接口与计算机相连,实现信号的传输。
实验步骤:1. 准备一个计算机和一台键盘,确保键盘的连接正确。
2. 打开计算机,进入操作系统。
3. 在文本编辑器中打开一个文档,用来记录实验结果。
4. 将注意力集中在键盘上,按下键盘上的一个按键,观察文档中的输入情况。
5. 重复步骤4,测试其他按键,记录测试结果。
6. 关闭计算机,结束实验。
实验结果与分析:通过本实验,我们了解到键盘的工作原理是通过扫描矩阵的方式实现的,按键通过电路板中的电气开关与计算机相连,实现键盘输入。
键盘的按键布局通常分为四个区域:字母区、数字区、符号区和功能区。
通过实验测试,我们发现按键输入是可靠的,按下按键时能够正确输入对应的字符或数字。
键盘的使用方法是简单明了的,只需要按下对应的按键即可完成输入。
实验总结:键盘作为计算机最常用的输入设备,广泛应用于各个领域。
矩阵式键盘实验报告

矩阵键盘实验报告佘成刚学号2010302001班级08041202时间2016.01.20一、实验目的1.学习矩列式键盘工作原理;2.学习矩列式接口的程序设计。
二、实验设备普中HC6800ESV20开发板三、实验要求要现:用4*4矩阵键盘,用按键形式输入学号,在数码管上显示对应学号。
四、实验原理工作原理:矩阵式由行线和列线组成,按键位于行、列的交叉点上。
如图所示,一个4*4 的行、列结构可以构成一个由16 个按键的键盘。
很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/0 口。
(1)矩阵式键盘工作原理按键设置在行、列交节点上,行、列分别连接到按键开关的两端。
行线通过下拉电阻接到GND 上。
平时无按键动作时,行线处于低电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。
列线电平如果为低,行线电平为高,列线电平如果为高,则行线电平则为低。
这一点是识别矩阵式键盘是否被按下的关键所在。
因此,各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。
(2)按键识别方法下面以3 号键被按下为例,来说明此键是如何被识别出来的。
前已述及,键被按下时,与此键相连的行线电平将由与此键相连的列线电平决定,而行线电平在无键按下时处于高电平状态。
如果让所有列线处于高电平那么键按下与否不会引起行线电平的状态变化,始终是高电平,所以,让所有列线处于高电平是没法识别出按键的。
现在反过来,让所有列线处于低电平,很明显,按下的键所在行电平将也被置为低电平,根据此变化,便能判定该行一定有键被按下。
但我们还不能确定是这一行的哪个键被按下。
所以,为了进一步判定到底是哪—列的键被按下,可在某一时刻只让一条列线处于低电平,而其余所有列线处于高电平。
当第1 列为低电平,其余各列为高电平时,因为是键3 被按下,所以第1 行仍处于高电平状态;当第2 列为低电平,其余各列为高电平时,同样我们会发现第1 行仍处于高电平状态,直到让第4 列为低电平,其余各列为高电平时,因为是3 号键被按下,所以第1 行的高电平转换到第4 列所处的低电平,据此,我们确信第1 行第4 列交叉点处的按键即3 号键被按下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六键盘接口实验
姓名专业通信工程学号成绩
一、实验目的
1.掌握Keil C51软件与Protues软件联合仿真调试的方法;
2.掌握单片机的键盘接口电路;
3.掌握单片机键盘扫描原理;
4.掌握键盘的去抖原理及处理方法。
二、实验仪器与设备
1.微机1台 C51集成开发环境 3。
Proteus仿真软件
三、实验内容
1.用Proteus设计一矩阵键盘接口电路。
要求利用P1口接一4*4矩阵键盘。
串行口通过一74LS164接一共阴极数码管。
参考电路见后面。
2.用线反转法编写矩阵键盘识别程序,要求采用中断方式(列线通过4输
入与门74LS20接/INT0),无按键按下时,数码管循环画“8”;有按键
按下时产生中断并将按键的键值0~F通过串行口输出,在数码管上显示
3秒钟后返回;返回后,数码管继续循环画“8”。
3.将P1口矩阵键盘改为8个独立按键(用中断方式设计),键盘通过74LS30
(8输入与非门)和74LS04(六反相器)与/INT0相连,重新编写识别
和显示程序。
四、实验原理
矩阵键盘识别一般应包括以下内容:
1)判别有无键按下。
2)键盘扫描取得闭合键的行、列号。
3)用计算法火或查表法得到键值。
4)判断闭合键是否释放,如果没释放则继续等待。
5)将闭合键的键值保存,同时转去执行该闭合键的功能。
五、实验步骤
1.用Proteus设计键盘接口电路;
2.在Keil C51中编写键盘识别程序,编译通过后,与Proteus联合调试;
3.按动任意键,观察键值是否能正确显示。
六、电路设计及调试、程序
1)程序设计:矩阵键盘
#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,0x bb,0x7b,0xe7,0xd7,0xb7,0x77};
验中在做矩阵键盘实验时,会出现进入中断一次后跳出来再按键不会再进入中断显示的情况原因是:
没有在中断函数最后令P1=0xf0,在边沿触发方式下退出中断程序时
P1=0xf,外部中断0为低电平,不会有下降产生,仅执行一次中断后再不会有中断产生,即使有按键按下。
2.实验中出现了进入中断跳不出来的情况,原因是:
给窗口送键值显示后没加while(!TI); TI=0;语句
总结:实验前应画出程序流程图认真分析,有助于程序的编写。
在矩阵键盘的实验中,若选择电平触发,不在中断后令P1=0xf0,则跳出中断后检测到列线全为零,又产生中断,进入中断后扫描按键发现无按键按下又退出,列还是全为零又进入中断,如此反复,效率很低。