本科实验报告 -...
Post on 29-Apr-2018
258 Views
Preview:
TRANSCRIPT
本科实验报告
课程名称: 微机原理与接口技术实验
姓 名: 赵鼎
学 部: 信息学部
系: 光电信息工程学系
专 业: 信息工程(光电)
学 号: 3070011140
指导教师: 王晓萍、刘玉玲、齐杭丽
2009 年 12 月 5 日
实验报告
课程名称: 微机原理与接口技术实验 指导老师: 王晓萍、齐杭丽 成绩:
实验名称: 软件实验一 内存操作 实验类型: 设计型 同组学生姓名:
一、实验目的和要求(必填) 二、实验内容和原理(必填)
三、主要仪器设备(必填) 四、操作方法和实验步骤
五、实验数据记录和处理 六、实验结果与分析(必填)
七、讨论、心得
一、 实验目的和要求
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 室
装
订
线
实验名称: 软件实验一 内存操作 姓名: 赵鼎 学号: 3070011140
运行结果:
2、在 keil 环境修改内部 RAM 30H ~3FH 的内容分别为#00H~#0FH,设计程序实现将内部
RAM30H~3FH 单元的内容复制到片外 1030H~103FH 中。
源程序代码:
运行结果:
P.2
装
订
线
实验名称: 软件实验一 内存操作 姓名: 赵鼎 学号: 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
装
订
线
实验名称: 软件实验一 内存操作 姓名: 赵鼎 学号: 3070011140
运行结果:
说明:由于 P2 复位后的值为 FFH,并且利用 Ri 访问片外存储器时,地址总线的高 8 位由 P2 口决定。
所以程序的第 4 行,将 P2 口清零。
2、设计程序将外部 64KB 的 XRAM 高低地址存储内容互换。使用单步、断点方式调试程序,查看特
殊功能寄存器、内部数据 RAM、外部 XRAM 相应存储单元内容的变化。
程序代码:
P.4
装
订
线
实验名称: 软件实验一 内存操作 姓名: 赵鼎 学号: 3070011140
运行结果:
装
订
线
P.5
实验报告
课程名称: 微机原理与接口技术实验 指导老师: 王晓萍、齐杭丽 成绩:
实验名称: 软件实验二 数制及代码转换 实验类型: 设计型 同组学生姓名:
一、实验目的和要求(必填) 二、实验内容和原理(必填)
三、主要仪器设备(必填) 四、操作方法和实验步骤
五、实验数据记录和处理 六、实验结果与分析(必填)
七、讨论、心得
一、 实验目的和要求
1、 了解微机系统中的数制与代码表示方法;
2、 掌握计算机中使用的各种代码转换方法;
3、 掌握实现分支、循环的指令及其程序的编写方法。
二、 实验内容和原理
1、理解十进制数、十六进制数的数制表示方法;
2、理解 BCD 码、ASCII 码编码方式;
3、如何实现十六进制数与 BCD 码之间的转换;
4、如何实现 ASCII 码与 BCD 码之间的转换。
三、主要仪器设备
安装 Keil 的 PC 机
四、设计型实验内容
1、设一串字母的 ASCII 存于 30H 起始的单元中,设计程序判断字母是否为大写字母,是则将大写字
母的 ASCII 字符转换成小写字母的 ASCII 字符,为小写则不转换。
源程序代码:
专业: 信息工程(光电)
姓名: 赵 鼎
学号: 3070011140
日期: 2009.11.30
地点: 蓝田一舍 6023 室
装
订
线
实验名称: 软件实验二 数制及代码转换 姓名: 赵鼎 学号: 3070011140
运行结果:前后对比
2、将单字节十六进制数 0D8H 转换为十进制数,存放在内部 RAM30H~33H 中。
源程序代码:
运行结果:十进制 216
3、设计程序,将十六进制数 614EH 转换成 ASCII 码,使用单步、断点方式调试程序,查看结果。
源程序代码:
P.2
装
订
线
实验名称: 软件实验二 数制及代码转换 姓名: 赵鼎 学号: 3070011140
运行结果:
五、扩展型实验内容
1、设计程序,将 BCD 码 12345678H 所代表的数值转换成十六进制数,使用单步、断点方式调试程
序,查看结果。
说明:12345678BCD 需用 3 个字节十六进制数表示,由高到低 3 个字节依次放在 R2,R3,R4 中。
源程序代码:
P.3
装
订
线
实验名称: 软件实验二 数制及代码转换 姓名: 赵鼎 学号: 3070011140
运行结果:(12345678)BCD=(BC614E)H
2、设计程序,将十六进制数 BC614EH 转换成 BCD 码,使用单步、断点方式调试程序,查看结果。
源程序代码:
P.4
装
订
线
实验名称: 软件实验二 数制及代码转换 姓名: 赵鼎 学号: 3070011140
运行结果:(BC614E)H=(12345678)BCD
P.5
装
订
线
实验报告
课程名称: 微机原理与接口技术实验 指导老师: 王晓萍、齐杭丽 成绩:
实验名称: 软件实验三 算术运算 实验类型: 设计型 同组学生姓名:
一、实验目的和要求(必填) 二、实验内容和原理(必填)
三、主要仪器设备(必填) 四、操作方法和实验步骤
五、实验数据记录和处理 六、实验结果与分析(必填)
七、讨论、心得
一、 实验目的和要求
1、掌握算术运算类、逻辑运算类指令的使用方法;
2、掌握 BCD 码、补码数制表示方法;
3、掌握运算程序及循环程序的编写和调试方法。
二、 实验内容和原理
1、理解 8051 单片机的算术运算指令;
2、理解补码表示数值的方法;
3、理解压缩、非压缩 BCD 码表示数值的方法;
4、如何实现多位数的 BCD 码加、乘、除运算;
5、如何实现多位数的 BCD 码减法运算。
三、主要仪器设备
安装 Keil 的 PC 机
四、设计型实验内容
1、设计程序,实现任意字节压缩 BCD 码的相加,使用单步、断点方式调试程序,查看结果。
源程序编写如下:
专业: 信息工程(光电)
姓名: 赵 鼎
学号: 3070011140
日期: 2009.12.01
地点: 蓝田一舍 6023 室
装
订
线
实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140
运行结果:543210H+9876H=553086H
2、设计程序,实现多字节十六进制无符号数的减法 123456H-005634H,使用单步、断点方式调试程
序,查看结果。
源程序编写如下:
P.2
装
订
线
实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 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
装
订
线
实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140
运行结果:正数和储存在 2CH~2DH,负数和储存在 2EH~2FH
注:9 个正数和 7 个负数的情况只是初始化不同,其他完全相同,这里没有做进一步讨论。
4、设计程序,实现十六进制无符号数双字节乘单字节 35A6H*56H,结果存于内部 RAM 的 40H 开始
的三个单元中,使用单步、断点方式调试程序,查看结果。
源程序编写如下:
运行结果:1205C4H
五、实验结果与分析
1、设计一个实现十六进制无符号数双字节乘双字节的通用程序。
P.4
装
订
线
实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140
入口:R2、R3 为乘数,R6、R7 为乘数
出口:R2、R3、R4、R5 为乘积
源程序编写如下:
%十六进制无符号双字节数以 ab、cd 表示
运行结果:乘数为 1234H 与 5678H 时,乘积为 6260060H
P.5
装
订
线
实验名称: 软件实验三 算术运算 姓名: 赵鼎 学号: 3070011140
2、设计一个实现十六进制无符号数双字节除双字节的通用程序。
入口:R2、R3 为被除数,R6、R7 为除数
出口:R4、R5 为商、R2、R3 为余数
源程序编写如下:
运行结果:被除数为 304H 与除数为 102H 时,商为 02H,余数为 100H
P.6
装
订
线
实验报告
课程名称: 微机原理与接口技术实验 指导老师: 王晓萍、齐杭丽 成绩:
实验名称: 软件实验四 比较和查表 实验类型: 设计型 同组学生姓名:
一、实验目的和要求(必填) 二、实验内容和原理(必填)
三、主要仪器设备(必填) 四、操作方法和实验步骤
五、实验数据记录和处理 六、实验结果与分析(必填)
七、讨论、心得
一、 实验目的和要求
1、掌握比较指令的使用及循环程序的编写方法;
2、掌握字符查找的思路和算法;
3、理解并能运用查表和散转指令。
二、 实验内容和原理
1、理解掌握比较程序的设计思路;
2、理解多分支结构程序的编程方法。
三、主要仪器设备
安装 Keil 的 PC 机
四、设计型实验内容
1、分别用近程查表指令和远程查表指令,查找 R3 内容的平方值。R3 内容小于等于 0FH,即平方值
为单字节数据。
源程序编写如下:
(1)近程查表指令
专业: 信息工程(光电)
姓名: 赵 鼎
学号: 3070011140
日期: 2009.12.03
地点: 蓝田一舍 6023 室
装
订
线
实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140
运行结果:2 0AH 64H( )
(2)远程查表指令
运行结果:2 0AH 64H( )
2、在外部 RAM 1000H 开始处有 10H 个带符号数,请找出其中的最大值和最小值,分别存入内部 RAM
的 30H、31H 单元。
源程序编写如下:
P.2
装
订
线
实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140
运行结果:储存在外部 RAM1000H~100FH 中的初始值以及内部 30H、31H 中的最大、最小值
3、分别用近程查表指令和远程查表指令,查找 R3 内容的平方值。平方值为两个字节数据。
源程序编写如下:
(1)近程查表指令
P.3
装
订
线
实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140
运行结果:查表平方值储存在 30H~31H
(2)远程查表指令
运行结果:查表平方值储存在 30H~31H
五、扩展型实验内容
1、设计程序,实现求出十个无符号数的平均值,并统计大于均值和小于均值的数据个数,使用单步、
断点方式调试程序,查看结果。
P.4
装
订
线
实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140
P.5
装
订
线
实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 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
装
订
线
实验名称: 软件实验四 比较和查表 姓名: 赵鼎 学号: 3070011140
运行结果:
初始值:存放在内部 30H~3CH 单元
存在标志 40H:存在为 1、不存在为 0
位置标志 50H:数据存在的条件下,所在单元位置
P.7
装
订
线
top related