发布时间 : 星期三 文章哈工大单片机实验报告(上传)更新完毕开始阅读07bd99540b4e767f5bcfce36
Harbin Institute of Technology
单片机原理与应用
实验报告
学生姓名 学班专
号 级 业
: : : : : :
任课教师 所在单位
2013年5月
软件实验
在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
实验一 清零程序
一、实验目的
掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容
把2000~20FFh的内容清零。
三、程序框图
四、实验过程
实验中利用MOVX语句,将外部存储器指定内容清零。利用数据指针DPTR完成数据传送工作。程序采用用循环结构完成,R0移动单元的个数,可用CJNE比较语句判断循环是否结束。
五、实验结果及分析
清零前 清零后
-1-
【问题回答】清零前2000H~20FFH中为内存里的随机数,清零后全变为0。
六、实验源程序
AJMP MAIN
ORG 0640H
MAIN: MOV R0, #00H
MOV DPL, #00H MOV DPH, #20H
LOOP: MOV A, #00H
MOVX @DPTR, A INC DPTR INC R0
CJNE R0, #0FFH, LOOP MOVX @DPTR, A END
实验二 拆字程序
一、实验目的
掌握汇编语言设计和调试方法。
二、实验内容
把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图
四、实验过程
将寄存器中内容送入2000H,分别将高低四位移到低位,将高四位置零然后移入2001H和2002H中。利用MOVX语句、DPTR指针可实现数据的传送,利用高低四位交换语句SWAP和与语句ANL可进行对高低位的清零。
-2-
五、实验结果及分析
拆字前 拆字后
【问题回答】将ANL A, #0FH改为ORL A, #0F0H可以实现将高位置为1。
六、实验源程序
ORG 0000H
AJMP MAIN ORG 0660H
MAIN: MOV DPL, #00H
MOV DPH, #20H MOVX A, @DPTR SWAP A ANL A, #0FH INC DPTR MOVX @DPTR, A MOV A, DPL
DEC A MOV DPL, A
MOVX A, @DPTR ANL A, #0FH INC DPTR INC DPTR MOVX @DPTR, A END
SJMP $
实验三 拼字程序
一、实验目的
进一步掌握汇编语言设计和调试方法。
二、实验内容
把2000h、2001h的低位分别送入2002h高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
三、程序框图
-3-