《单片机应用基础》实验报告.doc
文本预览下载声明
华北水利水电大学机械学院
《单片机基础》
指导老师:
专业:机械设计制造及其自动化
:
机械设计制造系
2015年4月实验一 汇编语言源程序编辑
一、实验目的:
了解软件keil μVision的安装,熟悉在keil μVision软件环境下进行单片机汇编源程序的编辑和修改,学会使用利用keil μVision软件监控单片机各个寄存器以及存储器的数据变化等。
二、实验内容:
1、软件的安装和使用
keil μVision软件的详细安装过程和使用说明请参考提供资料。
2、汇编源程序的编辑
编辑和运行下面源程序, 并按要求完成实验报告。
实验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 //将30h赋予R0
MOV R1,#00h //将00h赋予R1
MOV R2,#40h //将40h赋予R2
MOV R3,#00h //将00h赋予R3
MOV R7,#0 //将0赋予R7
LOOP: MOV DPH,R0 //将(R0)赋予(DPH)
MOV DPL,R1 //将(DFL)赋予R1
MOVX A,@DPTR //将DPTR内容给 MOV DPH,R2 //将(R2)赋予(DPH)
MOV DPL,R3 //将(R3)赋予(DPL)
MOVX @DPTR,A //将A内容写入外部 CJNE R1,#0FFH,GO1 //若R1不等于0FFH,转至G01, 若R1等于0FFH ,程序顺利执行
INC R0 //R0=R0+1
GO1: INC R1 //R1=R1+1
CJNE R3,#0FFH,GO2 //若R1不等于0FFH,转至G02, 若R1等于0FFH ,程序顺利执行
INC R2 //R2=R2+1
GO2: INC R3 //R3=R3+1
DJNZ R7,LOOP //R7=R7-1,若R7不等于顺利执行 LJMP $ //程序跳动执行 END //程序结束注意:源文件生成之后注意分别保存为s1.asm、s2.asm、s3.asm
显示全部