单片机实验报告
学号:____________ 姓名:____________
实验目的:
:掌握汇编语言设计和调试方法,熟悉键盘操作;
:掌握汇编语言设计和调试方法;
:进一步掌握汇编语言设计和调试方法。
二、实验设备:装有Keil uVision的计算机1台(本人用的是装有Keil uVision2的
计算机)
实验内容:
实验一清零程序
:把2000H~20FFH的内容清零
我的流程图、源程序及调试结果:
流程图(用Edraw Mind Map ):
源程序:
ORG 0000H
LJMP START
ORG 0100H
START: MOV R0,#0FFH
MOV DPTR,#2000H
MOV A,#00H
MAIN: MOVX ***@DPTR,A
INC DPTR
DJNZ R0,MAIN
SJMP $
END
调试结果:
将源程序中的MOV A,#00H改为MOV A,#0FFH,以便观察上述程序是否能够实现清零
功能。
实验二拆字程序
:把2000H的内容拆开,高位送2001H,低位送2002H,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
、源程序及调试结果:
流程图(用Edraw Mind Map ):
源程序:
ORG 0000H
LJMP START
ORG 0100H
START: MOV DPTR,#2000H
MOV A,#0A3H ;给累加器A赋一个值
MOVX ***@DPTR,A ;将累加器A中的内容作为2000H的内容
MOV R0,A
ANL A,#0F0H
SWAP A
INC DPTR
MOVX ***@DPTR,A
MOV A,R0
ANL A,#0FH
INC DPTR
MOVX ***@DPTR,A
SJMP $
END
调试结果:
实验三拼字程序
:把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一字节。
、源程序及调试结果:
流程图(用Edraw Mind Map ):
源程序:
ORG 0000H
LJMP START
ORG 0100H
START: MOV DPTR,#2000H
MOV A,#0B2H ;给累加器A赋一个值
MOVX ***@DPTR,A ;将累加器A中的内容作为2000H的内容
ANL A,#0FH
SWAP A
MOV R0,A
INC DPTR
MOV A,#0E5H ;给累加器A赋一个值
MOVX ***@DPTR,A ;将累加器A中的内容作为2001H的内容
ANL A,#0FH
ORL A,R0
INC DPTR
MOVX ***@DPTR,A
SJMP $
END
调试结果:
实验小结
此次实验让我基本掌握了MOVX,SWAP这两条从未用过的指令的用法,理解了地址高位与低位的含义,16位地址与8位地址的记法,DPTR作为地址指针的重要作用,并让我注意到了DEC比INC少一种用法,即有INC DPTR,却没有DEC DPTR。
第二次单片机实验报告
学号:____________ 姓名:____________
一、实验目的:
(l)学习P1口的使用方法;
(2)学习延时子程序的编写。
实验必备知识:
(l)Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
(2)本实验中延时子程序采用指令循环来实现。
实验设备:
装有Keil uVision和STC_ISP的计算机1台
单片机芯片1片
单片机综合实验箱1个
杜邦线若干
实验内容:
P1口输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
我的电路原理图、流程图及源程序:
:
因为没有用实验室的设备完成实验,所以我用的是自己的计算机和单片机完成实验的。其起作用的部分的电路图如下图用(Proteus )所示:
2. 流程图(用Edraw Mind Map ):
:
ORG 0000H
MOV A,#01111111B
JMP START
ORG 0100H
START:
安徽大学历次单片机实验报告 来自淘豆网m.daumloan.com转载请标明出处.