最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

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

来源:动视网 责编:小OO 时间:2025-10-02 00:11:01
文档

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

单片机与矩阵键盘接口电路设计实验报告姓名:林蔼龄学号:1060601007班级:10级物理系电子信息工程A班单片机与矩阵键盘接口电路设计实验报告一:实验内容使用单片机的P1口与矩阵式键盘连接时,可以将P1口低4位的4条端口线定义为行线,P1口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。二:电路图三:程序流程图四:程序org0000hljmpmainmain:movp1,#0fh;列线输出0,
推荐度:
导读单片机与矩阵键盘接口电路设计实验报告姓名:林蔼龄学号:1060601007班级:10级物理系电子信息工程A班单片机与矩阵键盘接口电路设计实验报告一:实验内容使用单片机的P1口与矩阵式键盘连接时,可以将P1口低4位的4条端口线定义为行线,P1口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。二:电路图三:程序流程图四:程序org0000hljmpmainmain:movp1,#0fh;列线输出0,
单片机与矩阵键盘接口电路设计实验报告

姓名:      林蔼龄           

学号:     1060601007        

班级:10级物理系电子信息工程A班 

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

一:实验内容

    使用单片机的P1口与矩阵式键盘连接时,可以将P1口低4位的4条端口线定义为行线,P1口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。

二:电路图

   

三:程序流程图

       

四:程序

org 0000h

ljmp main

main:mov p1,#0fh;列线输出0,行线设为输入

mov a,p1;读P1口

anl a,#0fh;屏蔽高4位,留下行线状态

cjne a,#0fh,look;有按键按下,转look

ret;无按键按下,返回主程序

look:lcall dlay10;延时10ms

mov a,p1;读P1口

anl a,#0fh;屏蔽高4位,留下行线状态

cjne a,#0fh,rank ;确认键已按稳,转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 ;列扫描字左移一位

mov r4,a ;暂存列扫描字

mov p1,a ;送出列扫描字

mov a,p1 ;读P1口

anl a,#0fh ;屏蔽高4位,留下行线状态

cjne a,#0fh,next1 ;当前列有键按下,转next1

rloop2:djnz r3,rloop1 ;列扫描未完,继续

sjmp line ;列扫描完,转行扫描

next1:inc r2 ;窜键标志加1

mov 20h,r5 ;暂存有按键的列号

sjmp rloop2 ;继续列扫描

line:cjne r2,#01h,main ;若已窜键,转main,重新扫描

mov r2,#00h ;开始查行,窜键标志寄存器清0

mov r3,#04h ;行扫描次数

mov r6,#0ffh ;行号初值

mov p1,#0fh ;列线送0,准备读行线

mov a,p1 ;读P1口,获取行线状态

lloop1:inc r6 ;行号加1

rrc a ;从第0行开始,判断有无按键

jnc next2 ;本行有按键,转next2

lloop2:djnz r3,lloop1 ;无按键,继续查下一行

sjmp next3 ;查完,转next3

next2:inc r2 ;窜键标志加1

mov 21h,r6 ;暂存有按键的行号

sjmp lloop2 ;继续行扫描

next3:cjne r2,#01h,main ;若窜键,转main,重新扫描

gainky:mov a,21h ;无窜键,取出行号

mov b,#04h ;键盘列数

mul ab ;行号*键盘列数

add a,20h ;乘积与列号相加,得到键号

mov b,#03h;为执行键处理程序做准备

mul ab ;键号*3

mov dptr,#ptab ;键处理程序表首地址送DPTR

jmp @a+dptr ;散转至与键号对应的键处理程序

ptab:ljmp prog0; 键处理程序表

ljmp prog1

ljmp prog2

ljmp prog3

ljmp prog4

ljmp prog5

ljmp prog6

ljmp prog7

ljmp prog8

ljmp prog9

ljmp prog10

ljmp prog11

ljmp prog12

ljmp prog13

ljmp prog14

ljmp prog15

prog0:mov p2,#3fh

ret

prog1:mov p2,#06h

ret

prog2:mov p2,#5bh

ret

prog3:mov p2,#4fh

ret

prog4:mov p2,#66h

ret

prog5:mov p2,#6dh

ret

prog6:mov p2,#7dh

ret

prog7:mov p2,#07h

ret

prog8:mov p2,#7fh

ret

prog9:mov p2,#6fh

ret

prog10:mov p2,#77h

ret

prog11:mov p2,#7ch

ret

prog12:mov p2,#39h

ret

prog13:mov p2,#5eh

ret

prog14:mov p2,#79h

ret

prog15:mov p2,#71h

ret

dlay10:mov r0,#100 ;约10ms延时

dlay1:mov r1,#50

dlay2:djnz r1,dlay2

djnz r0,dlay1

ret

end

五:实验结果

当矩阵键盘的3号键被按下时,P2口的七段数码管显示的数据为3.如下图1所以:

                                 图1

当矩阵键盘的A号键被按下时,P2口的七段数码管显示的数据为A.如下图2所以:

                                 图2

当矩阵键盘的D号键被按下时,P2口的七段数码管显示的数据为d.如下图3所以:

                                  图3

当矩阵键盘的F号键被按下时,P2口的七段数码管显示的数据为F.如下图4所以:

                                  图4

文档

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

单片机与矩阵键盘接口电路设计实验报告姓名:林蔼龄学号:1060601007班级:10级物理系电子信息工程A班单片机与矩阵键盘接口电路设计实验报告一:实验内容使用单片机的P1口与矩阵式键盘连接时,可以将P1口低4位的4条端口线定义为行线,P1口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。二:电路图三:程序流程图四:程序org0000hljmpmainmain:movp1,#0fh;列线输出0,
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top