矩阵式键盘计数器课程设计

矩阵式键盘计数器课程设计

ID:43651491

大小:1.02 MB

页数:13页

时间:2019-10-11

矩阵式键盘计数器课程设计_第1页
矩阵式键盘计数器课程设计_第2页
矩阵式键盘计数器课程设计_第3页
矩阵式键盘计数器课程设计_第4页
矩阵式键盘计数器课程设计_第5页
资源描述:

《矩阵式键盘计数器课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、草片机篠程裁针報告针尊器8生名:周汪产曇号:20072296啟邑噂洋,搐孰異和贤.周鸟一、设计目的1、进一步熟悉89C51单片机外部引脚线路连接,掌握单片机全系统调试的过程及方法。2、通过计算器控制系统的设计,掌握矩阵式键盘的使用方法,和简单程序的编写,3、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提髙我们的动脑和动手的能力二.设计要求1、设计一个十六个按键的矩阵式计算器的模拟系统2、该系统具有加减乘除等功能。3、用Proteus7仿真工作的全过程,用Protel99se画出原理图及PCB图4、有相应的实物图5、掌握4X4矩阵式键盘程序识

2、别原理,常握4X4矩阵式键盘按键的设计方法。三.设计分析Y3Y2Y1Y0xOxlx3

3、—o

4、—o

5、—oo—r—0O—A.

6、~~CO—6'OO—'A.>

7、—OO—A.>[—OO—<>i且.I—.>O—加且.>r—O—

8、、10、11接X2;12、13、14、15接X3。即16个按钮空接,即十六个键一端低电平,另一端接高电平;当按下任意一个按钮时显示对应数字。该系统可以实现四则运算,当分別按下2个数字,再按任意一个功能键即可实现相应的运算。(2)按键的识别判断键盘上有无按键闭合,先判断行线XO—X3输出低电平“0”,然后判断列线Y0-Y3的状态,若为全1,即列线全为高电平,说明键盘上没有按键闭合,若Y0-Y3不全为1,说明有键按下。(3)消抖处理当判断有键按下后,需要进行消除抖动,这里使用了软件方法即程序中采用吋间延吋0.5秒,待信号稳定后再判别键盘的状态,若有键按下,则再进行键号的

9、计算。(4)判别键号先判断行线X0-X3是否有输出低电平若有键按下,则相应的列线也为低电平“0”,例如行线XI输出为低电平“0”,且列线Y2为低电平,即XI与Y2相交的键被按下,进行键号二行号*4+列号的计算。T1R2R1图(2)(5)显不结果图2显示器接高电频,左边显示器接P0.0-P0.7,右边接P2.0—P2.7,当按下一个数字时右显示器显示相应的数字,按第2个数字时左边显示器显示相应数字;当进行除法运算时,除的的数据要看接口P0.7接高还是低电频,低电频则结果为儿点儿,为高电频则几十几。英它运算直接看数据即可。16灭丄Mb图(3)(6)复位电路图3为攵位电路

10、,接AT89C51上的RST接口,当显示器显示数据时,按下16键时显示器不显示任何数据。如果进行了某一运算后,若这吋还要进行运算吋,可以直接按要进行运算的键号。四、程序流程图开始YPI口高4位置1送入P0显示第二次键入的值扫描键盘调用延时0.5s子程序消除抖动再按一次键N计算键入的值送入P2显示第一次键入的值调用延时0.5s子程序消除抖动送出结果P2显示个位,P0显示十位计算键入的值((A五、程序ORG0000HL1:LCALLSCANMOV40H,3211MOVRl,40HLCALLMOLCALLXY1MOVPO,#OFFIILCALLSCANMOV41H,32

11、HMOVR1,41HLCALLMOLCALLXY2L2:LCALLSCANMOV42H,32HMOVR7,42HCJNER7,#10D,L3MOVA,4011ADDA,41HMOVB,#1ODDIVABCJNEA,#OOH,L8MOVPO,#OFFIILJMPL9L8:MOV32H,ALCALLXY2L9:MOV32H,BLCALLXY1LJMPLI13:cjner7,#lld,14MOVA,40HsubbA,41HJBACC.7,N1MOV32H,AMOVPO,#OFFHLCALLXY1LJMPLIN1:MOVPO,#OBFHMOVA,4111SUBBA,40HA

12、DDA,#1DMOV32H,ALCALLXY1;将键号保存在4011;暂存在R1;使卩0口置1;将键号保存在41H;暂存在R1;是否进行加法运算;商存在制«即十位,余数存在B中即个位;判断十位是否为0,不为0跳转;置1不显示;商非0则调用显示十位数;调用显示个位数;是否进行减法运算;结果存在A;判断正负;减法结果为正;显示负号;显示结果LJMPLI14:cjner7,#12d,15;是否进行乘法运算MOVA,40HMOVB,41HMULAB;结果存在A中MOV50H,AMOVB,#1ODDIVAB;商存在A中即十位,余数存在B中即个位CJNEA,#0011,LI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。