本科实验报告 -...

24
本科实验报告 课程名称: 微机原理与接口技术实验 名: 赵鼎 部: 信息学部 系: 光电信息工程学系 业: 信息工程(光电) 号: 3070011140 指导教师: 王晓萍、刘玉玲、齐杭丽 2009 12 5

Upload: phamcong

Post on 29-Apr-2018

255 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

本科实验报告

课程名称: 微机原理与接口技术实验

姓 名: 赵鼎

学 部: 信息学部

系: 光电信息工程学系

专 业: 信息工程(光电)

学 号: 3070011140

指导教师: 王晓萍、刘玉玲、齐杭丽

2009 年 12 月 5 日

Page 2: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验报告

课程名称: 微机原理与接口技术实验 指导老师: 王晓萍、齐杭丽 成绩:

实验名称: 软件实验一 内存操作 实验类型: 设计型 同组学生姓名:

一、实验目的和要求(必填) 二、实验内容和原理(必填)

三、主要仪器设备(必填) 四、操作方法和实验步骤

五、实验数据记录和处理 六、实验结果与分析(必填)

七、讨论、心得

一、 实验目的和要求

1、掌握数据传送指令;

2、掌握各种数据传送指令的寻址方式;

3、熟练运用 keil 环境对汇编程序进行调试;

4、掌握数据传送、复制等程序的设计与调试方法。

二、 实验内容和原理

1、理解数据传送指令和循环指令的使用;

2、理解如何对内部寄存器、内部 RAM、外部 RAM 的读写;

3、理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式。

三、主要仪器设备

安装 Keil 的 PC 机

四、设计型实验内容

1、在 Keil 环境修改内部 RAM 30H ~3FH 的内容分别为#00H~#0FH,设计程序实现将内部

RAM30H~3FH 到 40H~4FH 的数据块拷贝。

源程序代码:

专业: 信息工程(光电)

姓名: 赵 鼎

学号: 3070011140

日期: 2009.11.28

地点: 蓝田一舍 6023 室

线

Page 3: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验一 内存操作 姓名: 赵鼎 学号: 3070011140

运行结果:

2、在 keil 环境修改内部 RAM 30H ~3FH 的内容分别为#00H~#0FH,设计程序实现将内部

RAM30H~3FH 单元的内容复制到片外 1030H~103FH 中。

源程序代码:

运行结果:

P.2

线

Page 4: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验一 内存操作 姓名: 赵鼎 学号: 3070011140

3、在 keil 环境修改内部 RAM 30H ~3FH 的内容分别为#00H~#0FH,设计程序实现将内部

RAM30H ~3FH 内容逆序拷贝到外部数据 XRAM:0000H ~000FH 中。使用单步、断点方式调试程序,

查看特殊功能寄存器、内部数据 RAM、XRAM 相应地址存储空间的变化。

源程序代码:

运行结果:

五、扩展型实验内容

1、采用 R0,R1 与采用 DPTR 对外部 XRAM 寻址有何区别?如何确保两种指令操作访问的 XRAM

地址是一致的?试设计程序并验证。

答:采用 R0、R1 对外部 XRAM 进行寻址只能寻址到低 256 字节,而 DPTR 可以对外部 XRAM 寻址的范围

为 64K。当寻址外部 XRAM 低 256 字节时,两种指令操作访问的 XRAM 地址是一致的,即可以同时用 R0、R1

和 DPTR 作间接访问。

源程序代码:

P.3

线

Page 5: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验一 内存操作 姓名: 赵鼎 学号: 3070011140

运行结果:

说明:由于 P2 复位后的值为 FFH,并且利用 Ri 访问片外存储器时,地址总线的高 8 位由 P2 口决定。

所以程序的第 4 行,将 P2 口清零。

2、设计程序将外部 64KB 的 XRAM 高低地址存储内容互换。使用单步、断点方式调试程序,查看特

殊功能寄存器、内部数据 RAM、外部 XRAM 相应存储单元内容的变化。

程序代码:

P.4

线

Page 6: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验一 内存操作 姓名: 赵鼎 学号: 3070011140

运行结果:

线

P.5

Page 7: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验报告

课程名称: 微机原理与接口技术实验 指导老师: 王晓萍、齐杭丽 成绩:

实验名称: 软件实验二 数制及代码转换 实验类型: 设计型 同组学生姓名:

一、实验目的和要求(必填) 二、实验内容和原理(必填)

三、主要仪器设备(必填) 四、操作方法和实验步骤

五、实验数据记录和处理 六、实验结果与分析(必填)

七、讨论、心得

一、 实验目的和要求

1、 了解微机系统中的数制与代码表示方法;

2、 掌握计算机中使用的各种代码转换方法;

3、 掌握实现分支、循环的指令及其程序的编写方法。

二、 实验内容和原理

1、理解十进制数、十六进制数的数制表示方法;

2、理解 BCD 码、ASCII 码编码方式;

3、如何实现十六进制数与 BCD 码之间的转换;

4、如何实现 ASCII 码与 BCD 码之间的转换。

三、主要仪器设备

安装 Keil 的 PC 机

四、设计型实验内容

1、设一串字母的 ASCII 存于 30H 起始的单元中,设计程序判断字母是否为大写字母,是则将大写字

母的 ASCII 字符转换成小写字母的 ASCII 字符,为小写则不转换。

源程序代码:

专业: 信息工程(光电)

姓名: 赵 鼎

学号: 3070011140

日期: 2009.11.30

地点: 蓝田一舍 6023 室

线

Page 8: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验二 数制及代码转换 姓名: 赵鼎 学号: 3070011140

运行结果:前后对比

2、将单字节十六进制数 0D8H 转换为十进制数,存放在内部 RAM30H~33H 中。

源程序代码:

运行结果:十进制 216

3、设计程序,将十六进制数 614EH 转换成 ASCII 码,使用单步、断点方式调试程序,查看结果。

源程序代码:

P.2

线

Page 9: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验二 数制及代码转换 姓名: 赵鼎 学号: 3070011140

运行结果:

五、扩展型实验内容

1、设计程序,将 BCD 码 12345678H 所代表的数值转换成十六进制数,使用单步、断点方式调试程

序,查看结果。

说明:12345678BCD 需用 3 个字节十六进制数表示,由高到低 3 个字节依次放在 R2,R3,R4 中。

源程序代码:

P.3

线

Page 10: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验二 数制及代码转换 姓名: 赵鼎 学号: 3070011140

运行结果:(12345678)BCD=(BC614E)H

2、设计程序,将十六进制数 BC614EH 转换成 BCD 码,使用单步、断点方式调试程序,查看结果。

源程序代码:

P.4

线

Page 11: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验二 数制及代码转换 姓名: 赵鼎 学号: 3070011140

运行结果:(BC614E)H=(12345678)BCD

P.5

线

Page 12: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验报告

课程名称: 微机原理与接口技术实验 指导老师: 王晓萍、齐杭丽 成绩:

实验名称: 软件实验三 算术运算 实验类型: 设计型 同组学生姓名:

一、实验目的和要求(必填) 二、实验内容和原理(必填)

三、主要仪器设备(必填) 四、操作方法和实验步骤

五、实验数据记录和处理 六、实验结果与分析(必填)

七、讨论、心得

一、 实验目的和要求

1、掌握算术运算类、逻辑运算类指令的使用方法;

2、掌握 BCD 码、补码数制表示方法;

3、掌握运算程序及循环程序的编写和调试方法。

二、 实验内容和原理

1、理解 8051 单片机的算术运算指令;

2、理解补码表示数值的方法;

3、理解压缩、非压缩 BCD 码表示数值的方法;

4、如何实现多位数的 BCD 码加、乘、除运算;

5、如何实现多位数的 BCD 码减法运算。

三、主要仪器设备

安装 Keil 的 PC 机

四、设计型实验内容

1、设计程序,实现任意字节压缩 BCD 码的相加,使用单步、断点方式调试程序,查看结果。

源程序编写如下:

专业: 信息工程(光电)

姓名: 赵 鼎

学号: 3070011140

日期: 2009.12.01

地点: 蓝田一舍 6023 室

线

Page 13: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140

运行结果:543210H+9876H=553086H

2、设计程序,实现多字节十六进制无符号数的减法 123456H-005634H,使用单步、断点方式调试程

序,查看结果。

源程序编写如下:

P.2

线

Page 14: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140

运行结果:储存在 30H~32H 中为 11DE22H

3、在内部 RAM 的 30H 单元开始,有一串带符号数据块(负数存放形式为补码),其长度在 10H 单元

中。请分别在写入 5 个正数、11 个负数和 9 个正数、7 个负数的情况,编程求其中正数与负数的和,并分

别存入内部 RAM 的 2CH 与 2EH 开始的 2 个单元中,记录程序运行结果。

例如:输入-69H、65H、-7H、-25H、-47H、56H、-3H、17H、6H、-5H、-45H、-1H、-57H、23H、

-5H、-13H。

结果应为:正数的和 FBH,负数的和-199H(FE67H)。

源程序编写如下:

P.3

线

Page 15: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140

运行结果:正数和储存在 2CH~2DH,负数和储存在 2EH~2FH

注:9 个正数和 7 个负数的情况只是初始化不同,其他完全相同,这里没有做进一步讨论。

4、设计程序,实现十六进制无符号数双字节乘单字节 35A6H*56H,结果存于内部 RAM 的 40H 开始

的三个单元中,使用单步、断点方式调试程序,查看结果。

源程序编写如下:

运行结果:1205C4H

五、实验结果与分析

1、设计一个实现十六进制无符号数双字节乘双字节的通用程序。

P.4

线

Page 16: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140

入口:R2、R3 为乘数,R6、R7 为乘数

出口:R2、R3、R4、R5 为乘积

源程序编写如下:

%十六进制无符号双字节数以 ab、cd 表示

运行结果:乘数为 1234H 与 5678H 时,乘积为 6260060H

P.5

线

Page 17: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140

2、设计一个实现十六进制无符号数双字节除双字节的通用程序。

入口:R2、R3 为被除数,R6、R7 为除数

出口:R4、R5 为商、R2、R3 为余数

源程序编写如下:

运行结果:被除数为 304H 与除数为 102H 时,商为 02H,余数为 100H

P.6

线

Page 18: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验报告

课程名称: 微机原理与接口技术实验 指导老师: 王晓萍、齐杭丽 成绩:

实验名称: 软件实验四 比较和查表 实验类型: 设计型 同组学生姓名:

一、实验目的和要求(必填) 二、实验内容和原理(必填)

三、主要仪器设备(必填) 四、操作方法和实验步骤

五、实验数据记录和处理 六、实验结果与分析(必填)

七、讨论、心得

一、 实验目的和要求

1、掌握比较指令的使用及循环程序的编写方法;

2、掌握字符查找的思路和算法;

3、理解并能运用查表和散转指令。

二、 实验内容和原理

1、理解掌握比较程序的设计思路;

2、理解多分支结构程序的编程方法。

三、主要仪器设备

安装 Keil 的 PC 机

四、设计型实验内容

1、分别用近程查表指令和远程查表指令,查找 R3 内容的平方值。R3 内容小于等于 0FH,即平方值

为单字节数据。

源程序编写如下:

(1)近程查表指令

专业: 信息工程(光电)

姓名: 赵 鼎

学号: 3070011140

日期: 2009.12.03

地点: 蓝田一舍 6023 室

线

Page 19: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140

运行结果:2 0AH 64H( )

(2)远程查表指令

运行结果:2 0AH 64H( )

2、在外部 RAM 1000H 开始处有 10H 个带符号数,请找出其中的最大值和最小值,分别存入内部 RAM

的 30H、31H 单元。

源程序编写如下:

P.2

线

Page 20: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140

运行结果:储存在外部 RAM1000H~100FH 中的初始值以及内部 30H、31H 中的最大、最小值

3、分别用近程查表指令和远程查表指令,查找 R3 内容的平方值。平方值为两个字节数据。

源程序编写如下:

(1)近程查表指令

P.3

线

Page 21: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140

运行结果:查表平方值储存在 30H~31H

(2)远程查表指令

运行结果:查表平方值储存在 30H~31H

五、扩展型实验内容

1、设计程序,实现求出十个无符号数的平均值,并统计大于均值和小于均值的数据个数,使用单步、

断点方式调试程序,查看结果。

P.4

线

Page 22: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140

P.5

线

Page 23: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140

运行结果:

初始值:存放在内部 30H~39H 单元

求和值:高位存放在 40H、低位存放在 41H

平均值:高位存放在 50H、低位存放在 51H

比较后:大于均值个数存放在 60H、小于均值个数存放在 61H

2、编写一个对分搜索程序,对一个已排好序的数组 1,2,3,4,5,6,7,8,9,10,12,14,15 查找是否存在关键

字 6,如果有指出该数据在字符串中的位置。使用单步、断点方式调试程序,查看结果。

P.6

线

Page 24: 本科实验报告 - opt.zju.edu.cnopt.zju.edu.cn/jpkc-znckyqsj/upload/upload/homework/5/3070011140... · 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据

实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140

运行结果:

初始值:存放在内部 30H~3CH 单元

存在标志 40H:存在为 1、不存在为 0

位置标志 50H:数据存在的条件下,所在单元位置

P.7

线