计算机原理与接口技术实验_第1页
计算机原理与接口技术实验_第2页
计算机原理与接口技术实验_第3页
计算机原理与接口技术实验_第4页
计算机原理与接口技术实验_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机原理与接口技术实验计算机原理与接口技术实验 实验一实验一 传送指令编程调试传送指令编程调试 一 实验目的一 实验目的 1 掌握指令系统传送指令的汇编语言程序设计和调试方法 2 熟悉运用 MCS 51 软件在线仿真调试设计的程序的方法 二 实验设备二 实验设备 EL 型实验箱 8051CPU 板 三 实验内容三 实验内容 编写多字节数据的传送程序 把内部 RAM 的 30H 37H 单元置为 10H 17H 然后 传送到外部的 RAM 的 4200H 4207H 单元 再将 4200H 4207H 单元逐一求反后送到内部 RAM 的 30H 37H 单元 程序结构采用循环结构 程序用 R0 作内部 RAM 指针 用 DPTR 作外部 RAM 指针 R7 作为计数初值 N 本实验 N 8 在 xp 窗口中启动 MCS51 应用软件 用 MCS 51 汇编软件对输入程序 进行汇编 产生目标代码文件 调试 程序输入 汇编和调试的具体步骤 1 xp 窗口中建一个名字是由 3 5 个英文字母组合的文件夹 2 在 MCS51 集成开发环境的主菜单中选择新建文件分支命令 M51 后 按实验系统复位 键 RST 后 实验系统部分显示 C 计算机屏幕显示为可编辑状态 既可进行源程序的输 入 3 程序输入结束 必须通过主菜单中文件分支的保存命令将其保存在 WIN98 窗口中新 建的文件夹中 注意 文件名也必须是由 3 5 个英文字母组合 后缀为 asm 4 点击主菜单中编译分支的汇编命令对输入的程序进行汇编 在窗口的左下方显示编 译结果 通过观察其内容可以了解程序的指令运用和输入的正确与否 当编译正确时 软 件 将自动将生成的目标文件下载到 EL 型实验箱的 RAM 中 可以进入下一个内容 调试的操作 否则必须将程序中的错误修改正确 再经过存盘和编译的过程 方可以做调 试的工作 当编辑结果有错误时 首先将 51 窗口最小化 在 WIN98 窗口中新建的文件 夹中找到 lst 打开查看编译结果 然后必须关闭该显示文件 再回到 51 窗口中做修改 存盘和编译工作工作 调试程序的步骤 1 点击主菜单调试中的启动调试命令 2 打开主菜单查看命令的寄存器窗口 内部数据存储器窗口和外部数据存储器窗口 通过它们可以查看程序的执行情况 注意 寄存器窗口的的内容是注意 寄存器窗口的的内容是 EL EL 型实验箱复位后的初态 内部数据存储器窗口和外部数据存储器型实验箱复位后的初态 内部数据存储器窗口和外部数据存储器 窗口地址和内容可修改 窗口地址和内容可修改 地址的改写方法 地址的改写方法 3 点击主菜单调试中的调试命令 对程序进行调试 参考程序 CSEG AT 0000H LJMP 4000H 转入程序 CSEG AT 4000H 内部 RAM 传送到外部 RAM START MOVR0 30H 指向低字节 MOVDPTR 4200H MOVR7 08H LOOP MOV A R0 MOVX DPTR A INCR0 INCDPTR DJNZR7 LOOP 外部 RAM 逐一求反传送到内部 RAM MOV R0 38H MOV DPTR 4200H MOV R7 08H LOOP1 MOVXA DPTR CPLA 求反 MOV R0 A INCR0 INCDPTR DJNZR7 LOOP1 HERE AJMPHERE 程序结束 END 5 通过 EL 型实验箱调试 1 用单步执行 记下执行指令后表格中相应寄存器的数值 执行指令 AR0 DPTR R7 MOV R7 08H 第一次循环 MOVX DPTR A 第二次循环 MOVX DPTR A 第三次循环 MOVX DPTR A 第四次循环 MOVX DPTR A 第五次循环 MOVX DPTR A 第六次循环 MOVX DPTR A 第七次循环 MOVX DPTR A 第八次循环 MOVX DPTR A 第一次循环 MOV A R0 第二次循环 MOV A R0 第三次循环 MOV A R0 第四次循环 MOV A R0 第五次循环 MOV A R0 第六次循环 MOV A R0 第七次循环 MOV A R0 第八次循环 MOV A R0 2 同时观察相关存储器的变化情况 记录结果 3 运用执行到光标行命令 实现连续执行的操作 四 实验报告四 实验报告 写出本程序调试过程和运行结果 独立编程实现内部 RAM 的 30H 37H 单元的数据传送到内部 RAM 的 38H 3FH 单元 中的功能并调试 运行 如何修改程序 可把外部 RAM 的 4100H 410FH 单元中的数据传送到外部 RAM 的 4110 411FH 单元 调试 运行程序 如何修改程序实现把外部 ROM 的 4100H 410FH 单元中的数据传送到内部 RAM 的 30H 3FH 单元中 实验二实验二 分支和循环程序的设计分支和循环程序的设计 一 实验目的一 实验目的 掌握 MCS 51 汇编语言程序设计 进一步熟悉掌握程序设计和运用 EL 型实验箱调试的方法 二 实验设备二 实验设备 EL 型实验箱 8051CPU 板 三 实验内容三 实验内容 编写三字节无符号加法程序 加数 693B68H 放在 52H 51H 50H 被加数 3AE409H 放在 42H 41H 40H 和 放在 42H 41H 40H 程序结构采用主程序和子程序结构 主程序用 R0 R1 作指针 R7 作为加法字节计数值 N 本实验 N 3 子程序完成一个 字节的加法 3 用文本编辑软件如 EDIT 编写源程序 用 MCS51 软件对程序进行汇编 产生目标 代码文件并调试程序 参考程序 主程序 源程序注释 CSEG AT 0000H LJMP 4000H 转入程序 CSEG AT 4000H MAIN MOV R0 40H 指向低字节 MOV R1 50H MOV R7 03H CLRC 清进位位 LOOP ACALLADDSUB 调用字节加法子程序 DJNZR7 LOOP HERE AJMPHERE 程序结束 子程序 CSEG AT 4100H ADDSUB MOV A R0 取被加数 ADDC A R1 A 和加数相加 MOV R0 A 保存和 INCR0 指针加 1 INCR1 RET 返回 END 用 MCS51 软件和 EL 型实验箱仿真机联机调试 用单步执行或断点连续执行 记下执行指令后表格中相应寄存器的数值 执行指令 AR0R1R7 CLR C 第一次调用后 ACALL ADDSUB DJNZ R7 LOOP 第二次调用后 ACALL ADDSUB DJNZ R7 LOOP 第三次调用后 ACALL ADDSUB DJNZ R7 LOOP 6 按上述方法题 编写程序并进行上机调试 四 四 实验报告实验报告 写出本程序调试过程和运行结果 本程序题意修改为无符号十进制数相加 应增加 DAA 指令 加在程序的何位置 修改后用 BCD 码 135790 和 246801 相加 调试过程并运行 3 独立编写和调试程序 要求在 新编微机原理及接口技术 教材 P196 页的 11 16 题中任选 3 题 实验三实验三 P1P1 口实验一口实验一 一 实验目的 一 实验目的 1 学习 P1 口的使用方法 2 学习延时子程序的编写和使用 二 实验设备 二 实验设备 EL 型实验箱 8051CPU 板 三 实验内容 三 实验内容 1 P1 口做输出口 接八只发光二极管 编写程序 使发光二极管循环点亮 2 P1 口做输入口 接八个按纽开关 以实验箱上 74LS273 做输出口 编写程序读取开 关状态 在发光二极管上显示出来 四 实验原理 四 实验原理 P1 口为准双向口 P1 口的每一位都能独立地定义为输入位或输出位 作为输入位时 必须向锁存器相应位写入 1 该位才能作为输入 8031 中所有口锁存器在复位时均置为 1 如果后来在口锁存器写过 0 在需要时应写入一个 1 使它成为一个输入 可以用第二个实验做一下实验 先按要求编好程序并调试成功后 可将 P1 口锁存器中 置 0 此时将 P1 做输入口 会有什么结果 再来看一下延时程序的实现 现常用的有两种方法 一是用定时器中断来实现 一是 用指令循环来实现 在系统时间允许的情况下可以采用后一种方法 本实验系统晶振为 6 144MHZ 则一个机器周期为 12 6 144us 即 1 0 512us 现要写 一个延时 0 1s 的程序 可大致写出如下 MOV R7 X 1 DEL1 MOV R6 200 2 DEL2 DJNZ R6 DEL2 3 DJNZ R7 DEL1 4 上面 MOV DJNZ 指令均需两个机器周期 所以每执行一条指令需要 1 0 256us 现求 出 X 值 1 0 256 X 1 0 256 200 1 0 256 1 0 256 0 1 10 指令 1 指令 2 指令 3 指令 4 所需时间 所需时间 所需时间 所需时间 X 0 1 10 1 0 256 1 0 256 200 1 0 256 1 0 256 127D 7FH 经计算得 X 127 代入上式可知实际延时时间约为 0 100215s 已经很精确了 五 五 实验原理图 实验原理图 P1 口输出实验 六 实验步骤 六 实验步骤 执行程序 1 时 P1 0 P1 7 接发光二极管 L1 L8 执行程序 2 时 P1 0 P1 7 接按纽开关 K1 K8 74LS273 的 SO0 SO7 接发光二极管 L1 L8 74LS273 的片选端 CS273 接 CS0 由程序所选择的入口地址而定 与 CSO CS7 相 应的片选地址请查看第一部分系统资源 以后不赘述 实验四实验四 简单简单 I OI O 口扩展实验口扩展实验 一 实验目的 一 实验目的 1 学习在单片机系统中扩展简单 I O 口的方法 2 学习数据输入 输出程序的编制方法 二 实验设备 二 实验设备 EL 型实验箱 8051CPU 板 三 实验原理 三 实验原理 MCS 51 外部扩展空间很大 但数据总线口和控制信号线的负载能力是有限的 若需要 扩展的芯片较多 则 MCS 51 总线口的负载过重 74LS244 是一个扩展输入口 同时也是一 个单向驱动器 以减轻总线口的负担 程序中加了一段延时程序 以减少总线口读写的频繁程度 延时时间约为 0 01 秒 不会影响显示的稳定 四 实验内容 四 实验内容 利用 74LS244 做为输入口 读取开关状态 并将此状态通过发光二极管显示出来 五 实验原理图 五 实验原理图 简单简单 I OI O 实验实验 2 2 六 实验步骤 六 实验步骤 1 74LS244 的 SI0 SI7 接开关的 K1 K8 片选信号 CS244 接 CS1 2 74LS273 的 SO0 SO7 接发光二极管的 L1 L8 片选信号 CS273 接 CS2 3 编程 全速执行 4 拨动开关 K1 K8 观察发光二极管状态的变化 实验五实验五 中断 定时器实验中断 定时器实验 循环彩灯实验 一 实验目的 一 实验目的 1 学习 8031 内部计数器的使用和编程方法 2 进一步掌握中断处理程序的编写方法 二 实验设备 二 实验设备 EL 型实验箱 8051CPU 板 三 实验原理 三 实验原理 1 定时常数的确定 定时器 计数器的输入脉冲周期与机器周期一样 为振荡频率的 1 12 本实验中时钟 频率为 6 0 MHZ 现要采用中断方法来实现 0 5 秒延时 要在定时器 1 中设置一个时间常 数 使其每隔 0 1 秒产生一次中断 CPU 响应中断后将 R0 中计数值减一 令 R0 05H 即可 实现 0 5 秒延时 时间常数可按下述方法确定 机器周期 12 晶振频率 12 6 10 2us 设计数初值为 X 则 2e 16 X 2 Error Error 0 1 可求得 X 15535 化为十六进制则 X 3CAFH 故初始值为 TH1 3CH TL1 AFH 2 初始化程序 包括定时器初始化和中断系统初始化 主要是对 IP IE TCON TMOD 的相应位进行 正确的设置 并将时间常数送入定时器中 由于只有定时器中断 IP 便不必设置 3 设计中断服务程序和主程序 中断服务程序除了要完成计数减一工作外 还要将时间常数重新送入定时器中 为下 一次中断做准备 主程序则用来控制发光二极管按要求顺序燃灭 四 实验题目四 实验题目 由 8031 内部定时器 1 按方式 1 工作 即作为 16 位定时器使用 每 0 1 秒钟 T1 溢出中 断一次 P1 口的 P1 0 P1 7 分别接发光二极管的 L1 L8 要求编写程序模拟一循环彩灯 彩灯变化花样可自行设计 例程给出的变化花样为 L1 L2 L8 依次点亮 L1 L2 L8 依次熄灭 L1 L2 L8 全亮 全灭 各时序间隔为 1 秒 让发光二极 管按以上规律循环显示下去 五 实验步骤 五 实验步骤 用导线将 P1 0 P1 7 连接接发光二极管 L1 L8 即可 ORG 0000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论