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

上传人:su****e 文档编号:206000253 上传时间:2023-05-01 格式:DOCX 页数:18 大小:2.98MB
收藏 版权申诉 举报 下载
单片机原理与应用实验(实习、实训)报告_第1页
第1页 / 共18页
单片机原理与应用实验(实习、实训)报告_第2页
第2页 / 共18页
单片机原理与应用实验(实习、实训)报告_第3页
第3页 / 共18页
资源描述:

《单片机原理与应用实验(实习、实训)报告》由会员分享,可在线阅读,更多相关《单片机原理与应用实验(实习、实训)报告(18页珍藏版)》请在装配图网上搜索。

1、北京联合大学实验(实习、实训)报告课程名称: 单片机原理与应用 专 业: 通信工程 班 级: 通信1404B 学 号:201408033、2014指导教师: 胡字滢 姓 名: 成 绩: 2016年10月22日实验一一、实验设备:计算机,KEIL C平台,(单片机开发实验板)实验地点:实验楼0805; 时间 2016.10.17实验人员:YYY,XXX二、实验内容:(1)练习一程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C平台;实验地点:实验楼0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lkh1-1.ASM;实验内容:;练习1:执行下列程序段

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

3、;观察并记录各存储单元的最终结果。 ORG 0000H MOV 60H,#0ADH ;(60H)=ADH MOV 61H,#8FH ;(61H)=8FH MOV R0,#60H ;R0(00H)=60H MOV R1,#61H ;R1(01H)=61H MOV A,R0 ;A=ADH SWAP A ;A=DAH XCH A,R1 ;A=8FH,R1=61H SWAP A ;A=F8H MOV R0,A ;(60H)=F8H SJMP$ ;原地等待 END程序执行完成后的结果:A=F8H、R0=60H、(60H)=F8H、R1=61H、(00H)=60H、(01H)=61H、(61H)=DAH(

4、3)练习3程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C平台;实验地点:实验楼0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lkh1-3.asm;实验内容:;练习3:执行下列程序段,;观察并记录累加器A、R0和外部RAM中的4000H400FH单元中的内容为何值?并指出DPTR的最终值是多少?ORG 0000H MOV R0,#16 ;R0=10H MOVA,#00H ;A=00H MOVDPTR,#4000H ;DPTR=4000HLOOP1:MOVX DPTR,A ;(DPTR)=00H,将A的数值赋值给指定地址(DPTR) INC DP

5、TR ;数据指针DPTR加1 INCA ;A的内容加1 DJNZR0,LOOP1 ;R0内容减一,下一步跳转至LOOP1,运行5、6、7至8行,直至R0=00H、A=10H、DPTR=4010H SJMP$ ;原地等待 END程序执行完成后的结果:R0=00H、A=10H、DPTR=4010H、(4000H-400FH)=0H(4)练习4程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C平台;实验地点:实验楼0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lkh1-4.asm;实验内容:;练习4:执行下列程序段,;观察并记录累加器A、程序存储器0x

6、50单元和内部RAM 50H单元中的内容为何值?并说明;程序存储器0x50单元和内部RAM 50H单元中内容含义。 ORG 0000H SJMPMAIN ;跳转到MAIN ORG0050H ;从0050H地址开始MAIN: MOV A,#50H ;A=50H ADDA,#3FH ;A=8FH MOV 50H,A ;(50H)=8FH SJMP$ ;原地等待 END程序执行完成后的结果:A=8FH、(50H)=8FH(5)练习5程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C平台;实验地点:实验楼0805; 时间 2016.10.17;项目文件:lkh.uv2, 文件: lk

7、h1-5.asm;实验内容:执行下列程序段;观察并记录累加器A和内部RAM中的50H单元中的内容为何值?并同程序“姓名拼音首字;符1-4.ASM”进行比较。 X EQU50H;X=50H YEQU3FH;Y=3FH ORG 0000H SJMPMAIN;跳转至MAIN ORG0050HMAIN: MOV A,#X;A=50H ADDA,#Y;A=8FH,A=A+Y MOV X,A;(50H)=8FH SJMP $;原地等待 END程序执行完成后的结果:A=8FH,(50H)=8FH(6)练习6程序清单:;实验人员:YYY,XXX;实验设备:计算机,KEIL C平台;实验地点:实验楼0805;

8、时间 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)XBIT31H ;X=(31H)YBIT32H ;Y=(32H)ZBIT 33H ;Z=(33H)ORG0000HMOV C,Y ;C=00H,YCORLC,Z ;C=00H,Y+ZCANLC,X ;C=00H,X(Y+Z)CMOVF,C ;F=00H,CFSJMP $END程序执行完成后的结果:练习7:执

9、行程序姓名拼音首字符1-3.ASM。;观察和记录复位前后变化的特殊功能寄存器数值及对RAM存储单元的影响。ORG 0000H MOV R0,#16H;R0=16H MOVA,#00H;A=00H MOVDPTR,#4000H;DPTR=4000H,(83H)=40H,(82H)=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

10、$ END;练习8:将外部RAM地址2002H中的数送入内部RAM;地址50H中,将ROM中地址100H的数送入外部RAM地址2010H中。ORG 0000H MOV DPTR,#2002H ;将2002H这个数移送到DPTR中 MOVX A,DPTR MOV 50H,A MOV DPTR,#2010H MOV A,#0FFH MOVC A,A+PC MOVX DPTR,A SJMP$ END;练习9:设计程序,已知两个16位二进制数分别存放在(23H);(22H)和(21H)(20H)中,试求其和,并将结果存入(21H);(20H)中;即(21H)(20H)=(23H)(22H)+(21H)

11、(20H)。ORG 0000HMOV A,22HADD A,20HMOV 20H,AMOV A,23HADDC A,21HMOV 21H,A SJMP$ END三、总结:通过实验(1)掌握KEIL C开发平台项目建立,文件添加、删除,编辑、编译、仿真方法。(2)掌握数据传送指令的使用,MOV、LOOP、ADD(3)在Memory中Adress编辑框内我们输入“字母:数字”,D、 I、 X、 C分别代表着直接寻址的片内RAM、间接寻址的片内RAM、扩展的外部RAM和ROM。 (4)掌握了单片机的断点、单步执行、地址查询等。实验中出现的问题与解决方法:(1) 代码编写过程中由于使用中文输入法,输入

12、代码中的“,” , 编译无法通过,需要注意代码的编辑必须在英文模式下进行。(2) 实验二 单片机循环程序实验一、实验目的熟悉Keil C51集成环境的程序调试功能,查看机器码,理解程序执行时间和占用空间的相关知识。掌握内部RAM中数据的加减法编程以及调试方法。二、实验内容1.结合循环程序实例,根据所学指令练习程序调试操作并查看机器码。2.掌握查看、修改特殊功能寄存器、内部RAM、外部RAM单元的方法。三、实验步骤1.掌握源程序的编辑、汇编(编译)、执行(单步执行、跟踪执行、断点设置与取消、连续执行)等基本操作。四、 练习1:执行下列程序段,设置晶振为12MHz,分别单步和连续执行程序,观察并记

13、录程序运行时间;分别修改晶振为6MHz和24MHz后再进行观察,比较三次程序运行的时间。(文件名称:TEST2_1.ASM) ORG 0000H MOV R6,#20; 置外循环次数DLP1: MOV R7,#250 ; 置内循环次数DLP2: DJNZ R7,DLP2 ; 2机周250 =500机周 DJNZ R6,DLP1 ; 500机周20= 10000机周 SJMP$ END理解汇编语言指令与机器语言指令之间的对应关系。练习2:查看练习2程序的机器语言指令,将其按如下格式写出:地址机器码汇编语言源程序并通过程序存储器窗口查看并记录存储区的机器语言指令及其范围。掌握延时时间的计算方法和子

14、程序编程。练习3:设置晶振为12MHz,参考练习1编写延时100ms的子程序DY100ms,说明延时时间的计算方法,并利用给出的主程序进行子程序的调用(文件名称:姓名拼音首字符2_3.ASM)。 ORG 0000H SJMPMAINDY100ms: RETMAIN: MOV A,#00HLOOP1: ACALLDY100ms INC A SJMP LOOP1 END练习4. 把单片机片内的30H3FH单元清零。用连续或者单步的方式运行程序,检查30H-3FH执行前后的内容变化(文件名称:姓名拼音首字符2_4.ASM)。设计框图如下:开始R0=30H R6=10H 00 送 R0 单元R0+1R

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

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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