资源描述:
《单片机行列式键盘实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、洛阳理工学院实验报告系别计算机系班级B140504学号B14050414姓名史锦峰课程名称单片机原理及应用实验日期2016.04.07实验名称行列式键盘成绩实验目的:熟悉uVision4编译软件,掌握C51编程的调试方法及行列式键盘的原理。实验条件:计算机——台,Proteus和KeilC,实验箱。一、实验内容1.绘制非小断方式键盘接口电路原理图;2.参照实例完成教材非屮断行列式键盘C51语言程序的编译;3.练习PVision4程序动态调试方法,实现非中断行列式键盘的功能;4.观察ISIS仿真结果,完成实验报告。二、实
2、验步骤1.提前阅读与实验相关的阅读材料;2.参考P84页的实例7电路原理图,在ISIS中完成电路图的绘制;3.uVision4中编写和编译C51程序,并生成可执行文件;4.在ISIS中加载可执行文件,通过仿真运行检验编程的正确性。三、实验结果1.电路原理图tP2OPBOCS1图1电路原理图2L_21—>X.TAL1XTAL^PO.O/ADOPO.1/AD1PO2/AD2PO.»RSTPO7/AD7P2.0/AUP2.1/AQP2.2^A1OKiSteNALEEAK23A41P2-V
3、A12P2.6A13P1.OP2P27/A16P3O/RXOP1.-1P31/TXOP2P1.3P32/INTOP33/i7rrT4e-vm尸2->/!iP1OP3.OAIVRri7rn7/roT号74N252•程序调试方法首先在KcilC编程软件里创建工程,编写代码并进行调试,生成hex文件,运行无语法错误后再与Proteus进行联机仿真,将hex文件加载到单片机模块屮,单击菜单屮的调试-开始重新启动调试,正确无误后进行运行仿真。3•仿真运行图U1八XTAL1XTAL2PO.OZADOPO.1/AD1PO.2/AD
4、2PO.3/AD3P0.4/AD4PO5/AD5PO.O/ADOPO7/AD7■39■38RST^32.■34-£23.2Q・PSENALEEA±z土-I-書0123466780C51■21PR■22■23•24■2626匕小、27■28P2-■1O-12P3213•-14■15■17P2dP22P23P2.0/A8P2.1/AQP2.2/A10P23/A11P2A/A12P25/A13P2B/A14P27/A15P3O/RXDP3.1/TXDP3.2/iNT0P3.3/iNT7P3.4/TOP3.6/T1P3.ajW
5、R~P3.7/RDRP2PN42d27图2仿真运行图LED11.源代码:^includecharled_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71};charkey_buf[]={0xee,Oxde,Oxbe,0x7e,Oxed,Oxdd,Oxbd,0x7d,Oxeb,Oxdb,Oxbb,0x7b,Oxe7,0xd7,0xb7,0x77};chargetkey(void){
6、charkey_scan[]={Oxef,Oxdf,Oxbf,0x7f);chari=0,j=0;for(i=0;i<4;i++){P2=key_scan[i];if((P2&0x0f)!=OxOf){for(j=0;j<16;j++){if(key_buf[j]二二P2)returnj;}}}returnT;}voidmain(void){charkey二0;P0=0x00;while(l){key=getkey();if(key!=-l)P0=^led_mod[key];}}"实验总结:本次实验遇到了一个问题,就是
7、在运行中仿真结果是止确的,连接实验箱的时候,怎么都不止确。老师提示验箱是共阳极显示,而在Proteus中运行仿真结果是共阴极显示。然后我就在C51程序中对字模进行取反(PO^ledmod[key]),最后重新把程序烧进开发板,并且在开发板上的显示结杲止确。