单片机键盘实验报告

单片机键盘实验报告

单片机键盘实验报告

引言:

单片机是一种集成电路,具备处理器、存储器和各种输入输出接口等功能。在现代电子设备中,单片机被广泛应用于各种控制系统中。其中,键盘作为一种重要的输入设备,常用于与单片机进行交互。本实验旨在通过使用单片机和键盘,实现一个简单的输入输出系统。

实验目的:

1. 了解单片机的基本原理和工作方式;

2. 掌握键盘的工作原理和使用方法;

3. 利用单片机和键盘实现一个简单的输入输出系统。

实验器材:

1. 单片机开发板;

2. 键盘模块;

3. 电脑。

实验步骤:

1. 连接键盘模块到单片机开发板的合适接口上;

2. 将开发板连接到电脑上;

3. 编写单片机程序,实现键盘输入的读取和显示;

4. 将程序下载到单片机开发板上;

5. 运行程序,测试键盘输入和显示功能。

实验原理:

1. 单片机工作原理:

单片机通过执行存储在其内部的程序来完成各种任务。它通过读取输入信号,进行运算处理,然后输出相应的结果。单片机的核心是中央处理器(CPU),它负责执行指令和控制整个系统的工作。

2. 键盘工作原理:

键盘是一种输入设备,通过按下不同的按键产生不同的电信号,然后传输给单片机进行处理。键盘通常由多个按键组成,每个按键都有一个唯一的编码。当用户按下某个按键时,键盘会发送相应的编码信号给单片机。

实验结果:

经过实验,我们成功实现了一个简单的单片机键盘输入输出系统。通过按下键盘上的按键,我们可以在电脑上显示相应的字符。这样的系统可以应用于各种需要用户输入的场景,如密码输入、菜单选择等。

实验总结:

通过本次实验,我们深入了解了单片机的基本原理和工作方式,掌握了键盘的工作原理和使用方法。同时,我们也体验到了单片机和键盘的强大功能,以及它们在现代电子设备中的重要性。单片机键盘输入输出系统的实现为我们提供了一个基础平台,可以进一步扩展和应用于更复杂的控制系统中。

未来展望:

在今后的学习和实践中,我们将进一步研究和应用单片机和键盘技术。通过深入理解其原理和方法,我们可以设计和实现更加复杂和功能强大的控制系统。同时,我们也将关注新技术的发展,不断更新和拓展我们的知识和技能,以适应快速变化的电子行业需求。

结语:

通过本次实验,我们对单片机键盘输入输出系统有了更深入的了解。通过实践,我们不仅巩固了理论知识,还提高了动手能力和问题解决能力。相信在今后的

学习和工作中,我们将能够更好地运用所学知识,为电子行业的发展做出贡献。

单片机键盘实验报告

单片机键盘实验报告 单片机键盘实验报告 引言: 单片机是一种集成电路,具备处理器、存储器和各种输入输出接口等功能。在现代电子设备中,单片机被广泛应用于各种控制系统中。其中,键盘作为一种重要的输入设备,常用于与单片机进行交互。本实验旨在通过使用单片机和键盘,实现一个简单的输入输出系统。 实验目的: 1. 了解单片机的基本原理和工作方式; 2. 掌握键盘的工作原理和使用方法; 3. 利用单片机和键盘实现一个简单的输入输出系统。 实验器材: 1. 单片机开发板; 2. 键盘模块; 3. 电脑。 实验步骤: 1. 连接键盘模块到单片机开发板的合适接口上; 2. 将开发板连接到电脑上; 3. 编写单片机程序,实现键盘输入的读取和显示; 4. 将程序下载到单片机开发板上; 5. 运行程序,测试键盘输入和显示功能。 实验原理:

1. 单片机工作原理: 单片机通过执行存储在其内部的程序来完成各种任务。它通过读取输入信号,进行运算处理,然后输出相应的结果。单片机的核心是中央处理器(CPU),它负责执行指令和控制整个系统的工作。 2. 键盘工作原理: 键盘是一种输入设备,通过按下不同的按键产生不同的电信号,然后传输给单片机进行处理。键盘通常由多个按键组成,每个按键都有一个唯一的编码。当用户按下某个按键时,键盘会发送相应的编码信号给单片机。 实验结果: 经过实验,我们成功实现了一个简单的单片机键盘输入输出系统。通过按下键盘上的按键,我们可以在电脑上显示相应的字符。这样的系统可以应用于各种需要用户输入的场景,如密码输入、菜单选择等。 实验总结: 通过本次实验,我们深入了解了单片机的基本原理和工作方式,掌握了键盘的工作原理和使用方法。同时,我们也体验到了单片机和键盘的强大功能,以及它们在现代电子设备中的重要性。单片机键盘输入输出系统的实现为我们提供了一个基础平台,可以进一步扩展和应用于更复杂的控制系统中。 未来展望: 在今后的学习和实践中,我们将进一步研究和应用单片机和键盘技术。通过深入理解其原理和方法,我们可以设计和实现更加复杂和功能强大的控制系统。同时,我们也将关注新技术的发展,不断更新和拓展我们的知识和技能,以适应快速变化的电子行业需求。

单片机实验报告——矩阵键盘数码管显示

单片机实验报告 信息处理实验 实验二矩阵键盘 专业:电气工程及其自动化 指导老师:高哲 组员:明洪开张鸿伟张谦赵智奇学号:152703117 \152703115\152703118\152703114

室温:18 ℃日期:2017 年10 月25 日 矩阵键盘 一、实验内容 1、编写程序,做到在键盘上每按一个键(0-F)用数码管将该建对应的名字显示出来。按其它键没有结果。 二、实验目的 1、学习独立式按键的查询识别方法。 2、非编码矩阵键盘的行反转法识别方法。 3、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。 4、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。 5、掌握利用Keil51软件对程序进行编译。 6、会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果 能做出分析和解释,能写出符合规格的实验报告。 三、实验原理 1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先

向端口写入“1”。 2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。 3、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。 行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。 由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。 行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6

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

键盘扫描实验实验报告 一、实验目的 1. 掌握线反转法键盘扫描原理。 2. 了解单片机的输入和输出过程,理解单片机的数据采集过程。 二、实验内容 单片机外接4x4键盘,通过线反转法判断按下的键,并在数码管上显示按键对应的数字。 第一行从左到右分别是开关K0, K1, K2, K3,第二行从左到右分别是K4, K5, K6, K7以此类 推。当按下Kn时,在数码管上显示数字n。 三、实验原理 线翻转法:先对行(R0-R3)置0,对列(R4-R7)置1。当有键被按下时,会把按键所在的列的电位从1变0,记录下位置;然后再将行列翻转,记录下按下键的所在行,两数进行或运算,就可以得到一个唯一表示按下键的数字。 例如:假定R0-R7分别与单片机的P2.0-P2.7相连。先把R4-R7置1,R0-R3置0(通过指令MOV P2, #0F0H实现)。当键K5被按下时,R5电位被拉低为低电平。此时,P2口表示的数为:1101 0000(0xD0);然后再置R4-R7为0,R0-R3为1,此时,R1电位被拉低为低电平,此时,P2口表示的数为:0000 1101(0x0D)。将两数相与取反,得到:0010 0010。

四、实验过程 1. 连接好单片机及其外围设备电路

2. 编写汇编程序 ORG LJMP Key LJMP K7: CJNE R2, #82H, K8 ORG 0100H MOV P0, #0F8H Init: CLR P1.3 LJMP Key MOV P0, #0C0H K8: CJNE R2, #14H, K9 Key: MOV P2, #0F0H MOV P0, #080H MOV A, P2 LJMP Key MOV R1, A K9: CJNE R2, #24H, K10 MOV P2, #0FH MOV P0, #090H MOV A, P2 LJMP Key ORL A, R1 K10: CJNE R2, #44H, K11 CPL A MOV P0, #088H MOV R2, A LJMP Key JNZ KeyPro K11: CJNE R2, #84H, K12 LJMP Key MOV P0, #083H KeyPro: CJNE R2, #11H, K1 LJMP Key MOV P0, #0C0H K12: CJNE R2, #18H, K13 LJMP Key MOV P0, #0C6H K1: CJNE R2, #21H, K2 LJMP Key MOV P0, #0F9H K13: CJNE R2, #28H, K14 LJMP Key MOV P0, #0A1H K2: CJNE R2, #41H, K3 LJMP Key MOV P0, #0A4H K14: CJNE R2, #48H, K15 LJMP Key MOV P0, #086H K3: CJNE R2, #81H, K4 LJMP Key MOV P0, #0B0H K15: CJNE R2, #88H, K16 LJMP Key MOV P0, #08EH K4: CJNE R2, #12H, K5 LJMP Key MOV P0, #099H K16: LJMP Key LJMP Key END K5: CJNE R2, #22H, K6 MOV P0, #092H LJMP Key K6: CJNE R2, #42H, K7 MOV P0, #082H 五、实验结果 1. 当按下开关Kn时,数码管能够显示对应的数字。并且P2口的实际输出值跟理论值完全符合。(也就是按下K0, K1, …, K15,数码管上会显示0, 1, 2, …, F)

单片机实验报告(键盘显示)

实验三和附录实验报告 实验者:孔维池班别:自动化10(3)班学号:3110000918 实验三、外部中断与数码管显示实验 一、实验目的: (1)了解MCS—51单片机的中断原理,掌握中断程序的设计方法。 (2)熟悉SST89E554RC的工作方式及应用,了解数码显示的基本原理。 二、实验主要内容和要求: 1、实验内容:按图3-3(略)接线,利用SST89E554RC单片机上的INT0、ITN1外 中断口实现中断功能。运行显示000000,当INT0中断时,七段数码管显示012345; INT1中断时,七段数码管实现ABCDEF,循环显示。 2、实验要求:每位学生独立完成。 三、实验方案与过程: 1、实验方案:逐个数码管显示,利用数码管的余晖作用,动态显示,让人看上去感觉 是同时点亮的。 2、实验过程: 参考代码如下: ORG 0000H LJMP MAIN ORG 0003H LJMP EINT0 ORG 0013H LJMP EINT1 ORG 0100H MAIN: SETB IT0 SETB EX0 SETB IT1 SETB EX1 SETB EA MOV R0,#00H MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H A00: MOV P1,R0 MOV P0,#0FEH

CALL DELAY MOV P1,R1 MOV P0,#0FDH CALL DELAY MOV P1,R2 MOV P0,#0FBH CALL DELAY MOV P1,R3 MOV P0,#0F7H CALL DELAY MOV P1,R4 MOV P0,#0EFH CALL DELAY MOV P1,R5 MOV P0,#0DFH CALL DELAY JMP A00 DELAY: MOV R7,#0FFH AD: DJNZ R7,AD RET EINT0: MOV R0,#3FH MOV R1,#06H MOV R2,#5BH MOV R3,#4FH MOV R4,#66H MOV R5,#6DH RETI EINT1: MOV R0,#77H MOV R1,#7CH MOV R2,#39H MOV R3,#5EH MOV R4,#79H MOV R5,#71H RETI END 实验步骤:1)输入代码; 2)运行程序,然后按下KK1-还有KK2-,看实现现象。 四、实验结果: 运行显示000000,当INT0中断时,七段数码管显示012345;INT1中断时,七段数码管实现ABCDEF,循环显示。 五、实验心得: 通过本次实验,让我了解了中断的使用方法,运用理论与实际相结合,把理论运动到实际中,加深了对中断和数码管显示的使用的认识和了解。

单片机按键实验报告

单片机按键实验报告 篇一:单片机按键扫描实验报告 键盘扫描 一.实验目的 (1)掌握矩阵键盘接口电路和键盘扫描编程方法。 (2)掌握按键值处理与显示电路设计。 二.实验任务 (1)设计4*4键盘,编写各个键的特征码和对应的键值(0~F); (2)编程扫描按键,将按键对应的数字值使用数码管显示出来。 三.实验电路及连线方法 1.采用动态显示 连线方法:电路由2 片74LS573,1 个六字一体的共阴数码管组成。由U15 输出段选码,U16 做位选码,与单片机的采用I/O 口连接方式,短路片J22 连接P2.0,J23 连接P2.3,做输出信号锁存。 (实际电路连接是d7-d6-d5-d4-d3-d2-d1-d0?h-c-d-e-g-b-a-f)。PW12 是电源端。 2.键盘电路 连线方法:电路由16 个按键组成,用P1 口扩展4×4 行列式键盘。 J20 是键盘连接端,连接到P1 口。J21 是行列键盘、独立键盘选择端,当J21 的短路片连接2-3 脚时,构成4×4 行列式键盘;当J21 的短路片连接2-1 脚时,

可形成3×4 行列式键盘,4 个独立式 按键S4、S8、S12、S16,这4 个独立按键分别连接P1.4~P1.7;其他12 个键3×4 行列式键盘。 PW15 是电源端。 四.编程思路 1.采用反转法识别按键的闭合。 2.采用动态显示将键值显示出来。 五.算法流程图 六.资源分配 1.用P1口进行查找按键 2.用R3做键值指针 3.用R1做动态显示为选码指针。 4.R5为延时指针。 七.程序设计 KPIN: ORG MOV MOV ANL MOV 0000H P1,#0F0H A,P1 A,#0F0H B,A MOVP1,#0FH MOVA,P1 ANLA,#0FH ORLA,B CJNE A,#0FFH,KPIN1 AJMP EXIT

单片机实验报告5

实验五键盘实验 一、实验目的 熟悉keil仿真软件、proteus仿真软件的使用和实验板中行列式键盘的使用。了解并熟悉行列式键盘的电路结构、与单片机的连接方法及其工作原理,理解掌握C51中单片机控制行列式键盘中判断按键是否按下、按键的识别、按键的消抖分别是如何实现的。 二、实验原理 键盘是单片机系统中通用的输入设备,用于向系统输入数据或控制信息。键盘中一般矩阵式(行列式)键盘用得较多,适用于按键数量较多的场合。 矩阵式键盘由行线和列线组成,按键位于行线、列线的交叉点上。当键被按下,则其交点的行线和列线接通。行和列可分别用两个I/O口来控制。 判断是否有键按下时,行线通过上拉电阻接+5V上,而先使所有列线为低电平(I/O输出0),再读行线状态(输入口),当无键按下时,所有行线为高电平,即读到“全1”数据;当有某键按下时,总会有一根行线为低电平,即读到的数据不全为“1”。

按键的识别(识别键的行列位置)有两种方法:扫描法和反转法。反转法将行线接一并口,做输出方式;列线接一并口,做输入方式。使所有行线为低电平(送全“0”),读入列线值,为“0”的那列,即按键所在列;反过来,使行线做输入方式,列线做输出方式。将刚读到的列线值输出,然后读行线值,为“0”的那行,即按键所在行。编程时使用P1=0x0f;m=P1;P1=0xf0;n=P1;mn=m|n;即可得到按键的键值,每一个按键都有自己唯一的键值。 按键或键盘都是一个机械开关,键的按下和放开是利用机械触点的闭合和断开来实现的。由于机械触点的弹性作用,一个按键开关在闭合及断开瞬间均有一连串的抖动,抖动的时间长短由按键的机械特性决定,一般为5~10ms。为了确保按键动作只确认一次,必须消除抖动的影响。一般采用延时的方法。 三、实验设备与器件 硬件:微机、单片机仿真器、单片机实验板、连线若干 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 四、实验内容 使用proteus仿真软件构建一个行列式键盘,实验板上51单片机的P1口的高4位和低4位分别做行线和列线,构建一个4*4的行列式键盘。应用行列式键盘的反转法识别按键的原理,编写程序控制至少3个按键,使每个按键按下时能在实验板的一个多位数码管中分别显示一个不同的数。

单片机实验报告矩阵键盘控制点阵的显示

实验报告 实验名称:矩阵键盘控制点阵的显示 专业班级:控制科学与工程学号:s2******* 学生姓名:李佛垚 指导教师:李晓林、李丽宏、牛昱光 2013年1月18日

目录 一、实验目的 (1) 二、实验内容 (1) (一)扫描矩阵键盘读出键值。 (1) (二)数码管显示键号。 (1) (三)点阵显示不同按键需要输出的信息。(根据需要可以修改)。 (1) 三、实验设备及配套软件 (1) 四、实验原理 (2) 五、实验电路及功能说明 (2) (一)STC89C52RC单片机主要性能 (2) (二)矩阵键盘 (4) 1.连接线路图 (4) 2.矩阵键盘说明: (4) (三)点阵 (5) 1.连接线路图 (5) 2.8x8点阵LED等效电路连接图: (5) 3.显示原理说明: (6) (四)数码管 (6) 1.数码管连接线路图 (6) 2.动态显示原理 (6) (五)XT100最小系统原理图 (7) (六)实验结果分析 (8) 1.实物图 (8) 2.结果分析 (8) 六、软件设计流程图 (8) (一)程序说明 (8) (二)流程图 (9) 1.主程序流程图 (9) 2.键盘扫描程序流程图 (10) (三)程序 (11) 七、实验中的问题与心得 (16)

一、实验目的 一般任何一个适用的系统都少不了键盘和显示这两个部分,键盘为使用者设定功能提供操作平台;显示反映出使用者设定功能的状态。在传统的设计中,一般都是把键盘模块和显示模块分开设计,这样结构清晰,软件设计简单,当I/O口不够用时,通常通过扩展I/O的方法来解决问题。以上做法有优点但同时也暴露了一个问题,它们都需要通过增加芯片来扩展I/O口。当硬件成本要求苛刻的情况下,这种设计理念就很难适应其要求,而本设计采用显示模块和键盘模块共用端口的方法,分时显示和按键扫描,很好的解决了这一矛盾。 二、实验内容 利用XT100开发板中的STC89C52单片机的P0口和P2口的分时复用以及单片机执行速度快和人的视觉反应有限的原理,通过对同一I/O端口分时作为键盘电路的输入端口和数码管以及点阵显示电路的输出及控制端口来实现I/O端口的公用。由于XT100开发板已经固化,P0口作为数码管的数据输出口同时还是点阵的数据输出口,P2口作为矩阵键盘和点阵的控制端口,在不用扩展I/O口和增加成本的基础上解决I/O不够用的问题。 实验具体内容: (一)扫描矩阵键盘读出键值。 (二)数码管显示键号。 (三)点阵显示不同按键需要输出的信息。(根据需要可以修改)。 三、实验设备及配套软件 XT100学习开发板,Keil uVision软件,Microsoft Visual C++,STC_ISP_V483

单片机键盘显示实验报告

单片机的键盘和显示实验报告 ㈠实验目的 1.掌握单片机I/O的工作方式; 2.掌握单片机以串行口方式0工作的LED显示; 3.掌握键盘和LED显示的编程方法。 ㈡实验器材 1.G6W仿真器一台 2.MCS—51实验板一台 3.PC机一台 4.电源一台 ㈢实验内容及要求 实验硬件线路图见附图 从线路图可见,8051单片机的P1口作为8个按键的输入端,构成独立式键盘。四个LED显示器通过四个串/并移位存放器74LS164接口至8051的串行口,该串行口应工作在方式0发送状态下,RXD端送出要显示的段码数据,TXD那么作为发送时钟来对显示数据进展移位操作。 编写一个计算器程序,当某一键按下时可执行相应的加、减、乘、除运算方式,在四个显示器上显示数学算式和最终计算结果。 注:①通过按键来选择加、减、乘、除四种运算方式。

②输入两个数字均为一位十进制数,可预先放在内存中。 ㈣实验框图(见下页) ㈤思考题 1.当键盘采用中断方式时,硬件电路应怎样连接? P1.4~P1.7是键输出线,P1.0~P1.3是扫描输入线。输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5 V电源,输出端接至8051的外部中断输入端。 2.74LS164移位存放器的移位速率是多少? 实验中要求计算的式子和结果之间相差一秒,移位存放器的移位速率应该是每秒一位吧。其实这个问题确实不知道怎么答复。。。。。

LED显示用的段码与教科书所提供的不同,本实验采用如下段码:

实验代码: ORG 0000H AJMP MAIN ORG 0030H MAIN:MOV 41H,#0BBH ;对几个存放地址进展初始化 MOV 42H,#0BBH MOV 43H,#0BBH MOV 44H,#0BBH MOV SCON,#00H ;初始化串行口控制存放器,设置其为方式0 LCALL DISPLAY ;初始化显示 KEY:MOV R3,#08H ;用来存放两个数据 MOV R4,#02H MOV P1,#0FFH ;初始化P1口 MOV A,P1 ;读取按键状态 CPL A ;取正逻辑,高电平表示有键按下 JZ KEY ;A=0时无键按下,重新扫描键盘 LCALL DELAY1 ;消抖 MOV A,P1 ;再次读取按键状态 CPL A JZ KEY ;再次判别是否有键按下 PUSH A KEY1:MOV A,P1 CPL A ANL A,#0FH ;判别按键释放 JNZ KEY1 ;按键未释放,等待

单片机 矩阵键盘实验 实验报告

单片机矩阵键盘实验实验报告 一、实验目的 本次实验的目的是掌握原理和方法,利用单片机识别矩阵键盘并编程实现键码转换功能,控制LED点亮显示。 二、实验原理 矩阵键盘是一种由多路单向控制器输入行选择信号与列选择信号连接而形成的一一对 应矩阵排列结构。它广泛应用于电子游戏机、办公自动化设备、医疗仪器、家电控制及书 籍检索机器等方面。本次实验采用的矩阵键盘是一个4 x 4矩阵,用4段数码管显示按键 编码,每个按键都可以输入一个代码,矩阵键盘连接单片机,实现一个软件算法来识别键 码转化。从而将键盘中的按键的按下信号转换成程序能够识别的代码,置于相应的输出结 果中,控制LED点亮,从而可以实现矩阵键盘按键的转换功能。 三、实验方法 1.硬件搭建:矩阵键盘(4行4列)与单片机(Atmel AT89C51)相连,选择引脚连接,并将数码管和LED与单片机相连以实现显示和点亮的功能。 2.程序设计:先建立控制体系,利用中断服务子程序识别和码值转换,利用中断服务 子程序实现从按键的按下信号转换为程序能够识别的代码,然后将该代码段编写到单片机 程序中,每次按下矩阵键盘按键后单片机给出相应的按键编码输出,用数码管显示,控制LED点亮。 四、实验结果 经过实验,成功实现了矩阵键盘与单片机之间的连接,编写了中断服务子程序,完成 了按键编码输出与LED点亮的功能。实验完成后,数码管显示各种按键的编码,同时LED 会点亮。 本次实验介绍了矩阵键盘的原理,论述了键码转换的程序设计步骤,并实验完成矩阵 键盘与单片机的连接,实现用LED点亮以及数码管显示按键的编码。通过本次实验,受益 匪浅,使我对使用单片机编写算法与程序有了更深入的认识,同时丰富了课堂学习的内容,也使我更加热爱自己所学的专业。

单片机c语言程序设计---矩阵式键盘实验报告

单片机c语言程序设计---矩阵式键盘实验报告 课程名称:单片机c语言设计实验类型:设计型实验 实验项目名称:矩阵式键盘实验 一、实验目的和要求 1.掌握矩阵式键盘结构 2.掌握矩阵式键盘工作原理 3.掌握矩阵式键盘的两种常用编程方法,即扫描法和反转法 二、实验内容和原理 实验1.矩阵式键盘实验 功能:用数码管显示4*4矩阵式键盘的按键值,当K1按下后,数码管显示数字0,当K2按下后,显示为1,以此类推,当按下K16,显示F。 (1)硬件设计 电路原理图如下

仿真所需元器件 (2)proteus仿真 通过Keil编译后,利用protues软件进行仿真。在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结果。 操作方完成矩阵式键盘实验。具体包括绘制仿真电路图、编写c源程序(反转法和扫描法)、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,总结观察的仿真结果。完成思考题。 三、实验方法与实验步骤 1.按照硬件设计在protues上按照所给硬件设计绘制电路图。 2.在keil上进行编译后生成“xxx.hex”文件。 3.编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结果。 四、实验结果与分析

void Scan_line()//扫描行 { Delay(10);//消抖 switch ( P1 ) { case 0x0e: i=1; break; case 0x0d: i=2; break; case 0x0b: i=3; break; case 0x07: i=4; break; default: i=0;//未按下 break; } } void Scan_list()//扫描列 { Delay(10);//消抖 switch ( P1 )

[单片机矩阵键盘实验实验报告范文]矩阵键盘实验心得

[单片机矩阵键盘实验实验报告范文]矩阵键盘实验心得实验五矩阵键盘实验 一、实验内容 1、编写程序,做到在键盘上每按一个数字键(0-F)用发光二极管将该代码显示出来。按其它键退出。 2、加法设计计算器,实验板上有12个按键,编写程序,实现一位整数加法运算功能。可定义“A”键为“+”键,“B”键为“=”键。 二、实验目的学习独立式按键的查询识别方法。 2、非编码矩阵键盘的行反转法识别方法。 三、实验说明 1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。 2、用查询方式检测按键时,要加入延时(通常采用软件延时10~ 20mS)以消除抖动。 3、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。 行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设

置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线 值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所 在行线上的值必定为0。这样,当一个键被接下时,必定可以读得一对唯 一的行线值和列线值。 由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键 盘采用行反转法识别最为简便。 行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部 置0,4个列线作为输入,将其全部置1,也就是向P1口写入0某F0;假 如此时没有人按键,从P1口读出的值应仍为0某F0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0某B0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四 位置1后再写入P1口,即将0某BF写入P1口,使P1.6为低,其余均为高,若此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0 某BE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事 先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。四、接线方法 键盘连接成4某4的矩阵形式,占用单片机P1口的8根线,行信号 是P1.0-1.3,列信号是P1.4-1.7。 五、实验电路 参考学习板说明书P14。 六、参考程序 程序一:

单片机 矩阵键盘实验 实验报告

实验五矩阵键盘实验 一、实验内容 1、编写程序,做到在键盘上每按一个数字键(0-F)用发光二极管将该代码显示出来。按其它键退出。 2、加法设计计算器,实验板上有12个按键,编写程序,实现一位整数加法运算功能。可定义“A”键为“+”键,“B”键为“=”键。 二、实验目的 1、学习独立式按键的查询识别方法。 2、非编码矩阵键盘的行反转法识别方法。 三、实验说明 1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。 2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。 3、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。 行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。 由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。 行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6为低,其余均为高,若此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0xBE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。 四、接线方法 键盘连接成4×4的矩阵形式,占用单片机P1口的8根线,行信号是P1.0-1.3,列信号是P1.4-1.7。

键盘显示控制实验报告

键盘显示控制实验报告 实验目的: 本次实验旨在研究键盘显示控制技术,在实现键盘输入的同时,将输入的结果实时显示在屏幕上,为之后的软件开发提供基础。 实验原理: 键盘是一种常见的输入设备,可根据用户的输入情况向计算机 发送指令和数据。在计算机中,键盘输入会以扫描码的形式发送 给系统,系统将扫描码转化成字符代码后再进行处理,最终将字 符显示在屏幕上。 本次实验采用基于51单片机的键盘显示控制电路,通过51单 片机对键盘输入进行扫描和处理,并将结果实时显示在LED数码 管和OLED屏幕上。 实验步骤: 1. 搭建电路

将51单片机与键盘、LED数码管和OLED屏幕连接起来,确保连接正确并无短路。 2. 编写程序 根据实验原理,编写键盘扫描程序和字符显示程序,分别实现对键盘输入的扫描和处理,以及将字符实时显示在LED数码管和OLED屏幕上。 3. 转化字符编码 对于键盘输入的扫描码,需要进行字符编码的转化,以便正确地输出字符。在程序中,我们采用ASCII码表进行字符编码的转化。 4. 测试程序

将编写好的程序烧录到51单片机中,通过对键盘进行输入测试,验证程序的正确性和稳定性,同时观察LED数码管和OLED 屏幕上的字符输出情况。 实验结果: 经过测试,我们成功实现了基于51单片机的键盘显示控制电路。在键盘输入的同时,程序能够实时将输入结果显示在LED数码管和OLED屏幕上,具有良好的稳定性和可靠性。 实验结论: 本次实验成功探究了键盘显示控制技术,对键盘输入的扫描和转化有了更深入的理解,并通过实验验证了实现键盘输入与屏幕输出的基本原理,为之后的软件开发提供了有力支持。

单片机实验报告键盘LED数码管显示实验

. 西华大学实验报告(机械类) 开课学院及实验室:机械工程与自动化学院运算机机房实验时刻:2021年 4月 7 日 一、实验目的 把握独立键盘、LED数码管的电路连接和编程方式。 二、实验内容 (1)编写程序,按KEY1只有红灯亮;按KEY2只有黄灯亮;按KEY3只有绿灯亮。 (2)开始后LED数码管显示0,每按KEY1一次,数码管显示加1,至9后,在循环从0显示到9。

三、实验电路 四、实验程序 实验程序如下: 1实验内容1 #ifndef _KEY_H_ #define _KEY_H_ #include<> #define uchar unsigned char #define KEY1 0x01 #define KEY2 0x02 #define KEY3 0x03 sbit KEY1_key=P2^0; sbit KEY2_key=P2^1; sbit KEY3_key=P2^2; void delayms(unsigned int x) { unsigned char j; while (x--)

{ for (j=0;j<123;j++){;} } } uchar KeyScanNUM(void) { uchar key=0; KEY1_key=1;KEY2_key=1;KEY3_key=1; if(KEY1_key==0){delayms(10);if(KEY1_key==0)key=KEY1;else key=0;} if(KEY2_key==0){delayms(10);if(KEY2_key==0)key=KEY2;else key=0;} if(KEY3_key==0){delayms(10);if(KEY3_key==0)key=KEY3;else key=0;} return key; } #endif #include "" sbit led_red=P1^4;验内容2 #ifndef _KEY_H_ #define _KEY_H_ #include<> #define uchar unsigned char #define KEY1 0x01 sbit KEY1_key=P2^0; void delayms(unsigned int x) { unsigned char j; while (x--) { for (j=0;j<123;j++){;} } } uchar KeyScanNUM(void) { uchar key=0; KEY1_key=1; if(KEY1_key==0){delayms(10);if(KEY1_key==0)key=KEY1;else key=0;} return key; } #endif #include<> sbit LED0=P2^5;

单片机实训报告键盘和数码管显示(WORD档)

单片机实训报告(一) 班级:测控 9 0 1 学号: 姓名 实用文档

实验名称:键盘和数码管显示 实验目的:熟悉掌握ZLG7289的功能和特性,ZLG7289芯片各引脚名称及功能和ZLG7289与微控制器的接口,ZLG7289的SPI接口和控制指令。同时进一步熟悉掌握keil软件的操作和编程。 实验原理:ZLG7289是一款数码显示驱动和键盘扫描管理的芯片。 主要有如下的特性: 1.直接驱动8位共阴式数码管或64只独立的LED; 2.管理多达64只按键,自动消除抖动; 3.段电流可达15mA以上,位电流可达100mA; 4.具有左移、右移、闪烁、消隐、段点亮等多种功能; 5.与微控制器之间采用三线SPI总线接口,占用I/O资源少。电路主要由芯片ZLG7289、8位共阴极数码管、64键的键盘矩阵以及单片机构成。 ZLG7289的控制电路图: 实用文档

电路的工作原理: 当ZLG7289接收到单片机发出的指令(包括纯指令)后,经过读取、分析和处理,将会在数码管上显示相对应的操作指令。当ZLG7289检测到有效的按键时,KEY脚将从高电平变为低电平,并一直保持到按键结束。在此期间,如果ZLG7289接收到“读键盘数据指令”,则输出当前按键的键盘代码。 ZLG7289芯片各引脚名称及功能: 引脚名称说明 实用文档

Zlg7289与微控制器的接口 ZLG7289使用SPI串行总线与微控制器接口。 SPI接口 SPI串行总线是Motorola公司推出的一种同步串行接口。通常它需 实用文档

要四条线,就可与微控制器之间实现全双工的同步串行通讯。SPI串行总线主要有如下的特性: 1.采用主从模式(Master Slave)架构,支持多Slave模式,一般只支持单Master,Master控制时钟。 2.采用四线,实现全双工通信。 图1 SPI接口连线示意图 示时钟极性选择和时钟相位选择。 CPOL控制位决定了设备激活后,而没有进行数据传输时,SCLK 的空闲(Idle)电平是高电平还是低电平。 实用文档

相关主题
相关文档
最新文档