单片机原理与应用实验(实习.实训-)报告.doc

上传人:一*** 文档编号:813642 上传时间:2019-07-17 格式:DOC 页数:18 大小:2.98MB
返回 下载 相关 举报
单片机原理与应用实验(实习.实训-)报告.doc_第1页
第1页 / 共18页
单片机原理与应用实验(实习.实训-)报告.doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《单片机原理与应用实验(实习.实训-)报告.doc》由会员分享,可在线阅读,更多相关《单片机原理与应用实验(实习.实训-)报告.doc(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、北京联合大学北京联合大学实验(实习、实训)报告实验(实习、实训)报告课程名称:课程名称: 单片机原理与应用单片机原理与应用 专专 业:业: 通信工程通信工程 班班 级:级: 通信通信 1404B1404B 学学 号:号:201408033201408033、20142014指导教师:指导教师: 胡字滢胡字滢 姓姓 名:名: 成成 绩:绩: 20162016 年年 1010 月月 2222 日日实验一实验一一、实验设备:计算机,KEIL C 平台,(单片机开发实验板)实验地点:实验楼 0805; 时间 2016.10.17实验人员:YYY,XXX二、实验内容:(1)练习一程序清单:;实验人员:Y

2、YY,XXX ;实验设备:计算机,KEIL C 平台 ;实验地点:实验楼 0805; 时间 2016.10.17 ;项目文件:lkh.uv2, 文件: lkh1-1.ASM ;实验内容: ;练习 1:执行下列程序段,观察并记录累加器 A、R0 和 ;内部 RAM 中的 59H、51H、52H 单元中的内容为何值?ORG 0000H MOV 59H,#50H MOVA,59H MOV R0,A MOV A,#00H MOV R0,A MOV A,#01HMOV51H,A MOV 52H,#02H SJMP $ END程序执行完成后的结果:A=01H, R0=50H, (59H)=50H, (51

3、H)=01H, (52H)=02H(2)练习 2程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C 平台;实验地点:实验楼 0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lkh1-2.ASM;实验内容:;观察并记录各存储单元的最终结果。ORG 0000H MOV 60H,#0ADH ;(60H)=ADHMOV 61H,#8FH ;(61H)=8FHMOV R0,#60H ;R0(00H)=60HMOV R1,#61H ;R1(01H)=61HMOV A,R0 ;A=ADHSWAP A ;A=DAHXCH A,R1 ;A=8FH,R1=61HSWA

4、P A ;A=F8HMOV R0,A ;(60H)=F8HSJMP$ ;原地等待END程序执行完成后的结果:A=F8H、R0=60H、(60H)=F8H、R1=61H、(00H)=60H、(01H)=61H、(61H)=DAH(3)练习 3程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C 平台;实验地点:实验楼 0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lkh1-3.asm;实验内容:;练习 3:执行下列程序段,;观察并记录累加器 A、R0 和外部 RAM 中的 4000H400FH 单元中的内容为何值?并指出 DPTR的最终值是多少?OR

5、G 0000HMOV R0,#16 ;R0=10HMOVA,#00H ;A=00HMOVDPTR,#4000H ;DPTR=4000HLOOP1:MOVX DPTR,A ;(DPTR)=00H,将 A 的数值赋值给指定地址(DPTR)INC DPTR ;数据指针 DPTR 加 1INCA ;A 的内容加 1DJNZR0,LOOP1 ;R0 内容减一,下一步跳转至 LOOP1,运行 5、6、7 至 8 行,直至 R0=00H、A=10H、DPTR=4010HSJMP$ ;原地等待END程序执行完成后的结果:R0=00H、A=10H、DPTR=4010H、(4000H-400FH)=0H(4)练习

6、 4程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C 平台;实验地点:实验楼 0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lkh1-4.asm;实验内容:;练习 4:执行下列程序段,;观察并记录累加器 A、程序存储器 0x50 单元和内部 RAM 50H 单元中的内容为何值?并说明;程序存储器 0x50 单元和内部 RAM 50H 单元中内容含义。ORG 0000HSJMPMAIN ;跳转到 MAINORG0050H ;从 0050H 地址开始MAIN: MOV A,#50H ;A=50HADDA,#3FH ;A=8FHMOV 50H,A ;

7、(50H)=8FHSJMP$ ;原地等待END程序执行完成后的结果:A=8FH、(50H)=8FH(5)练习 5程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C 平台;实验地点:实验楼 0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lkh1-5.asm;实验内容:执行下列程序段;观察并记录累加器 A 和内部 RAM 中的 50H 单元中的内容为何值?并同程序“姓名拼音首字;符 1-4.ASM”进行比较。X EQU 50H;X=50HYEQU 3FH;Y=3FHORG 0000HSJMPMAIN;跳转至 MAINORG0050HMAIN: MOV

8、 A,#X;A=50HADDA,#Y;A=8FH,A=A+YMOV X,A;(50H)=8FHSJMP $;原地等待END程序执行完成后的结果:A=8FH,(50H)=8FH(6)练习 6程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C 平台;实验地点:实验楼 0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lkh1-6.asm;实验内容:;练习 6:执行逻辑运算程序,功能为 F = X(Y + Z)。;观察修改 X、Y、Z 值后 F 的变化。其中 F、X、Y、Z 均为位变量,依次存在以30H 为首址的位寻址区中。FBIT 30H ;F=(30H

9、)XBIT31H ;X=(31H)YBIT32H ;Y=(32H)ZBIT 33H ;Z=(33H)ORG 0000HMOV C,Y ;C=00H,YCORL C,Z ;C=00H,Y+ZCANL C,X ;C=00H,X(Y+Z)CMOV F,C ;F=00H,CFSJMP $END程序执行完成后的结果:练习 7:执行程序“姓名拼音首字符 1-3.ASM“。;观察和记录复位前后变化的特殊功能寄存器数值及对 RAM 存储单元的影响。ORG 0000HMOV R0,#16H;R0=16HMOVA,#00H;A=00HMOVDPTR,#4000H;DPTR=4000H,(83H)=40H,(82H

10、)=00HLOOP1: MOVX DPTR,A;将 00H 移到外部 RAM 的地址 4000H 中INC DPTR ;DPTR 中数加 1,DPL=01H,在再次运行时01H 再加 1,以此类推INCA ;A 中数加 1,A=01H,在再次运行时 01H 再加1,以此类推DJNZR0,LOOP1 ;R0 减 1,指针跳转 LOOP1 继续运行SJMP$END;练习 8:将外部 RAM 地址 2002H 中的数送入内部 RAM;地址 50H 中,将 ROM 中地址 100H 的数送入外部 RAM 地址 2010H 中。ORG 0000HMOV DPTR,#2002H ;将 2002H 这个数移

11、送到 DPTR 中MOVX A,DPTRMOV 50H,AMOV DPTR,#2010HMOV A,#0FFHMOVC A,A+PCMOVX DPTR,ASJMP$END;练习 9:设计程序,已知两个 16 位二进制数分别存放在(23H);(22H)和(21H)(20H)中,试求其和,并将结果存入(21H);(20H)中;即(21H)(20H)=(23H)(22H)+(21H)(20H)。ORG 0000HMOV A,22HADD A,20HMOV 20H,AMOV A,23HADDC A,21HMOV 21H,ASJMP$END三、总结:通过实验(1)掌握 KEIL C 开发平台项目建立,文

12、件添加、删除,编辑、编译、仿真方法。(2)掌握数据传送指令的使用,MOV、LOOP、ADD(3)在 Memory 中 Adress 编辑框内我们输入“字母:数字”,D、 I、 X、 C 分别代表着直接寻址的片内 RAM、间接寻址的片内 RAM、扩展的外部 RAM 和 ROM。(4)掌握了单片机的断点、单步执行、地址查询等。实验中出现的问题与解决方法:(1) 代码编写过程中由于使用中文输入法,输入代码中的“,” , 编译无法通过,需要注意代码的编辑必须在英文模式下进行。(2)实验二实验二 单片机循环程序实验单片机循环程序实验一、实验目的熟悉 Keil C51 集成环境的程序调试功能,查看机器码,

13、理解程序执行时间和占用空间的相关知识。掌握内部 RAM 中数据的加减法编程以及调试方法。二、实验内容1. 结合循环程序实例,根据所学指令练习程序调试操作并查看机器码。2. 掌握查看、修改特殊功能寄存器、内部 RAM、外部 RAM 单元的方法。三、实验步骤1. 掌握源程序的编辑、汇编(编译)、执行(单步执行、跟踪执行、断点设置与取消、连续执行)等基本操作。四、练习 1:执行下列程序段,设置晶振为 12MHz,分别单步和连续执行程序,观察并记录程序运行时间;分别修改晶振为 6MHz 和 24MHz 后再进行观察,比较三次程序运行的时间。(文件名称:TEST2_1.ASM)ORG 0000HMOV

14、R6,#20; 置外循环次数DLP1: MOV R7,#250 ; 置内循环次数DLP2: DJNZ R7,DLP2 ; 2 机周250 =500 机周DJNZ R6,DLP1 ; 500 机周20= 10000 机周SJMP$END理解汇编语言指令与机器语言指令之间的对应关系。练习 2:查看练习 2 程序的机器语言指令,将其按如下格式写出:地址机器码汇编语言源程序并通过程序存储器窗口查看并记录存储区的机器语言指令及其范围。掌握延时时间的计算方法和子程序编程。练习 3:设置晶振为 12MHz,参考练习 1 编写延时 100ms 的子程序 DY100ms,说明延时时间的计算方法,并利用给出的主程

15、序进行子程序的调用(文件名称:姓名拼音首字符 2_3.ASM)。ORG 0000HSJMPMAINDY100ms: RETMAIN: MOV A,#00HLOOP1: ACALL DY100msINC ASJMP LOOP1END练习 4. 把单片机片内的 30H3FH 单元清零。用连续或者单步的方式运行程序,检查 30H-3FH 执行前后的内容变化(文件名称:姓名拼音首字符 2_4.ASM)。设计框图如下:开始R0=30H R6=10H00 送 R0 单元R0+1NYR6-1=0?结束练习 5. 把单片机片内的 30H4FH 单元改为 55H。用连续或者单步的方式运行程序,检查 30H-4F

16、H 执行前后的内容变化(文件名称:姓名拼音首字符 2_5.ASM)。练习 6. 将内部 RAM 50H5FH 中的单字节无符号整数累加,并将结果(双字节)存放在(41H)(40H)中。在片内RAM 的 50H-5FH 中放入不等的数据,运行该程序,然后检查 41H 和 40H 的数据是否为 50H-5FH 中数据之和。五、实验思考设计 1s 延时子程序 DY1s。要求在 Keil C51 环境中编辑、汇编和运行程序,并查看程序运行结果。6、总结:通过实验1、熟悉 Keil C51 集成环境的程序调试功能,查看机器码,理解程序执行时间和占用空间的相关知识。2、掌握内部 RAM 中数据的加减法编程以及调试方法。3、结合循环程序实例,根据所学指令练习程序调试操作并查看机器码。4、掌握查看、修改特殊功能寄存器、内部 RAM、外部 RAM 单元的方法。七、实验中出现的问题与解决方法:(1)代码编写过程中由于使用中文输入法,输入代码中的“,” , 编译无法通过,需要注意代码的编辑必须在英文模式下进行。(2)在 Keil 软件下的文件名必须为.asm。代码编写过程中由于使用中文输入法,输入代码中的“,”, 编译无法通过,需要注意代码的编辑必须在英文模式下进行。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com