您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > 单片机与矩阵键盘接口电路设计实验报告
单片机与矩阵键盘接口电路设计实验报告单片机与矩阵键盘接口电路设计实验报告单片机与矩阵键盘接口电路设计实验报告单片机与矩阵键盘接口电路设计实验报告姓名:林蔼龄学号:1060601007班级:10级物理系电子信息工程A班XTALlKTAL2RSTaDEATftSCSlΓEX1rCF-SEHXTALlKTAL2RSTaDEATftSCSlΓEX1rCF-SEH一:实验内容使用单片机的P1口与矩阵式键盘连接时,可以将P1口低4位的4条端口线定义为行线,P1口高4位的4条端口线定义为列线,形成4*4键盘,可以配置16个按键,将单片机P2口与七段数码管连接,当按下矩阵键盘任意键时,数码管显示该键所在的键号。:电路图[PD.QfADOM.HAD1何2也02Pα.3ΓAD3賀P0.5∕AD5IPa5IADE叮1-∣aP2.1J11P2.12P3Sj15曲JMFDP31JTXDP3.2flNτfP3.3Π,1P3占晅PST丽:程序流程图四:程序OrgOooohIjmPmainmain:movp1,#Ofh;列线输出O,行线设为输入mova,p1;读P1口anIa,#Ofh;屏蔽高4位,留下行线状态Cjnea,#0fh,look;有按键按下,转lookret;无按键按下,返回主程序look:lcalldIay10;延时10msmova,p1;读P1口anla,#0fh;屏蔽高4位,留下行线状态Cjnea,#0fh,rank确认键已按稳,转RANKljmpmain;是抖动,未按稳,重新扫描rank:movr2,#00h;窜键标志寄存器请0movr3,#04h;查列次数movr4,#0f7h;列扫描字初值movr5,#0ffh;列号处值rloop1:incr5;开始列扫描,列号加1mova,r4;列扫描字送Arla;列扫描字左移一位movr4,a;暂存列扫描字movp1,a;送出列扫描字mova,p1;读P1口anla,#0fh;屏蔽高4位,留下行线状态cjnea,#0fh,next1;当前列有键按下,转next1rloop2:djnzr3,rloop1;列扫描未完,继续sjmpline;列扫描完,转行扫描next1:incr2;窜键标志加1mov20h,r5;暂存有按键的列号sjmprloop2;继续列扫描Iine:Gjner2,#01h,main;若已窜键,转main,重新扫描movr2,#00h;开始查行,窜键标志寄存器清0movr3,#04h;行扫描次数movr6,#0ffh;行号初值movp1,#0fh;列线送0,准备读行线mova,p1;读P1口,获取行线状态IIoop1:inGr6;行号加1rrGa;从第0行开始,判断有无按键jnGnext2;本行有按键,转next2IIoop2:djnzr3,IIoop1;无按键,继续查下一行sjmpnext3;查完,转next3next2:inGr2;窜键标志加1mov21h,r6;暂存有按键的行号sjmpIIoop2;继续行扫描next3:Cjner2,#01h,main;若窜键,转main,重新扫描gainky:mova,21h;无窜键,取出行号movb,#04h;键盘列数muIab;行号*键盘列数adda,20h;乘积与列号相加,得到键号movb,#03h;为执行键处理程序做准备muIab;键号*3movdptr,#ptab;键处理程序表首地址送DPTRjmp@a+dptr;散转至与键号对应的键处理程序ptab:Ijmpprog0;键处理程序表Ijmpprog1Ijmpprog2Ijmpprog3Ijmpprog4Ijmpprog5Ijmpprog6Ijmpprog7Ijmpprog8Ijmpprog9Ijmpprog10ljmpprog11ljmpprog12ljmpprog13ljmpprog14ljmpprog15prog0:movp2,#3fhretprog1:movp2,#06hretprog2:movp2,#5bhretprog3:movp2,#4fhretprog4:movp2,#66hretprog5:movp2,#6dhretprog6:movp2,#7dhretprog7:movp2,#07hretprog8:movp2,#7fhretprog9:movp2,#6fhretprog10:movp2,#77hretprog11:movp2,#7chretprog12:movp2,#39hretprog13:movp2,#5ehretprog14:movp2,#79hretprog15:movp2,#71hretdlay10:movr0,#100;约10ms延时dlay1:movr1,#50dlay2:djnzr1,dlay2djnzr0,dlay1retend五:实验结果当矩阵键盘的3号键被按下时,P2口的七段数码管显示的数据为3.如下图1所以:UlILJ∏AL2PoOD0POJADlPD2D3PO4dME1OP2.3AD2P03DαPOPP7J(AP7ILLPSENAL££aP2QλAfiP2.1P2.211P2AfAl2P2≡5Wj∣3P2EW4P27ΛA15PaeWRXDP3j∣∏∏ΓP33jSfΓF3JσDP3.-6i^FP3.7i^ATfiSLtiΓ≡-■92■23≡2q■^6■”■JD2P(I那LHj^l≡XTΛL1dXTAURSTP(IgDORCHgDIPC2D5PoEJO7R2DP2.2^10R2.MA11R2.4M12P24M13P2W14P2.7AA15P3JOfiXDP3.1ΠXDP32ΛNTΓP33J∣NT1P3.^m∣P3.5/T1P3.^P37fRCΓATBgCSl*T2RSTRIWADDPQ.1MD1FCl.2JlD5FHG.X2RSTRIWADDPQ.1MD1FCl.2JlD5FHG.XBP2.VA9P2^,A11P24ft12P2.57WDP3.2T1R36AWP3.7M-图3当矩阵键盘的F号键被按下时,P2口的七段数码管显示的数据为F.如下图4所以:」1Ia-ιdXTλP07AAD7F30W8P2.1^P2.2W10P2.-313P2.5ΓA13F2.15兰tP3,Ofljfθ~P3.3fr∏TP3.7颌
本文标题:单片机与矩阵键盘接口电路设计实验报告
链接地址:https://www.777doc.com/doc-7799442 .html