湖工单片机实验报告

2021-09-24 15:59

厚德博学 和而不同

单片机与应用技术实验

学 院: 电气与信息工程学院 专 业: 电气工程及其自动化 年 级: 学 号:

学生姓名: 指导教师:

二〇一三 年 一 月 四 日

实验一 存储器读写

一、实验目的:

1、掌握寄存器、存储器读写等汇编指令; 2、掌握编程软件编辑、编译、调试等基本操作; 3、学习简单程序的基本调试方法。

二、实验内容:

将70H-7FH16个字节单元的数据复制到片外存储器2000H开始的地址单元中,程序清单如下:

ORG 0000H

SJMP START ORG 0030H START:MOV R1,#10H MOV R0,#70H MOV DPTR,#2000H MOV 70H,#01H MOV 71H,#02H MOV 72H,#03H MOV 73H,#04H MOV 74H,#05H MOV 75H,#06H MOV 76H,#07H MOV 77H,#08H MOV 78H,#09H MOV 7AH,#0AH MOV 7BH,#0BH

MOV 7CH,#0CH MOV 7DH,#0DH MOV 7EH,#0EH MOV 7FH,#0FH LOOP:MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R1,LOOP END

三、实验报告

(1)、说明实验操作的基本步骤;

1.打开伟福或者Keil,本报告中使用的是伟福。进行相关参数的设置,选择仿真器。

2.选择文件菜单下新建命令,在新建页面的空白处输入程序,输入完毕后选择文件菜单下的保存命令,文件的后缀名需要保存为 “.ASM ”格式。

3

.选择项目菜单下编译指令,软件下方会出现

“ .BIN ”和“ .HEX ”文件,如有错误,下方会出现Error字样,双击该处,相应的程序会变成红色,修改之后重新进行编译,知道没有错误。

4.单击左侧对话框中的Watch中可以添加观察项,选择执行菜单下,添加观察项的命令,填入2000H,缺省方式前面的勾取消,存储区域选择XDATA。再选择执行菜单下的全速运行,观察左侧对话框中XDATA选项卡的变化,如果出现问题也可选择但不运行,每次按下F8会运行一步,便于检查错误。

5、为每一条汇编指令写出中文注释;

ORG 0000H ;伪指令

SJMP START ;跳转到START处 ORG 0030H ;伪指令

START:MOV R1,#10H ;寄存器R1送入10 MOV R0,#70H ;寄存器R0送入70 MOV DPTR,#2000H ;DPTR中送入2000 MOV 70H,#01H ;给70H地址中送数01 MOV 71H,#02H ;71H地址中送入02

. . .

. . .

MOV 7FH,#0FH ;71H地址中送入0F

LOOP:MOV A,@R0 ;将70H地址中的数送给A

MOVX @DPTR,A ;将A的数送到片外2000H中 INC R0 ;R0内容加一 INC DPTR ;DPTR内容加一 DJNZ R1,LOOP ;R1不为0就转到LOOP END ;结束

3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、内部存储器(70H—7FH单元)、外部存储器(2000H—200FH单元)的数据变化。 R1的值从10减到0;R0的值从70加到7F;A的值从1到F;内部存储器70H到7FH单元中的内容被复制到片外以2000H为首地址的单元中。

四、配分、评分标准(参考)

实验二 数据排列

一、实验目的

熟悉单片机汇编指令系统,掌握汇编程序设计方法。

二、实验内容

编写并调试一个排序子程序,其功能为用冒泡法将内容RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。

三、实验程序框图

实验参考程序; ORG 09B0H

7B50 QUE: MOV R3,#50H

EB QUE1: MOV A,R3 ;指针送R0 F8 MOV R0,A

7F0A MOV R7,#0AH ;长度送R7 C200 CLR 00H ;标志位为0 E6 MOV A,@R0 08 QL2: INC R0 FA MOV R2,A C3 CLR C 8622 MOV 22H,@R0

B52201 CJNE A,22H,QL3 ;相等吗? D3 SETB C EA QL3: MOV A,R2

4006 JC QL1 ;大于交换位置 D200 SETB 00H C6 XCH A,@R0 18 DEC R0 C6 XCH A,@R0

08 INC R0 ;大于交换位置 E6 QL1: MOV A,@R0 DFEB DJNZ R7,QL2

2000E1 JB 00H,QUE1 ;一次循环中有交换继 80FE LOOP: SJMP LOOP ;无交换退出

四、实验步骤

把用keil软件将单片机RAM 50H~5AH中放入不等的数据,并通过keil软件的数据观察窗口观察运行本实验程序后50H~5AH中内容是否按从小到大排列。

1、实验程序汇编指令及中文注释; ORG 0000H ;程序开始地址 MOV 50H,#12H ;随机生成10个数

MOV 51H,#15H MOV 52H,#2H MOV 53H,#8h MOV 54H,#56H MOV 55H,#51H MOV 56H,#33H MOV 57H,#21H MOV 58H,#14H MOV 59H,#22H MOV 5AH,#18H CLR 00H

;清交换标志位 SETB PSW.3 ;工作寄存器选择

SETB PSW.4

SUB: MOV R3,#0AH ;11个数据循环次数 mov R0,#50H ;数据存放区首址 MOV A,@R0 ;取前数

L2: INC R0 ;取下一地址中的值 MOV R2,A ;保存前数 SUBB A,@R0 ;相邻两数相减 MOV A,R2 ;恢复前数 JC L1 ;顺序则继续比较 SETB 00H ;逆序则建立标志位 XCH A,@R0 ;前数与后数交换 DEC R0 ;长度减1 XCH A,@R0

湖工单片机实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:_西游记_与西方流浪汉小说之比较

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: