资源描述:
《at89c51单片机对4×4矩阵键盘进行动态报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、沈阳航空航空航天大学电子设计应用软件训拣志猪报告学生姓名:白嘉晴班级学号:7402102/200704021033指导教师:滕金玉训练时间:2010年7月19日至2010年7月23日电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:AT89C51单片机对4X4矩阵键盘进行动态扫描,当按键盘的键时,可将相应按键值(0〜F)实时显示在数码管上;3、按照设计任务在Proteus6Professi
2、onal中绘制电路原理图;4、根据设计任务的要求编写程序,画出程序流程图,并在Proteus下进行仿真,实现相应功能。【按照要求撰写总结报告L指导教师学生姓名班级、学号成绩评定表评语、建议或需要说明的问题:成绩指导教师签字:日期:1.任务说明2.原理图绘制说明3.流程图绘制以及说明4.PROTEUS仿真说明5.体会及合理化建议1124789附录电路原理参考文献电子设计应用软件训练总结报告一.任务说明AT89C51单片机对4X4矩阵键盘进行动态扫描,当按键盘的键吋,可将相应按键值(CPF)实时显示在数码管上;按照设计任务在Proteus6Professional中绘制电路原理
3、图;根据设计任务的耍求编写程序,画出程序流程图,并在Proteus下进行仿真,实现相应功能。二.原理图绘制说明1.原理图说明木实验是AT89C51单片机对4X4矩阵键盘进行动态扫描,当按键盘的键时,可将相应按键值(0»实时显示在数码管上。4X4矩阵键盘是用4条1/0线作为行线,4条I/O线作为列线,在行线和列线的交叉点上设置一个按键,每个按键有它的行值和列值,用4条行线和列线分别接P2.0-P2.7,要进行数码管动态扫描,就要将数码管的七段a~f相应的与Pl.0-P1.6相连接,即把输入端口P2.0-P2.7连接到4X4行列式按键上作为输入,P1.0-P1.6作为输出端口控
4、制共阳级数码管a-g,对应的a-g通过程序进行点亮或者熄灭来显示数值(0汴)。2.原理图绘制(1)打开Proteus软件,进入其界面,然后新建一个图纸文件,软件默认为LandspaceA4纸张,符合我们的要求,所以不需要修改。(2)开始绘图,点击按钮P,弹出选择添加器件框图,如图1所示,在keywords里直接输入所需器件的名称或者在category的下面各个选项里一次查找所需的器件名称,然后点击ok图1.选择添加器件框图(3)依次添加AT89C51芯片,7SEG-C0M-CATH0DE共阳极的7段数码管,16个按键,八个电阻R(fR7,一个晶片xl,3个电容,地及电源。(
5、4)按照设计的要求正确连接电路,连接时注意管脚的分配及AT89C51的工作原理。(5)对连接好的电路图进行仿真,如有错误耍先按下暂停,然后对电路作进一步的调整与修改,再进行仿真,保存原理图文件。一.流程图绘制以及说明1.流程團绘制说明程序开始先对第一列进行扫描,如果没有按键,再对第二列、第三列、第四列分别进行扫描,如果没有返回到开始;如果第一列有按键,在分别对第一行、第二行、第三行、地四行,进行扫描,若有按键按下分别显示0、1、2、3;第二列、第三列、第四列类似第一列,分别对第一行、第二行、第三行、第四行进行扫描,有按键相应的显示出数值。2.流程图开始扫描键盘图2.流程图四
6、.Proteus仿真说明1.现在keil软件里编译连接汇编程序,使生成.HEX文件。汇编程序:ORG0000HLJMPSTARTORG01OOHSTART:MOVP2,#0FIIJO:JBP2.0,J1;判断第i列是否被选中JMPS00;若第i列被选中则程序跳到siOJl:JBP2.1,J2JMPSOIJ2:JBP2.2,J3JMPS02J3:JBP2.3,STARTJMPS03S00:MOVP2,#OEOH;若第0行第0列被选中则输出0JBP2.4,S10MOVA,#OCOHS10:JBP2.5,S20MOVA,#99HS20:JBP2.6,S30MOVA,#8011S3
7、0:JBP2.7,X0MOVA,#0C6HX0:MOVPl,AJMPSTARTSOI:MOVP2,#0F0IIJBP2.4,S11MOVA,#0F9H;若第0行第1列被选中则输出1Sil:JBP2.5,S21MOVA,#92HS21:JBP2.6,S31MOVA,#90HS31:JBP2.7,XIMOVA,ttOAlIIMOVPl,AXI:MOVPl,AJMPSTARTS02:MOVP2,#OEOHJBP2.4,S12MOVA,#0A4H;若第0行第2列被选中则输出2S12:JBP2.5,S22MOVA,#82HS