微机原理及应用实验报告

上传人:壹****1 文档编号:545293403 上传时间:2022-10-28 格式:DOC 页数:15 大小:159KB
返回 下载 相关 举报
微机原理及应用实验报告_第1页
第1页 / 共15页
微机原理及应用实验报告_第2页
第2页 / 共15页
微机原理及应用实验报告_第3页
第3页 / 共15页
微机原理及应用实验报告_第4页
第4页 / 共15页
微机原理及应用实验报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《微机原理及应用实验报告》由会员分享,可在线阅读,更多相关《微机原理及应用实验报告(15页珍藏版)》请在金锄头文库上搜索。

1、.微机原理及应用实验报告 班级: 机械1301班 姓名: 黄佳清 学号: 0801130117 座位号: 中南大学机电工程学院 实验一 单片机仿真开发机操作和MCS-51指令系统应用一实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整; 2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编; 3、掌握程序的调试和运行的各种方法。二实验设备台式微型计算机MCS-51仿真开发机THKSCM-2A三实验内容及步骤(完成分值:60分)本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真1. 新建工程项目2. 设置工程文件参数3. 编写新程序事例4. 调

2、试程序直至能够运行出结果。四实验程序.AJMP MAIN ORG 0030HMAIN: MOV R0,#20H MOV R2,#0FH MOV A,#00HA1: MOV R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#20H;暂停,观察并记录! MOV DPTR,#7000H MOV R2,#0FHA2: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R2,A2 MOV R0,#030H;断点,观察并记录! MOV DPTR,#7000H MOV R2,#0FHA3: MOVX A,DPTR MOVX R0,A INC R0 I

3、NC DPTR DJNZ R2,A3DO: LJMP DO END;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。五、附加题1. 将光标移到想要暂停的地方,MOV R0,#20H所在行,选择 “执行到光标处”功能,程序快速执行到光标所在行。观察运行情况,并记录下表。R0R2A20H21H22H23H24H25H0x2f0x000x0f00H01H02H03H04H05H26H27H28H29H2AH2BH2CH2DH2EH06H07H08H09H0AH0BH0CH0DH0EH2. 在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容R0DPL70

4、00H7001H7002H7003H7004H7005H7006H0X2F0FH00H01H02H03H04H05H06H7007H7008H7009H700AH700BH700CH700DH700EH07H08H09H0AH0BH0CH0DH0EH开始 3.画出程序流程图 赋值 R020H R20FH A00H(R0)(A)R0R0+1AA+1R2R2-1R2=0?N 赋值 R020H DPTR7000H R20FHY(A)(R0)(DPTR)(A)R0R0+1DPTRDPTR+1 R2R2-1R2=0?NY 赋值 R030H R20FH DPTR7000H(A)(DPTR)(R0)(A)D

5、PTRDPTR+1 R0R0+1R2R2-1R2=0?NY结束4.修改程序,实现新功能 实现倒序数据转移程序 AJMP MAIN ORG 0030HMAIN: MOV R0,#40H MOV R2,#0FH MOV A,#00HA1: MOV R0,A DEC R0 INC A DJNZ R2,A1 MOV R0,#30H MOV DPTR,#7000H MOV R2,#0FHA2: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R2,A2 MOV R0,#030H MOV DPTR,#7000H MOV R2,#0FHA3: MOVX A,DPTR MO

6、VX R0,A INC R0 INC DPTR DJNZ R2,A3DO: LJMP DOEND实验二 程序设计一、实验目的1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。二、实验内容及步骤(完成分值:30分/单个程序)题目1、编写排序程序并上机调试通过。已知8031内部RAM60H69H单元中,依次存放了0FH,09H,07H,0CH,03H,0DH,08H,0BH,04H,01H共10个字节无符号数,编程将它们规律排序,最大数放在60H中,最小数放在69H中。结果应该是0FH,0DH,0CH,0BH,09H,08H,07H

7、,04H,03H,01H。 题目2、编写多字节加法程序并上机调试通过。8031内部RAM22H、21H、20H单元中,分别存放了3字节无符号被加数0FFH、0FFH、0FFH(低字节在低地址),在32H、31H、30H单元中分别存放3字节无符号加数22H、22H、22H(低字节在低地址),求两数之和,并将结果存入内部RAM23H 、22H 、21H 、20H单元中(低字节在低地址)。结果应该是01H、22H、22H、21H。四、参考实验程序题目1ORG 0000HLJMP mainORG 0100Hmain:.将10个随机数送入内部RAM的5059H单元NOP;可在此处设置断点ACALL SE

8、LSORT;调用排序子程序HERE:AJMP HERE;可在此处设置断点,观察每次排序结果NOP;排序子程序DAT EQU 60H ;排序数据首地址N EQU 10 ;排序个数SELSORT: MOV R0,#DAT MOV R2,#N-1LOOP: MOV B,R0 MOV A,R0 MOV R3,A INC A MOV R1,A MOV A,R2 MOV R4,ALOOP1: MOV A,R1 CLR C SUBB A,B JC LOOP2;改为JNC即可逆序排列 MOV B,R1 MOV A,R1 MOV R3,ALOOP2: INC R1 DJNZ R4,LOOP1 MOV A,R3

9、MOV R1,A MOV A,R1 XCH A,R0 XCH A,R1 INC R0 DJNZ R2,LOOP RETEND题目2ORG 0000HLJMP mainORG 0100Hmain:MOV R0,#20HMOV R0,#0FFHINC R0MOV R0,#0FFHINC R0MOV R0,#0FFHMOV R0,#30HMOV R0,#22HINC R0MOV R0,#22HINC R0MOV R0,#22HACALL MULTADD;调用多字节加法子程序HERE:AJMP HERE;可在此处设置断点,观察结果NOP;N字节无符号数加法子程序 (R0+R1)=(R0);入口 :R0

10、,R1,R2;占用资源:ACC,B;堆栈需求:2字节;出口 :R0存放结果高地址MULTADD:MOV R0,#20H;地址1MOV R1,#30H;地址2MOV R2,#03H;加法字节数NSUB: CLR CNSUB1: MOV A,R0 ADDC A,R1 MOV R0,A INC R0 INC R1 DJNZ R2,NSUB1CLR A ADDC A, #00H ; 把进位位C加到高8位去 MOV R0, A RETEND五、附加题1. 画出题目1的程序流程图。开始 存入数据到60H69H R060H N10H R260H A(R0) R2R2+1 B(R2) AB?Y(R0)和(R2)交换NN R2=69H?NY R0R0+1R0=69H?

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

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号