实验五 键盘、数码管显示综合实验1.doc_第1页
实验五 键盘、数码管显示综合实验1.doc_第2页
实验五 键盘、数码管显示综合实验1.doc_第3页
实验五 键盘、数码管显示综合实验1.doc_第4页
实验五 键盘、数码管显示综合实验1.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重庆交通大学学生实验报告实验课程名称 单片机原理与应用 实 验 名 称 键盘、数码显示管综合实验 实 验 类 型 设计性实验 开课实验室 单片机原理实验室 学 院 信息科学与工程学院 学 生 姓 名 学号 开 课 时 间 2012至 2013学年第 2 学期实验评佑等级很好好一般差实验操作能力实验结果实验分析实验思考总结实验成绩教师签名一、 实验目的:1.掌握单片机在输入输出口线不够用时,如何扩展接口的方法来支持8位LED显示和16键盘集成实现2.熟悉8155、8279等芯片性能3.掌握键盘子程序调试方法4.掌握按一个键并将键值显示出来的编程方法。这是诊断硬件、测试硬件、产品开发、软件编程必须

2、掌握的方法。二、 实验内容:1.编写并调试出一个键盘实验子程序2.用子程序调用方法,分别调用键盘子程序和显示子程序,将按一个键的键值(0F),在数码管上显示出来;3.用C51重新编写程序实现上述要求的C程序。4.用Proteus仿真软件运行硬件电路仿真设计。三、 实验步骤: 1.根据参考实验指导书中所列数码显示管、芯片等元器件,利用Proteus 仿真软件,画出其电路图。 2.利用KeilC仿真软件编写程序,将编写好的C程序进行调试,观察实验 结果,具体如下: (1)用Protuse按单片机最小系统设计流水灯程序电路图;(2)打开Keil程序,执行菜单命令“Project “New Proje

3、ct”创建“键盘、数码管显示综合实验”项目,并选择单片机型号为AT89C51;(3)执行菜单命令“New”创建文件,输入源程序,保存为键盘、数码管显示综合实验.A51”。在Project”栏的File项目管理窗口中右击文件组,选择“Add File to GroupSource Grop1”将源程序“键盘、数码管显示综合实验.A51”添加到项目中。(4)执行菜单命令“Project”-“Option For TargetTarget 1”,在弹出的对话框中选择“Output”选项卡,选中“Greate HEX File”。(5)执行菜单命令“Project”-“Build Target”,编译

4、源程序。如果编译成功,则在“Output Window”窗口中显示没有错误,并创建了“键盘、数码管显示综合实验.HEX”文件。(6)将“键盘、数码管显示综合实验.HEX”文件下载到Protues软件平台中的虚拟芯片上运行。四、 实验调试及结果:实验调试方法:打开Keil程序,执行菜单命令“ Project”“New Project”创建“键盘、数码管显示综合实验”项目,并选择单片机型号为AT89C51。执行菜单命令“file”“New”创建文件,输入源程序,保存为“键盘、数码管显示综合实验.c”。在“Project”栏的File项目管理窗口中右击文件组,选择“Add Files to Grou

5、p Source Group1”,将源程序“双单片机串口通信.c”添加到项目中。 执行菜单命令“Project”“Options for Target Target1”,在弹出的对话框中选择“Output”选项卡,选中“Generate HEX File”。执行菜单命令“Project”“Build Target”,编译源程序。如果编译成功,则在“Output Window”窗口中显示没有错误,并创建了“双单片机串口通信.HEX”.实验程序:ORG 0000HSTART:LJMP MAINORG 0030HMAIN: MOV SP,#60HMOV 7AH,#00 MOV 7BH,#01MOV

6、7CH,#02MOV 7DH,#03MOV 7EH,#04MOV 7FH,#05 MOV DPTR,#7F00HMOV A,#03H MOVX DPTR,ALOOP:LCALL DISPLCALL KEYMOV A,R4CJNE A,#88H,DSPSJMP LOOPDSP:MOV 7AH,A MOV 7BH,#010HMOV 7CH,#010HMOV 7DH,#010HMOV 7EH,#010HMOV 7FH,#010HSJMP LOOP;按键子程序KEY:MOV R4,#00HMOV R2,#01HKEY1: MOV DPTR,#7F02HMOV A,R2MOVX DPTR,AINC DP

7、TRMOVX A,DPTRJB ACC.0,KEY2MOV A,#00HAJMP KEY5KEY2:JB ACC.1,KEY3MOV A,#01HAJMP KEY5KEY3:JB ACC.2,KEY4MOV A,#02HAJMP KEY5KEY4:JB ACC.3,NEXTMOV A,#03HKEY5: ADD A,R4MOV R4,ARETNEXT: MOV A,R4ADD A,#04MOV R4,AMOV A,R2JB ACC.3,NEXT1RL AMOV R2,AAJMP KEY1NEXT1: MOV R4,#88HRET;数码管显示程序DISP: MOV R0,#7AHMOV R3,#

8、01HDISPB1: MOV DPTR,#7F02HMOV A,#0HMOVX DPTR,AMOV DPTR,#7F01HMOV A,R0ADD A,#014HMOVC A,A+PCMOVX DPTR,A MOV A,R3MOV DPTR,#7F02HMOVX DPTR,AACALL DELAYINC R0MOV A,R3JB ACC.6,DISPB2RL A MOV R3,AAJMP DISPB1DISPB2: MOV R3,#01HRETSEGPT2: Db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H db 7FH,6FH,77H,7CH,39H,5EH,79H,71H

9、db 00H,02H,08H,00H,59H,0FH,76H;延时子程序DELAY: MOV R4,#0FFHDELAY1: DJNZ R4,DELAY1RETEND实验结果: 在Proteus仿真平台建立参考图系统,并将程序上载到虚拟芯片上运行,运行结果,进行分析通过仿真调试,完全符合实验要求,具体说明如下图所示:(1)参照图中,当按键0(即左起第一行第一列)按下时,数码管显示0(2)参照图中,当按键3(即左起第一行第四列)按下时,数码管显示3 (3)参照图中,当按键C(即左起第四行第一列)按下时,数码管显示C (4)参照图中,当按键F(即左起第四行第四列)按下时,数码管显示F五、 实验分析

10、:由实验结果可知,当按键按下0-9中对应数字的按键时,在8位LED显示管上就会显示出相应的数字。如图示结果第一张图片。当按下A-F字母对应的按键时,8位LED显示管上同样会显示出相应的字母,如图实验结果第二张图片所示。则程序可实现其功能。此次实验得以圆满完成。实验的流程图具体如下:调用子程序12ms有键闭合判断闭合键键号入栈闭合键释放输入键号送A返 回开 始有键闭合调用子程序延时6msNYN NY 六、 实验思考与总结:通过本次实验,使得我掌握了单片机在输入、输出口线不够用时,如何扩展接口的方法来支持8位LED显示和16键盘集成实现的原理和方法步骤;也让我熟悉和了解了8155、8279等芯片性

11、能,知道了他们的用途和原理,在以后的学习中必然还有我们需要用到的许多地方;同时,也让我掌握了键盘子程序调用和调试的方法,知道了子程序调用的简单易行和便捷;掌握了按一个键并将键值显示出来的编程方法,我知道这是诊断硬件、测试硬件、产品开发、软件编程必须掌握的方法,所以,在学习的过程中,我很认证的观察其中的方法。其次,本次实验做的是综合性试验,是把前面学过的知识都综合了起来,可以说相对于前几个实验,原理、电路图和编程都比较复杂;在做实验的时候,必然会遇到诸多问题,这是不可避免的,关键还是千万不能灰心丧气。我在连接电路图时用上了总线的连接,这种连接方式感觉应该是要简单一些,而且容易实现; 最后,由于该实验的程序是用汇编语言编写的,其程序代码比较多,结构比较复杂,难度较大。即便如此,虽然遇到的问题比较多,但是在老师和同学的帮助下,最终都得到了顺利地解决;从而,因为难度比较大,所以查询了诸多资料,在这个过程中,让我学习到了许多新的知识,也让我对以前所学过的一些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论