首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • 软件实验报告详细版

    时间:2020-10-30 11:59:52 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:实验 报告 详细

     本科实验报告

      课程名称:

     微机原理与接口技术 姓

     名:

     邵芳琳 学 院(系):

     控制学院 专

     业:

     自动化 学

     号:

     3140103307 指导教师:

      曹峥

      2016 年 11 月 11 日

      实验一 存储器块操作实验

     一、实验目的 1. 熟悉 KEIL 集成调试环境和汇编程序的调试方法。

     2. 掌握存储器读写方法; 3. 了解内存块的移动方法; 二、实验说明 实验 1 指定某块存储器的起始地址和长度,要求能将其内容赋值。通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。

     块移动是单片机常用操作之一,多用于大量的数据复制和图象操作。例程 2 给出起始地址,用地址加一方法移动块,将指定源地址和长度的存储块移到指定目标地址为起始地址的单元中去。移动 3000H 起始的 256 个字节到 4000H 起始的 256 个字节。

     思考题 1. 如何将存储器块的内容置成某固定值(例全填充为 0FFH)? 请用户修改程序,完成此操作。

     将 MOV A,#1H

      改为 MOV A,#FFH

     2. 若源块地址和目标块地址有重叠,该如何避免? 源块地址和目标块地址重叠部分数据压制堆栈中,当要使用重叠部分源数据时,直接从堆栈中弹出。

     实验内容 1.

     试编程将片内 RAM 中的数据依次复制到片外 RAM。假设源数据区的首地址为 40H,目的数据区的首地址为 1000H,数据块长度为 10H。

     ORG 0000H

      MOV R0,#40H

      MOV A,#01H

      MOV R5,#10H LOOP:

     MOV @R0,A

      INC R0

      DJNZ R5,LOOP

      MOV R0,#40H ;起始地址

      MOV R2,#10H

     MOV R3,#00H

      MOV R7,#10H ;循环次数 LOOP1:

     MOV A,@R0

      MOV DPH,R2

      MOV DPL,R3

      MOVX @DPTR,A

      INC R0

      INC R3

      DJNZ R7,LOOP1

      LJMP $

      END

     运行结果:

      2.

     两个 16 位无符号二进制数分别存放在片外 RAM 首址为 2000H 和 2002H 单元内,将它们相加,结果存入片内 RAM 30H(低 8 位)、31H(高 8 位)。

      运行前:

      运行后:

     ORG 0000H

      MOV A,#11H

      MOV DPTR,#2000H

      MOVX @DPTR,A

      MOV DPTR,#2003H

      MOVX @DPTR,A

      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

     1100+0011=1111 运行结果正确。

     实验二 数值转换实验 一、实验目的 1. 熟悉 KEIL 集成调试环境和汇编程序的调试方法。

     2. 掌握简单的数值转换算法。

     3. 基本了解数值的各种表达方法。

     4. 掌握数值的加减法运算。

     5. 掌握用查表的方法将 BCD 值转换成 ASCII 值。

     二、实验说明 单片机系统内部运算用二进制,而输入输出常用十进制,以符合日常习惯,因此,数制转换是仪表设计中常用的程序之一。

     单片机中的数值有各种表达方式,这是单片机的基础。掌握各种数制之间的转换是一种基本功。我们将给定的一字节二进制数,转换成二十进制(BCD)码。将累加器 A 的值拆为三个 BCD 码,并存入 RESULT 开始的三个单元,例程 A 赋值#123。

     实验 2 主要让学生了解数值的 BCD 码和 ASCII 码的区别,利用查表方法快速地进行数值转换。进一步掌握数值的各种表达方式。现在我们给出一个 BCD 数,将其转换成 ASCII 值。如下:将累加器 A 的值转换为二个 ASCII 码,并存入 Result 开始的二个单元,例如 A 赋值#1AH。

     思考题 BCD 码转换成二进制数的算法是什么?例如:(91)

     BCD

     对应的二进制数是多少? 将 BCD 码写成权值相加的形式,再将各位转化为二进制。

     9×10^1+1×10^0=91=()B

     实验内容 1.

     把 R 3 中的 8 位二进制整数转换为压缩 BCD 码,存放在 R4, R5 中。

      ORG 0000H MOV R3,##10111011B MOV A,R3 MOV B,#100 DIV AB MOV R4,A MOV A,B MOV B,#10 DIV AB MOV R5,A SWAP A ADD A,B MOV R5,A

     寄存器结果:

     2.

     设 4 位 BCD 码 abcd 依次存放在内部 RAM 中 50H~53H 单元的低 4 位,(高 4 位为 0)。试编程将其转换成二进制数并存入 R6R7 中。

      ORG 0000H

     MOV 50H,#01 MOV 51H,#02

     MOV 52H,#03

      MOV 53H,#04

     MOV A,50H

      MOV B,#10 MUL AB MOV B,#100 MUL AB MOV R1,B

      MOV R0,A

     MOV B,#100 MOV A,51H MUL AB ADD A,R0 MOV R0,A

      MOV A,B ADDC A,R1 MOV R1,A

      执行结果:

      4 位 BCD 码为 1234,转换为 2 进制数为 4d2 与实际相符。

     MOV B,#10 MOV A,52H MUL AB ADD A,R0 MOV R0,A MOV A,R1 ADDC A,#0 MOV R1,A

     MOV A,R0 ADD A,53H MOV R0,A MOV A,R1 ADDC A,#0

     MOV R6,A MOV A,R0 MOV R7,A

     实验三 程序跳转表实验 一、实验目的 1. 熟悉 KEIL 集成调试环境和汇编程序的调试方法。

     2. 了解简单的函数计算。

     3. 掌握多分支结构程序的编程方法 二、实验说明 多分支结构是程序中常见的结构,在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。

     若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。

     三、思考题 1. 写跳转程序时要注意些什么? 1)子程序的第 1 条指令前必须有标号,即表明子程序的名称,也作为调用指令的符号地址。

     2)要有入口条件,用来说明入子程序时,它所要处理的数据如何得到。另外,要有出口条件,即处理的结果是如何存放的。

     3)注意保护现场和恢复现场,即在调用子程序前将不允许被破坏的内容保存起来;恢复现场即在子程序执行完毕返回主程序前,将保存的内容恢复到保护现场前的状况; 4)子程序必须以 RET 结束。子程序中,对堆栈的入栈和出栈操作次数必须相同,以保证返回后堆栈指针 SP 的值与调用时一直。

     2. 可以避免重复书写相同的程序; 可以简化程序的逻辑结构; 使程序模块化,通用化。

     三、实验内容

      ORG 0000H MOV R0,#0FCH

     CJNE

     R0,#0,NEXT0

      MOV R0,#2

      MOV A,R0

      SJMP NEXT3 NEXT0:CJNE R0,#80H,NEXT1

      MOV R0,#2

      MOV A,R0

      SJMP NEXT3

     NEXT1:JC NEXT2

      SETB C

      MOV A,R0

      RRC A

      SJMP NEXT3

      测试结果:

     X<0

     X=0

      NEXT2:MOV A,R0

      MOV B,#2

      MUL AB NEXT3:MOV 30H,A END

      X>0

     实验四 数据排序实验 一、实验目的 1. 熟悉 KEIL 集成调试环境和汇编程序的调试方法。

     2. 掌握排序程序的设计方法。

     二、实验说明 本例程采用交换排序法将内部 RAM 中的 50~59H 单元中的 10 个单字节无符号二进制数按从小到大的次序排列,并将这一列排序后的数据从小到大依次存贮到外部 RAM 1000H 开始处。

     初始:

     结果:

     三、实验内容 画出本实验程序的流程图。

     实验五 键盘显示仿真实验 一、实验目的 1. 熟悉 KEIL 集成调试环境和汇编程序的调试方法。

     2. 学习使用外围接口工具调试程。

     3. 熟悉键盘显示接口电路及程序设计。

     提高实验 1. 根据键盘、LED 仿真板,设计一个走马灯程序,通过按键实现启停、速率及方向的控制

     UpDown

     BIT 00H

     StartEnd BIT 01H

     LAMPCODE EQU 21H ORG 0000H

      AJMP MAIN

      ORG 30H

     MAIN:

      MOV SP,#5FH

      MOV P1,#0FFH

      CLR UpDown

     ;启动时处于向上的状态

      CLR StartEnd ;启动时处于停止状态

      MOV LAMPCODE,#01H ;单灯流动的代码

      LOOP: ACALL KEY ;调用键盘程序

      JNB F0,LNEXT ;如果无键按下,则继续

      ACALL KEYPROC

     ;否则调用键盘处理程序

     LNEXT:

     ACALL LAMP ;调用灯显示程序

     AJMP LOOP

     DELAY:

     MOV R7,#100

     D1:

     MOV R6,#100

      DJNZ R6,$

      DJNZ R7,D1

      RET

     KEYPROC:

      MOV A,B

     ;从 B 寄存器中获取键值

      JB ACC.2,KeyStart ;分析键的代码,某位被按下,则该位为 1

      JB ACC.3,KeyOver

      JB ACC.4,KeyUp

      JB ACC.5,KeyDown

      AJMP KEY_RET

     KeyStart:

      SETB StartEnd ;第一个键按下后的处理

      AJMP KEY_RET

     KeyOver:

     CLR StartEnd ;第二个键按下后的处理

      AJMP KEY_RET

     KeyUp:

      SETB UpDown

     ;第三个键按下后的处理

      AJMP KEY_RET KeyDown:

      CLR UpDown

     ;第四个键按下后的处理

     KEY_RET:

      RET

     KEY:

     CLR F0

     ;清 F0,表示无键按下。

      ORL P3,#00111100B

     ;将 P3 口的接有键的四位置 1

      MOV A,P3

     ;取 P3 的值

      ORL A,#11000011B

     ;将其余 4 位置 1

      CPL A ;取反

      JZ K_RET ;如果为 0 则一定无键按下

      CALL DELAY ;否则延时去键抖

      ORL P3,#00111100B

      MOV A,P3

      ORL A,#11000011B

      CPL A

     JZ K_RET

      MOV B,A ;确实有键按下,将键值存入 B 中

      SETB F0 ;设置有键按下的标志

     K_RET:

     ORL P3,#00111100B ;此处循环等待键的释放

      MOV A,P3

      ORL A,#11000011B

      CPL

     A

      JZ

     K_RET1

      ;读取的数据取反后为 0 说明键释放了

      AJMP K_RET

      K_RET1:CALL DELAY

      ;消除后沿抖动

      RET D500MS:

      ;流水灯的延迟时间

      MOV R7,#255

     D51:

     MOV R6,#255

      DJNZ R6,$

      DJNZ R7,D51

      RET

      LAMP:

      JB

     StartEnd,LampStart; 如果 StartEnd=1,则启动

      MOV

     P1,#0ffH

      2. 根据实验仿真板 2 设计一个按键显示数字的程序,即按 0 显示 0,依次类推。

      ORG 0000H START: MOV P2,#0FEH

     MOV P3,#0EFH

     JB P3.0,NEXT1

     MOV P0,#0C0H

     LJMP FINAL NEXT1: MOV P3,#0EFH

     JB P3.1,NEXT2

     MOV P0,#0F9H

     LJMP FINAL NEXT2:

     MOV P3,#0EFH

     JB P3.2,NEXT3

     MOV P0,#0A4H

     LJMP FINAL NEXT3:

     MOV P3,#0EFH

     JB P3.3,NEXT4

     MOV P0,#0B0H

     LJMP FINAL NEXT4:

     MOV P3,#0DFH

     JB P3.0,NEXT5

     MOV P0,#99H

     LJMP FINAL LampStart:

     AJMP

     LAMPRET

     ;否则关闭所有显示,返回 LampStart:

     JB

     UpDown,LAMPUP

     ;如果 UpDown=1,则向上流动

      MOV

     A,LAMPCODE

      RL

     A ;左移位而 MOV

     LAMPCODE,A

     MOV

     P1,A

      LCALL

     D500MS

      LCALL

     D500MS

      AJMP

     LAMPRET

     LAMPUP:

     MOV

     A,LAMPCODE

      RR A

     ;向下流动实际就是右移

      MOV LAMPCODE,A

      MOV

     P1,A

      LCALL

     D500MS

     LAMPRET:

     RET

      END

      显示结果:

      NEXT5:

     MOV P3,#0DFH

     JB P3.1,NEXT6

     MOV P0,#92H

     LJMP FINAL NEXT6:

     MOV P3,#0DFH

     JB P3.2,NEXT7

     MOV P0,#82H

     LJMP FINAL NEXT7:

     MOV P3,#0DFH

     JB P3.3,NEXT8

     MOV P0,#0F8H

     LJMP FINAL NEXT8:

     MOV

     P3,0CFH

     JB P3.0,NEXT9

     MOV P0,#80H

     LJMP FINAL NEXT9:

     MOV P3,#0CFH

      JB P3.1,FINAL

     MOV P0,#90H

     LJMP FINAL FINAL:

     END

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识