华北水利水电-单片机实验报告(答案)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验报告

指导老师:***

学院:机械学院

专业:机械设计制造及其自动化专业学号:

姓名:

实验一汇编语言源程序编辑

一、实验目的:

了解软件μVision 4.0的安装,熟悉在μVision 4.0软件环境下进行单片机汇编源程序的编辑和修改,学会使用利用μVision 4.0软件监控单片机各个寄存器以及存储器的数据变化等。

二、实验内容:

1、软件的安装和使用

μVision 4.0软件的详细安装过程和使用说明请参考相关资料。

2、汇编源程序的编辑

1)编辑和运行下面源程序,并按要求完成实验报告。

实验A 存储器块清零 S1.ASM

BLOCK EQU 6000h

MAIN:MOV DPTR,#BLOCK ; 起始地址

MOV R0,#10H ;存储块长度

CLR A

LOOP:MOVX @DPTR,A

INC DPTR ;指向下一个地址

DJNZ R0,LOOP ;记数减一

LJMP $

END

实验B 二进制到ASCII码转换 S2.ASM

; 将A拆为二个 ASCII 码, 并存入 Result 开始的二个单元

RESULT EQU 20H

ORG 0000H

MAIN: MOV SP, #40H

MOV A, #1AH

CALL BinToHex

LJMP $

BinToHex:

MOV DPTR, #ASCIITab

MOV B,A ;暂存A

SWAP A

ANL A, #0FH ;取高四位

MOVC A, @A+DPTR ;查ASCII表

MOV RESULT,A

MOV A, B ;恢复A

ANL A, #0FH ;取低四位

MOVC A, @A+DPTR ;查ASCII表

MOV RESULT+1, A

RET

ASCIITab: 303132

333435

363738

394142

434445

46 DB '0123456789ABCDEF' ;定义数字对应的ASCII表

END

实验C 内存块移动 S3.ASM

ORG 0000H

MAIN: MOV R0,#30h

MOV R1,#00h

MOV R2,#40h

MOV R3,#00h

MOV R7,#0

LOOP: MOV DPH,R0

MOV DPL,R1

MOVX A,@DPTR

MOV DPH,R2

MOV DPL,R3

MOVX @DPTR,A

CJNE R1,#0FFH,GO1

INC R0

GO1: INC R1

CJNE R1,#0FFH,GO2

INC R2

GO2: INC R3

DJNZ R7,LOOP

LJMP $

END

注意:源文件生成之后注意分别保存为s1.asm、s2.asm、s3.asm的文件名

三、实验报告

1、记录详细实验步骤

1)双击μVision 4.0安装文件,同意条款,编辑信息,安装D盘,完成点击Finish 即可。

2)打开μVision 4.0图标,在File下找到序号,打开破解机进行破解。

3)建立单片机文件夹,在其内建实验一文件夹。

4)在μVision 界面点击project选项,单击New μVision project,命名为S1,在Atmel选AT89S51单片机,确定。

5)在File里点击New,输入程序A,点击保存S1.asm。

6)在project选项中点击“options for Target‘target1’”晶振频率设定为12MHZ,“Output”中打上creat HEX.File选项,在Debug选择Use

simulator,确定。

7)Project workspace 在Target1单击右键,选“Add File to Target”,在project中点击Rebuild all Target files,若无错误,在Debug选项单击“start/stop Debug session”,单击run进行运行。观察PC值,再点击“start/stop Debug session”返回编辑界面。

8)在S1.hex用记事本进行打开,观察记录。

9)再次点击“New μVision project”命名为S2.asm,按以上步骤操作,输入实验B程序,保存并运行。发现错误,进行修改。定义0~F的ASCII码表“DB”

类型,修改运行。

10)再次单击“New μVision project”命名S3.asm新建工程,运行无误,添加注释。

2、列写实验A中源程序的PC值和机器码。

PC值依次为:$ 0x0000-3-5-6-7-8-A

机器码:0D0000009060007810E4F0A3D8FC02000A24

:00000001FF

将储存单元6000H~6010H清零。

3、找出实验B中的错误语句,并改正。

改正后为:在实验B的程序中,出错的地方在于对数字对应的ASC II表定义出错。

可将“{”区域该片如下:

ASCIITab: DB 30H,31H,32H

33H,34H,35H

36H,37H,38H

39H,41H,42H

43H,44H,45H

46H

4、实验C添加注释。(见上页实验C程序后面的注释)

5、实验总结。

通过这次试验,使我更加熟悉了uvision的使用方法。Uvision是一款类似于VC6.0的软件。但是它还可以显示出各个寄存器的存储情况,便于程序的调试。而且在程序中编辑过程中要注意大小写等各种问题。

实验二汇编语言源程序调试

一、实验目的

1、掌握MCS-51指令系统传送指令的汇编语言程序设计和调试方法;

2、熟悉用WAVE6000汇编调试软件及在线仿真调试。

二、实验内容

1、编写多字节数据的传送程序,把内部RAM的30H--37H单元赋值为10H-17H,然后传送到外部的RAM的0100H--0107H单元;再将0100H--0107H单元逐一求反后送到内部RAM的38H—3FH单元。

2、程序结构采用循环结构

相关文档
最新文档