单片机实验

更新时间:2023-10-19 04:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一 拆字程序

1.实验目的:

掌握汇编语言设计方法。

2.实验内容:

把8000H地址上的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清零.本程序通常在把数据送显示缓冲区时使用。

3.实验器材:

(1) G2010实验箱 1 台

4.实验步骤:

(1)按流程图编写程序,可借助KEIL集成调试环境中的编辑器输入程序,存盘并编译,

按提示的内容进行排错。

(2)打开DATA和XDATA窗口,在XDATA窗口的8000H单元输入一个值,如23H,单步

调试程序,观察累加器A,辅助寄存器B,外部数据存储器8001H,8002H单元中数据的变化。

5.软件清单 (实验例程\\实验1\\ASM51\\EX1.ASM) (实验例程\\实验1\\C51\\EX1.C)

;文件名:MCS51\\ex1.ASM

;把指定字节的高低位拆开分别存放,多用于显示子程序 ORG 0000H sjmp start

org 0050h

start:MOV DPTR,#8000H ;指定的字节 MOVX A,@DPTR MOV B,A ;暂存 SWAP A ;交换 ANL A,#0FH ;屏敝高位 INC DPTR MOVX @DPTR,A INC DPTR MOV A,B ANL A,#0FH ;指定字节的内容屏敝高位 MOVX @DPTR,A LOOP: SJMP LOOP end

6、仿真结果

7、心得体会

这个实验让我学会了软件KEIL的使用和用这个软件对程序的的调试,明白了拆字程序的原理,对汇编程序的读写也有了更近一步的理解。

实验二 拼字程序

1.实验目的:

(1)进一步掌握汇编语言设计

2.实验内容:

把8000H、8001H两个字节的低位分别送入8002H的高位和低位。本程序一般用于把显示缓冲区数据取出拼装成一个字节。

3.实验器材:

(1) G2010实验箱 1 台

4.实验步骤:

(1)按流程图编写程序,可借助KEIL集成调试环境中的编辑器输入程序,存盘并编译,

按提示的内容进行排错。

(2)打开DATA和XDATA窗口,在XDATA窗口的8000H单元输入一个值,如23H,单步

调试程序,观察累加器A,辅助寄存器B,外部数据存储器8001H,8002H单元中数据的变化。

5.软件清单:(实验例程\\实验2\\ASM51\\EX2.ASM) (实验例程\\实验2\\C51\\EX2.C)

“验证式” 实验二 拼字程序 ;文件名:MCS51\\A02.ASM

;把两字节的低位合拼成一个字节,多用于显示子程序 ORG 0000h sjmp start org 0050h start:MOV DPTR,#8000H MOVX A,@DPTR ANL A,#0FH ;屏敝高位 SWAP A MOV B,A ;保存 INC DPTR MOVX A,@DPTR ANL A,#0FH ORL A,B ;合拼 INC DPTR MOVX @DPTR,A ;送8002H存放 LOOP: SJMP LOOP end

6.结果截图

7、心得体会

实验2和实验1的内容差不多,就是相反的过程。实验1是拆开后保存,实验2是拆开后合并,原理其实是一样的。

实验四 数据排序实验

1.实验目的:

(1)学习KEIL Uv2/Uv3集成调试环境下的编辑、编译、排错、调试方法。 (2)学习修改和观察变量的方法;综合使用单步、断点调试的方法。

2.实验内容:

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

3.实验器材:

(1) G2010+实验箱 1 台

4.软件清单:(实验例程\\实验4\\ASM51\\EX4.ASM) (实验例程\\实验4\\C51\\EX4.C)

5、结果截图

运行后:

6.心得体会

通过这个实验,我对KEIL Uv2/Uv3集成调试环境下的编辑、编译、排错、调试方法都有了更进一步的认识,也掌握了单步、断点调试的基本方法。这个程序是数据排序,对冒泡排序也要明白排序的过程。

本文来源:https://www.bwwdw.com/article/xkof.html

Top