矩阵键盘扫描与数码管显示实验结果分析

合集下载

实验四 键盘扫描与数码管显示实验

实验四 键盘扫描与数码管显示实验
电子科技大学中山学院学生实验报告
院别:电子信息学院课程名称:微处理器实验
班级:通信11A姓名:xxxx学号:
实验名称:键盘扫描与数码管显示实验实验时间:2013年10月21日
成绩:教师签名:批改时间:
一、实验原理与目的
原理:
74HC164
74HC165
目的:
1、学会利用单片机进行键盘扫描行LED点阵的扫描显示;
2、学会利用单片机实现数码管显示。
二、实验仪器
1、PC机一台
2、DP-51PRO单片机综合仿真实验仪一台
三、实验内容与分析
1、编写一段程序,此程序的目的是通过单片机的P1口控制扫描,用C5区的74HC164控制显示输出,使C3区的8×8LED点阵显示一个“X”。
CLKEQUP3.2
DINAEQUP3.3
DINBEQUP3.4
CLEAREQUP3.5
ORG0000H
AJMPMAIN
ORG 0100H
MAIN:
MOVSP,#70H
MOV50H,#07EH
MOV51H,#0BDH
MOV52H,#0DBH
MOV53H,#0E7H
MOV54H,#0E7H
MOV55H,#0DBH
MOV56H,#0BDH
MOV57H,#07EH
PLEQUP3.0
CLK1EQUP3.1
CLK2EQUP3.2
SEREQUP3.3
Q7EQUP3.5
ORG0000H
LJMPMAIN
ORG0100H
MAIN:MOVSP,#60H;设置堆栈
MOVR4,#00;延时
DJNZR4,$
MOVA,#0;变量清零
SETBQ7;Q=1,端口设为输出状态

FPGA矩阵键盘显示电路的设计实验报告

FPGA矩阵键盘显示电路的设计实验报告

三、实验数据处理、误差计算及讨论
当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1KHZ,按下矩阵
湖南科技大学
物理与电子科学学院专业实验报告实验课程:FPGA实验
实验项目:矩阵键盘显示电路的设计
专业:
班级:
姓名:
学号:
实验日期:年月日
明,这里不在赘述。

本实验箱上的4X4矩阵键盘的电路原理如下图所示。

实现键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实
软件,新建一个工程。

VHDL File,打开VHDL编辑器对话框。

开关的不完善导致出现按键抖动。

成绩:教师:。

键盘扫描程序实验报告

键盘扫描程序实验报告

一、实验目的1. 理解键盘扫描的基本原理。

2. 掌握使用C语言进行键盘扫描程序设计。

3. 学习键盘矩阵扫描的编程方法。

4. 提高单片机应用系统的编程能力。

二、实验原理键盘扫描是指通过检测键盘矩阵的行列状态,判断按键是否被按下,并获取按键的值。

常见的键盘扫描方法有独立键盘扫描和矩阵键盘扫描。

独立键盘扫描是将每个按键连接到单片机的独立引脚上,通过读取引脚状态来判断按键是否被按下。

矩阵键盘扫描是将多个按键排列成矩阵形式,通过扫描行列线来判断按键是否被按下。

这种方法可以大大减少引脚数量,降低成本。

本实验采用矩阵键盘扫描方法,使用单片机的并行口进行行列扫描。

三、实验设备1. 单片机开发板(如51单片机开发板)2. 键盘(4x4矩阵键盘)3. 连接线4. 调试软件(如Keil)四、实验步骤1. 连接键盘和单片机:将键盘的行列线分别连接到单片机的并行口引脚上。

2. 编写键盘扫描程序:(1)初始化并行口:将并行口设置为输入模式。

(2)编写行列扫描函数:逐行扫描行列线,判断按键是否被按下。

(3)获取按键值:根据行列状态,确定按键值。

(4)主函数:调用行列扫描函数,读取按键值,并根据按键值执行相应的操作。

3. 调试程序:将程序下载到单片机,观察键盘扫描效果。

五、实验程序```c#include <reg51.h>#define ROW P2#define COL P3void delay(unsigned int ms) {unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 123; j++);}void scan_key() {unsigned char key_val = 0xFF;ROW = 0xFF; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值ROW = 0x00; // 初始化行delay(1); // 延时消抖key_val = ROW & COL; // 获取按键值}void main() {while (1) {scan_key();if (key_val != 0xFF) {// 执行按键对应的操作}}}```六、实验结果与分析1. 实验结果:程序下载到单片机后,按键按下时,单片机能够正确读取按键值。

矩阵式键盘设计实训报告

矩阵式键盘设计实训报告

一、实验目的1. 掌握矩阵式键盘的工作原理及电路设计方法。

2. 熟悉单片机与矩阵键盘的接口连接及编程技巧。

3. 提高动手实践能力,培养创新意识。

二、实验设备1. 单片机实验平台2. 矩阵键盘模块3. 数字多用表4. 编译器(如Keil51)5. 连接线三、实验原理矩阵键盘是一种常用的键盘设计方式,通过行列交叉点连接按键,从而实现多个按键共用较少的I/O端口。

矩阵键盘通常采用逐行扫描的方式检测按键状态,当检测到按键按下时,根据行列线的电平状态确定按键位置。

四、实验内容1. 矩阵键盘电路设计2. 矩阵键盘编程3. 矩阵键盘测试与调试五、实验步骤1. 电路设计(1)根据矩阵键盘的规格,确定行线和列线的数量。

(2)将行线和列线分别连接到单片机的I/O端口。

(3)在行线上串联电阻,防止按键抖动。

(4)连接电源和地线。

2. 编程(1)初始化单片机的I/O端口,将行线设置为输出,列线设置为输入。

(2)编写逐行扫描程序,逐行拉低行线,读取列线状态。

(3)根据行列线状态判断按键位置,并执行相应的操作。

3. 测试与调试(1)将编写好的程序下载到单片机中。

(2)连接矩阵键盘,观察按键是否正常工作。

(3)使用数字多用表检测行列线电平,确保电路连接正确。

(4)根据测试结果,对程序进行调试,直到矩阵键盘正常工作。

六、实验结果与分析1. 电路连接正确,按键工作正常。

2. 逐行扫描程序能够正确检测按键位置。

3. 按键操作能够触发相应的程序功能。

七、实验总结1. 通过本次实训,掌握了矩阵式键盘的工作原理及电路设计方法。

2. 熟悉了单片机与矩阵键盘的接口连接及编程技巧。

3. 提高了动手实践能力,培养了创新意识。

八、心得体会1. 在实验过程中,遇到了电路连接错误和程序调试困难等问题,通过查阅资料、请教老师和同学,最终成功解决了问题。

2. 本次实训让我深刻体会到理论知识与实际操作相结合的重要性,同时也认识到团队合作的重要性。

九、改进建议1. 在电路设计过程中,可以考虑增加去抖动电路,提高按键稳定性。

EDA实验七 矩阵键盘与数码管显示测试

EDA实验七 矩阵键盘与数码管显示测试

实验七4*4键盘数据读取及数据显示设计一、实验目的:1、了解数码管的工作原理;2、掌握4*4矩阵键盘和数码管显示的编程方法。

3、学会用于Verilog语言进行程序设计。

二、实验仪器设备1、PC机一台2、FPGA实验开发系统一套。

三、实验原理:本实验通过扫描4*4矩阵键盘的值,在数码管上显示对应按钮的编号数据。

矩阵键盘及数码管电路如下所示。

四、实验要求1、预习教材中的相关内容。

2、阅读并熟悉本次实验的内容。

3、完成实验内容。

五、实验步骤(1)启动 Quartus II 建立一个空白工程,选择的器件为 Altera 公司的 Cyclone 系列的 EP2C8Q240C8芯片,命名为 keyarray.qpf;(2)新建一个 Schematic File 文件,命名为 keyarray.bdf;(3)分别新建 3 个 Verilog HDL File 文件,分别命名为 seg_show.v、 divclk.v、keyarraycontrol.v。

输入程序代码并保存(对应源程序 8),然后进行综合编译。

若在编译过程中发现错误,则找出错误并更正错误,直至编译成功为止。

(4)从设计文件创建模块(File→Creat Update→Creat Symbol Files for Current File),seg_show.v 生成名为seg_show.bsf;divclk.v 生成名为divclk.bsf;keyarraycontrol.v 生成名为keyarraycontrol.bsf;(5)在 keyarray.bdf 文件中,在空白处双击鼠标左键,在 Symbol 对话框左上角的libraries 中,分别将 Project 下的 seg_show, divclk, keyarraycontrol 模块放在图形文件 keyarray.bdf 中,加入输入、输出引脚,双击每个引脚,进行引脚命名,并锁定管脚,将未使用的引脚设置为三态输入(一定要设置,否则可能会损坏芯片);完整的顶层模块原理图如图所示(6)将keyarray.bdf 设置为顶层实体。

51单片机数码管显示及矩阵键盘扫描程序

51单片机数码管显示及矩阵键盘扫描程序

51单片机数码管显示及矩阵键盘扫描程序硬件实验十一八段数码管实验一、实验任务1、在静态数码管上轮流显示数字0-9。

2、在两个4位数码管上动态显示数字0-9二、流程图及程序静态显示:流程图:程序代码:#include#define uchar unsigned chucharcodevalue[10]={0xC0,0xF9,0xA4,0xB0,0X99,0x92,0x82,0xF8,0 x80,0x90};//0 -9数码管显示段码void delay(char x) //延时子程序{uchar i;for(i=0;i<200;i++);}main() //主函数{int i;while(1){for(i=0;i<10;i++) //显示0-9{P0=codevalue[i];delay(500); //延时1秒}}}动态显示:#include#includetab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6D,0x7D,0x07,0x7f,0x6f}; //数码管显示数字字段unsigned char tab2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//片选字段unsigned char i,k,j,x;void delay(x); //声明延时子函数void main() //主函数{while(1){for(i=0;i<8;i++) //显示0-7{ P1=tab1[i];P0=tab2[i];delay(5); //延时}P1=tab1[8]; P0=tab2[0]; delay(5); //显示8-9P1=tab1[9]; P0=tab2[1]; delay(5);}}void delay(x) //延时函数定义{do{for(j=0;j<250;j++)for(k=0;k<250;k++);}}硬件实验十二矩阵键盘扫描显示一、实验任务1、把矩阵键盘上的按键输入的键码在静态数码管上显示出来。

实验五 键盘扫描实验 实验报告

实验五键盘扫描实验实验报告一、实验目的本次实验的主要目的是深入了解键盘扫描的工作原理,掌握键盘扫描的编程实现方法,以及提高对硬件接口和软件编程的综合应用能力。

二、实验设备1、计算机一台2、实验开发板一套3、下载线一根4、键盘一个三、实验原理键盘扫描的基本原理是通过逐行或逐列扫描键盘矩阵,检测按键的按下和释放状态。

常见的键盘扫描方式有行列式扫描和编码式扫描。

在行列式扫描中,将键盘的行线和列线分别连接到微控制器的输入输出端口。

通过依次将行线设置为低电平,同时读取列线的状态,来判断是否有按键按下。

如果在某一行被设置为低电平时,对应的列线检测到低电平,则表示该行和该列交叉处的按键被按下。

编码式扫描则是利用专门的编码芯片对键盘进行扫描和编码,微控制器只需读取编码芯片输出的按键编码即可确定按键的状态。

四、实验步骤1、硬件连接将实验开发板与计算机通过下载线连接好。

将键盘连接到实验开发板的相应接口。

2、软件编程选择合适的编程语言和开发环境,如 C 语言和 Keil 开发环境。

定义键盘的行线和列线所对应的端口。

编写扫描函数,实现键盘扫描的逻辑。

在主函数中调用扫描函数,并根据返回的按键值进行相应的处理,如显示按键字符或执行特定的操作。

3、编译下载对编写好的程序进行编译,检查是否有语法错误。

将编译生成的可执行文件下载到实验开发板中。

4、实验测试按下键盘上的不同按键,观察实验开发板上的显示或输出结果是否正确。

检查是否能够准确检测到按键的按下和释放,以及是否存在按键抖动等问题。

五、实验结果与分析1、实验结果在实验过程中,成功实现了对键盘的扫描,并能够准确检测到按键的按下。

按下不同的按键时,实验开发板能够正确显示相应的按键字符或执行预定的操作。

2、结果分析对于按键的准确检测,说明编写的扫描函数逻辑正确,能够有效地识别键盘矩阵中的按键状态变化。

在检测到按键按下时,没有出现误判或漏判的情况,表明行线和列线的设置以及读取操作正常。

矩阵式键盘实验报告

矩阵式键盘实验报告矩阵键盘设计实验报告南京林业大学实验报告基于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。

数码管动态显示与矩阵键盘的编程

数码管动态显示与矩阵键盘的编程实验四综合应用设计——数码管动态显示与矩阵键盘的编程一、实验目的:1、掌握单片机I/O技术和子程序设计等综合知识。

2、了解矩阵式键盘的内部结构和数码管显示的根本原理,掌握至少一种常用的按键识别方法。

3、熟练掌握数码管动态显示和矩阵键盘识别的综合应用。

二、实验内容:设计一个矩阵键盘的识别和动态显示综合的系统,控制8个8段数码管动态扫描显示4*4矩阵键盘上按下的按键所对应的值。

三、实验要求:给定一个4*4的矩阵键盘,16个按键对应显示0123456789ABCDE,第1次按下某按键在第一个8段数码管上显示对应的值,第2次在第二个数码管上显示,以此类推,第9次又在第一个数码管上显示,以此循环下去。

其中ABCDE在数码管上无法表达,可以用其它代替,例如:B用8表示,D用0表示,E用H表示等。

四、实验设备及实验耗材:计算机一台,WAVE6000软件模拟器,完成ISP下载的XLISP软件,XL1000单片机综合仿真试验仪一台〔8个8段数码管,4*4矩阵键盘一个,89S51一片,9针对9针的串口线一条,5V稳压电源线一条〕五、实验根本原理与方法:查阅相关资料掌握矩阵式键盘的内部结构,8段数码管动态显示原理和常用的按键识别方法,建议使用按键识别方法中最常用的“行扫描法〞编写程序。

结合动态显示技术和矩阵键盘识别技术。

六、实验方案设计:1、采用哪些I/O口完成通信,采用何种按键识别的方法,如何综合动态显示技术和矩阵键盘识别技术。

2、说明该程序的功能。

3、硬件连接原理图。

七、实验步骤:1. 弄清实验内容和实验要求。

2. 学习相关理论知识,提出实验方案,画出程序流程图。

开始调用程序进行键盘检测和键值处理选中第1个数码管调用程序进行键盘检测和键值处理显示第1次按下的键值关显示选中第2个数码管调用程序进行键盘检测和键值处理显示第2次按下的键值关显示选中第8个数码管调用程序进行键盘检测和键值处理显示第8次按下的键值关显示结束软件流程图3. 编写软件程序,作相关的程序注释,便于查看和调试。

中山学院单片机综合实验报告-键盘、数码管与点阵管实验

{0x00,0x18,0x20,0x38,0x24,0x24,0x18,0x00}, //'6'
{0x00,0x3C,0x04,0x08,0x10,0x10,0x10,0x00}, //'7'
{0x00,0x18,0x24,0x24,0x18,0x24,0x24,0x18}, //'8'
{0x00,0x18,0x24,0x24,0x1C,0x04,0x24,0x18}, //'9'
P3.4、P3.5用于读取矩阵键盘的列状态,P2.3、P4.4的作用为:P2.3=1时,数码管和点阵管均关闭显示,P2.3=0而P4.4=1或0时,数码管或点阵管开通显示。
3、实验内容和步骤
1、在8个数码上顺序显示0-7八个数字。程序代码如下所示:
#include <reg52.h>
unsigned lettern[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
{0x0C,0x12,0x12,0x12,0x1E,0x12,0x12,0x00}, //'A'
{0x0E,0x09,0x09,0x0E,0x09,0x09,0x09,0x0E}, //'B'
{0x00,0x1C,0x20,0x20,0x20,0x20,0x1C,0x00}, //'C'
{0x0E,0x1C,0x12,0x12,0x12,0x12,0x1C,0x00}, //'D'
unsigned lettern[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

矩阵键盘扫描与数码管显示实验结果分析
矩阵键盘扫描与数码管显示实验是一种常见的数字电路实验。

在这个实验中,我们可以通过按下矩阵键盘上的按键,控制数码管上的数字显示。

实验结果分析主要包括以下几个方面:
1. 矩阵键盘扫描:在实验中按下键盘上的某个按键,可以通过扫描算法检测到按键的位置,并将对应按键的行列信息送入微处理器或控制电路。

分析实验结果时,可以观察是否可以正常检测到按键的位置,并且是否能够正确传递给其他部分的电路或处理器。

2. 数码管显示:通过实验中的控制电路,可以将微处理器或其他控制器输出的数字信号转换成数码管上的对应数字显示。

在分析实验结果时,可以观察数码管是否能够正常显示所期望的数字,并且是否能够响应输入信号的变化。

3. 信号传递与处理:在整个实验电路中,信号的传递和处理是关键部分。

可以分析信号在各个部分的传递过程中是否出现错误或干扰,是否能够实现正确的数据传输和处理。

4. 稳定性和可靠性:实验结果的分析还需要考虑电路的稳定性和可靠性。

即在长时间使用或复杂环境条件下,电路能否保持正常工作,并且不出现意外错误或故障。

总结来说,矩阵键盘扫描与数码管显示实验结果的分析需要关注按键的检测和传递、数码管的正确显示、信号传递与处理等方面,同时也需要考虑电路的稳定性和可靠性。

相关文档
最新文档