微机原理与接口技术实验.docxVIP

  • 34
  • 0
  • 约1.72万字
  • 约 83页
  • 2021-03-19 发布于北京
  • 举报
微机原理与接口技术实验 实验一 存储器块操作实验 一、实验目的 1.熟悉 KEIL 集成调试环境和汇编程序的调试 方法。 2.掌握存储器读写方法; 3.了解内存块的移动方法; 二、实验说明 实验 1指定某块存储器的起始地址和长度,要求能将其内容赋值。 通过该实验学生可以了解单片机读写存储器的方法, 同时也可以了解单片机编程、调试方法。 块移动是单片机常用操作之一, 多用于大量的数据复制和图象操作。 例程 2 给出起始地址,用地址加一方法移动块, 将指定源地址和长度的存储块移到指定目标地址为起始地址的单元中去。 移 动 3000H起始的 256个字节到 4000H起始的 256个 字节。 三、源程序代码源程序 1: ORG 0000H START EQU 8000H MOV DPTR , #START ;起始地址 MOV R0 ,#0 ; MOV A ,#1H Loop : MOVX @DPTR ,A ; DJNZ R0 ,Loop ; NOP  设置 256 字节计数值 指向下一个地址 计数值减一 LJMP $ END Memory Window 初始: 运行后: 运行结果:外部 RAM8000H ~80FFH 的内容都 为 1。 源程序 2: ORG 0000H MOV DPTR,#3000H MOV A,#01H MOV R5,#0 LOOP: MOVX @DPTR,A INC DPTR DJNZ R5,LOOP MOV R0 ,#30H MOV R1 ,#00H MOV R2 ,#40H MOV R3 ,#00H MOV R7 ,#0 LOOP1 : MOV DPH ,R0 MOV DPL ,R1 MOVX A ,@DPTR MOV DPH ,R2 MOV DPL ,R3 MOVX @DPTR ,A INC R1 INC R3 DJNZ R7 ,LOOP1 LJMP $ END Memory Window 初始: 运行程序后: 运行结果: 3000H 起始的 256 个字节存储块与 4000H 起始的 256 个字节存储块各单元内数据 对应相同。 四、思考题 1、如何将存储器块的内容置成某固定值 (例全填充为 0FFH)? 请用户修改程序,完成此操作。 将源程序 1 修改为: ORG 0000H START EQU 8000H MOV DPTR, #START ; 起始地址 MOV R0,#0 ; 设置 256 字节计数值 MOV A,#0FFH; 将累加器赋值为 0FFH Loop: MOVX @DPTR,A INC DPTR ; 指向下一个地址 DJNZ R0,Loop ; 计数值减一 NOP LJMP $ END Memory Window 初始: 运行程序后: 2、若源块地址和目标块地址有重叠,该如 何避免? 将源块地址和目标块地址重叠部分数据压制堆栈中,当要使用重叠部分源数据时, 直接从堆栈中弹出。 五、实验内容 1、试编程将片内 RAM 中的数据依次复制到片外 RAM 。假设源数据区的首地址为 40H,目的数据区的首地址为 1000H,数据块长度为 10H。 源程序: ORG 0000H MOV R0,#40H MOV DPTR,#1000H MOV R1,#10H LOOP: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R1,LOOP SJMP $ END Memory Window 初始: 程序运行后: 程序运行结果正确。 2、两个 16 位无符号二进制数分别存放在片外 RAM 首址为 2000H 和 2002H 单元内,将它们相加,结果存入片内 RAM 30H (低 8 位)、31H (高 8 位)。 源程序: ORG 0000H MOV DPTR ,#2000H MOVX A,@DPTR MOV R0,A MOV DPTR,#2002H MOVX A,@DPTR ADD A,R0 MOV 30H,A MOV DPTR,#2001H MOVX A,@DPTR MOV R0,A MOV DPTR,#2003H MOVX A,@DPTR ADDC A,R0 MOV 31H,A END Memory Window 初始: 运行程序后: 2FAFH+067DH=362CH, 36H 存于 31H(高八 位),2CH 存于 30H(低八位 )。 程序运行正确。 实验二 数值转换实验 一、实验目的 1.熟悉 KEIL 集成调试环境和汇编程序的调试 方法。 2.掌握简单的数值转换算法。 3.基本了解数值的各种表达方法。 4.掌握数值的加减法运算。 5.掌握用查表的方法将 BCD 值转换成 ASCII 值。 二、实验说明 单片机系统内部运算用二进制

文档评论(0)

1亿VIP精品文档

相关文档