已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技微机原理与接口技术术 实实 验验 指指 导导 书书 版本版本 1 01 0 青岛科技大学计算机硬件教研室编青岛科技大学计算机硬件教研室编 二零零六年三月二零零六年三月 微机原理与接口技术 实验指导书 1 目目 录录 第一章嵌入式微机原理实验装置 2 1 1 系统构成及特点 2 1 2 32 位微机原理教学实验环境 4 1 3 32 位微机实验系统硬件电路简介 4 第二章 基本实验 8 2 1 调试工具 debug 的使用及基本指令的用法 8 2 2 简单程序的编制及汇编过程 12 2 3 宏汇编程序的基本语法及运算类程序编制 14 2 4 系统功能调用 16 2 5 中断处理程序的编制 17 2 6 微机简单 I O 接口的操作 20 2 7 可编程并行接口芯片 8255A 的使用 22 2 8 可编程计数 定时器 8254 的使用 26 2 9 可编程中断控制器 8259A 的操作 28 2 10 A D 转换实验 31 2 11 D A 转换实验 34 2 12 查询方式的串行通讯接口实验 36 2 13 中断方式下的串行通讯接口实验 37 2 14 PC 机显示及键盘接口实验 41 2 15 软接口实验 44 第三章 高级实验 45 3 1 128 64 点阵式 LCD 实验 45 3 2 步进电机驱动实验 48 3 3 ISD1420 语音实验 49 第四章综合设计 54 3 1 设计目的 54 3 2 设计要求 54 3 3 验收标准 54 3 4 设计题目 54 3 5 设计报告书写要求 56 微机原理与接口技术 实验指导书 2 第一章第一章 嵌入式微机原理实验装置嵌入式微机原理实验装置 QTH 2008PC 实验系统是为满足各大专院校进行 32 位微机原理与接口技术 课程的开 放式实验教学而精心设计的 其功能强大 为 32 位微机原理和 32 位微机接口技术提供了 实验平台 1 11 1 系统构成及特点系统构成及特点 1 1 1 系统构成 嵌入式微机原理实验装置采用了先进的嵌入式系统的设计思想 实验箱采用模块化结 构设计 将微机原理 接口技术及部分嵌入式实验功能集于一体 有利于学生综合能力及 创新能力的培养 该装置以工业级嵌入式 PC104 586 主板为核心 外扩 10 多种不同的实验模块 主要包 括 简单 I O 模块 8255 模块 8254 模块 8259 模块 小键盘模块 开关及 LED 模块 A DD A 模块 LCD 模块 串行通讯模块 电机模块 语音模块 开关量 I O 模块 12 位 AD 模块等 如图 1 1 1 所示 嵌入式 PC104 主板 GX1 300 586CPU 128M 内 存 256M DOM 电子盘 显示器键盘 鼠 标 总线地址译码 总线引线扩 展底板 8255 实验模 块 8254 实验模 块 LED 开关 模块 小键盘 7 段 数码管模块 LCD 模块A D D A 模块 步进电机 直流电机 模块 语音模块 其他可插拔的模块 开关量 I O 模块 12 位 A D D A 模块 CPLD 模 块等 网口 USB 接 口 串并口等 图 1 1 1 嵌入式微机原理实验装置总体结构示意图 微机原理与接口技术 实验指导书 3 32 位微机原理部分的实验平台由一个配置有 PC104 的单板机 SBC 上的编程 调试 软件构成 用户可以通过该平台进行 32 位计算机下的实验程序编制 运行及调试 32 位 微机接口应用部分的平台 用于支持基本接口应用学习 QTH 2008PC 系统为用户提供了 一个仿真 ISA 接口的平台 QTH 2008PC 系统还提供了大量开发实验 用户可以参考这些 实例快速掌握接口应用的实现方法 QTH 2008PC 提供下列实验内容 表表 1 1 QTH 2008PC 实验系统硬件内容实验系统硬件内容 基基 本本 单单 元元实实 验验 内内 容容 主控模块 1 NS Geode GX1 300 处理 器 1 ISA 32 位总线接口及系统电源输出接口 2 提供 16 位地址 数据总线 符合 ISA 接口的控制插口 常用 I O 实验模块 1 74LS244 与 74LS273 基本输入 输出实验 2 8259 中断实验 3 8254 定时器与计数器和分频器实验 4 8255 通用 I O 接口实验 打印机实验 5 16C550 通用串行口接口实验 RS232 实验 与 PC 机通讯实验 AD DA 32 位 DRAM 语音 综合实验模块 1 ADC0809 8 位 AD 实验 2 DAC0832 8 位 DA 实验 3 ISD1420 语音实验 4 32 位 DRAM 邮箱传送 DMA 传送实验 键盘 LED 显示模块 1 4 4 键盘与 4 位 LED 八段显示实验 2 16 16 LED 中文字幕移动实验 LCD 与 IC 卡实验模块 1 128 64 点阵式 LCD 显示实验 2 IC 卡实验 EDA 实验模块XC95108 配合 ADD ON 32 位总线接口的 CPLD 高级实验 控制与信号源模块 1 配有带驱动的 16 个 LED 发光二极管 2 8 路手动电平控制 3 2 路手动单脉冲输出 4 2 路振荡方波信号源 1HZ 32HZ 1024HZ 32 768KHZ 262 14KHZ 1 5MHZ 6MHZ 24MHZ 八组选择 5 1 路分频器 CLOCK 2 CLOCK 4 CLOCK 8 CLOCK 16 4 组选 择 系统电源 5V 3A 12V 0 5A 电机 风扇 喇叭 1 四相步进电机 2 直流电机 3 音频电路 4 光 磁控制风扇 5 单刀双掷继电器 6 164 串并转换电路 1 1 2 系统功能及特点 1 先进的 先进的 32 位微机原理实验教学平台位微机原理实验教学平台 系统提供了 586 微机上的调试操作软件 允许用户在 32 位微机实模式和保护模式下调 试并运行实验程序 为用户提供了一个窥探 80 x86 微处理器运行机制的窗口 使用户可以 微机原理与接口技术 实验指导书 4 迅速了解 32 位微机的工作机制和过程 并掌握其编程方法 为学习 32 位微机接口技术和 应用打下基础 2 完善的基本微机接口技术实验教学平台 完善的基本微机接口技术实验教学平台 系统以单板机为主机 通过 PC104 总线经过逻辑转换而形成 ISA 总线接口 供基本接 口实验使用 在接口实验单元中 系统提供了各种常用外围接口及其控制应用部件 从而 全面支持 微机接口技术 及 微机控制应用 的各项实验内容 3 对实验设计具有良好的开放性 增强学生综合设计能力 对实验设计具有良好的开放性 增强学生综合设计能力 实验系统所具有的硬软件结构对用户的实验设计具有良好的开放特性 系统总线及各 种外围接口器件都可由用户来操作连接 从而极大地提高了学生的实际和操作能力 避免 了单纯验证式实验方式的弊病 4 采用模块式组合方式 用户可以根据需要选择组件 采用模块式组合方式 用户可以根据需要选择组件 硬件实验采用模块组合方式 用户可以根据自己的需要任意选择组件 极大地提高了 实验的灵活性和实用性 连线采用排线与单线插孔相结合的连接方式 极大地提高了实验 效率和直观必 使学生可把注意力集中在硬软件设计和调试过程中 5 高性能稳压开关电源 高性能稳压开关电源 系统采用了具有抗短路 过流的高性能稳压开关电源 从而可以避免学生实验过程中 因接线失误而导致的芯片或整机损坏情况 1 21 2 3232 位微机原理教学实验环境位微机原理教学实验环境 QTH 2008PC 集成调试软件 为用户提供了完整的 32 位微机原理实验调试平台 该软 件不仅可以支持实模式下实验程序的调试 更允许用户在 32 位机保护模式下进行调试 运 行程序 该软件具有下列一些特征 全新的 WINDOWS 界面版本 支持 WIN98 操作系统 可在线修改 编辑 编译 连接 十分强大的智能书签功能 符合编程语言语法的彩色文本显示 用户可根据个人爱好修改特定和着色功能 先进的错误定位 可直接进入错误位置 无需查找错误信息 支持实模式下实验程序的调试 1 31 3 3232 位微机实验系统硬件电路简介位微机实验系统硬件电路简介 1 电位器输出电位器输出 0 5V 电压电压 2 配有带驱动的配有带驱动的 16 个个 LED 发光管电路 用于观察简单的实验结果发光管电路 用于观察简单的实验结果 微机原理与接口技术 实验指导书 5 图 1 3 1 电位器输出电压 图 1 3 2 16 个发光管电路 3 8 路手动电平控制电路 给实验提供简单的高低电平路手动电平控制电路 给实验提供简单的高低电平 图 1 3 3 8 路手动电平控制电路 4 2 路手动单脉冲输出电路 给实验提供单脉冲信号路手动单脉冲输出电路 给实验提供单脉冲信号 图 1 3 4 2 路手动单脉冲输出电路 5 1 路分频器电路 给实验提供不同频率的振荡信号 输入频率为路分频器电路 给实验提供不同频率的振荡信号 输入频率为 CLOK 则输出频率 则输出频率 为为 CLOK 2 CLOK 4 CLOK 8 CLOK 16 4 组选择 组选择 图 1 3 5 分频电路 6 2 路振荡方波信号源 路振荡方波信号源 1HZ 32HZ 1024HZ 32 768KHZ 262 14KHZ 1 5MHZ 6MHZ 24MHZ 八组八组 选择 选择 给实验提供不同频率的振荡信号给实验提供不同频率的振荡信号 微机原理与接口技术 实验指导书 6 图 1 3 6 振荡电路 7 地址译码电路 译码电路采用可编程逻辑器件 ATF1504AS 以及 2 4 译码器 74HC139 实现地址译 码 主要提供 IO 操作片选信号 IOY0 IOY1 IOY2 及 IOY3 以及存储芯片片选信号 MY0 和 MY1 图 1 3 7 地址译码电路 微机原理与接口技术 实验指导书 7 表 1 3 7 地址译码输出 名称片选类型地址范围 MY0存储器 MY1存储器 IOY0端口180H 18FH IOY1端口190H 19FH IOY2端口1A0H 1AFH IOY3端口1B0H 1BFH 微机原理与接口技术 实验指导书 8 第二章第二章 基本实验基本实验 2 1 调试工具调试工具 debug 的使用及基本指令的用法的使用及基本指令的用法 2 1 1 实验目的 1 掌握 debug 的使用方法 2 测试 8086 的各种基本指令的用法 2 1 2 实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 1 3 实验内容及说明 1 debug 的使用 1 debug 的功能简介 用于调试汇编语言程序 能使用户接触到计算机内部 允许用户直 接观察和修改 CPU 的寄存器 能观察 修改内存单元 允许直接输入机器指令并单步执行 能反汇编程序 可以说 debug 是观察和了解计算机内部运行情况的有利助手 2 debug 的进入和退出 c masm debug 这是 debug 的提示符 在此可以输入 debug 的命令 q 退出 debug 3 观察及修改 CPU 内部的各寄存器 r 观察各寄存器的内容 AX 0000 BX 0000 CX 0000 DX 0000 SP CFDE BP 0000 SI 0000 DI 0000 DS 10DD ES 10DD SS 10DD CS 10DD IP 0100 NV UP DI PL NZ NA PO NC 10DD 0100 7C0A JL 010C 标志寄存器的各个标志位 当前 CS IP 所指向的指令 标志寄存器各标志位的含义 溢出标志 OF OV NV 溢出 不溢出 方向标志 DF DN UP 减 增 中断标志 IF EI DI 开中断 关中断 符号标志 SF NG PL 负 正 零标志 ZF ZR NZ 零 非零 辅助进位 AF AC NA 有 无 奇偶标志 PF PE PO 偶 奇 进位标志 CF CY NC 有 无 r ax AX 0000 1234 将 AX 的内容改为 1234H rf 微机原理与接口技术 实验指导书 9 NV UP DI PL NZ NA PO NC ov dn 将标志寄存器的 OF 置为 OV DF 置为 DN 4 观察和修改内存单元的内容 d 2000 查看从地址 DS 2000H 开始的 128 个单元的内容 10DD 2000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10DD 2010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10DD 2020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10DD 2030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10DD 2040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10DD 2050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10DD 2060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10DD 2070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e 2000 修改从地址 DS 2000H 开始内存单元的内容 10DD 2000 00 01 00 02 键入的内容 中间按空格键 5 输入程序 a 100 从 CS 100H 处开始输入程序 这是默认的程序开始的地址 10DD 0100 mov ax 1234 10DD 0103 mov 2002 ax 10DD 0106 输完程序直接按回车即可 a 103 修改 103 处的指令 10DD 0103 mov 2000 ax 10DD 0106 6 单步执行程序 t 100 执行 CS 100H 处的一条指令 自动显示各寄存器内容及下一条指令 AX 1234 BX 0000 CX 0000 DX 0000 SP CFDE BP 0000 SI 0000 DI 0000 DS 10DD ES 10DD SS 10DD CS 10DD IP 0103 OV DN DI PL NZ NA PO NC 10DD 0103 A30020 MOV 2000 AX DS 2000 0201 t 继续执行下一条指令 7 反汇编程序 u 100 从 CS 100H 处开始反汇编 10DD 0100 B83412 MOV AX 1234 10DD 0103 A30020 MOV 2000 AX 刚才输入的两条指令 10DD 0106 36 SS 乱码 10DD 0107 A22C41 MOV 412C AL 10DD 010A EB22 JMP 012E 10DD 010C 83F906 CMP CX 06 10DD 010F 750D JNZ 011E 10DD 0111 807C0A2C CMP BYTE PTR SI 0A 2C 10DD 0115 7505 JNZ 011C 微机原理与接口技术 实验指导书 10 10DD 0117 FF36A22C PUSH 2CA2 10DD 011B 41 INC CX 10DD 011C EB10 JMP 012E 10DD 011E 83F909 CMP CX 09 8 执行一段程序 g 100 106 从 CS 100H 开始 执行到 CS 106 处停止 AX 1234 BX 0000 CX 0000 DX 0000 SP CFDE BP 0000 SI 0000 DI 0000 DS 10DD ES 10DD SS 10DD CS 10DD IP 0106 OV DN DI PL NZ NA PO NC 10DD 0106 36 SS 10DD 0107 A22C41 MOV 412C AL SS 412C 00 2 基本指令的用法 在 debug 中输入各条基本指令并执行 观察并记录指令的执行情况 2 1 4 实验问题探讨实验问题探讨 1 如何利用 Debug 去观察中断向量表 2 机器复位后执行的第一条指令在哪儿 是什么指令 3 在 debug 中输入 16 进制数时 需要键入 H 吗 附 附 DebugDebug 常用命令简介常用命令简介 1 汇编命令汇编命令 A A 是一条逐行汇编命令 主要用于小段程序的汇编及修改目标程序 使用逐行汇编命 令汇编程序时 一般不允许使用标号和伪指令 汇编格式如下 A 2 反汇编命令反汇编命令 U U 命令可以对二进制代码作反汇编 常用于分析和调试目标程序 格式如下 U 3 显示内存命令显示内存命令 D 这条命令按照十六进制的形式以及对应的 ASCII 字符形式显示内存内容 格式如下 D 4 修改内存命令修改内存命令 E 用来修改内存 格式为 E 其中字节串为一系列用空格隔开的十六 进制字节 或者是用单引号括起来的字符串 5 显示和修改寄存器命令显示和修改寄存器命令 R 格式为 R 当 R 命令后面不带参数时 显示各寄存器的内容 否则修改 指定寄存器的内容 在显示寄存器内容时 首先显示 13 个 16 位寄存器的内容 随后是标 志寄存器的内容 最后一行是下一条要执行的指令地址及指令内容 要修改某寄存器 就 在 R 后面打入寄存器名 DEBUG 显示出这个寄存器原来的值 然后打入新值即可 6 运行命令运行命令 G G 命令用来启动运行一个程序或程序的一段 格式如下 G 其 中断点最多允许设置十个 如果 G 命令不带参数 则从头运行装入的程序 运行后仍返回 微机原理与接口技术 实验指导书 11 DEBUG 如 G 中有断点参数 则运行到断点时暂停并显示出各寄存器的状态 7 跟踪命令跟踪命令 T T 命令用来逐条跟踪程序 格式如下 T 每条指令执行后都 将显示各寄存器内容 8 移动内存命令移动内存命令 M 格式如下 M 9 填充内存命令填充内存命令 F 格式如下 F 10 比较命令 比较命令 C 比较命令用于比较两块内存区域的内容 若不相同 则显示出两者的地址和内容 格 式如下 C 11 查找命令 查找命令 S 查找命令在指定的内存范围内查找一个字节串 若找到 则显示出它们的地址 格式 如下 S 12 指定文件名命令 指定文件名命令 N 用来设置文件名以供读写 格式如下 N 13 读盘命令 读盘命令 L 格式如下 L 其中有关磁盘的参数只有在 按物理地址读盘时才使用 盘号 0 表示 A 盘 1 表示 B 盘 扇区数为读入的扇区总数 在 读文件时 L 命令常与 N 命令结合使用 14 写盘命令 写盘命令 W 格式如下 L 使用 W 写一个文件时 要 先用 N 命令给予文件名 再用 R 命令把文件的长度送到寄存器 BX 和 CX 中 15 十六进制运算命令 十六进制运算命令 H H 命令用来计算两个十六进制数的和与差 如 H 12 34 0046 FFED 0046 为 12 与 34 之和 FFDE 为差 16 输入命令 输入命令 I I 命令用来显示从某端口取得的输入数据字节 命令格式如下 I 17 输出命令 输出命令 O O 命令把指定字节送到指定的端口去 命令格式如下 O 微机原理与接口技术 实验指导书 12 2 2 简单程序的编制及汇编过程简单程序的编制及汇编过程 2 2 1 实验目的 1 掌握宏汇编程序 masm 的用法 2 掌握连接程序 link 的用法 3 能编制基本的宏汇编程序 能实现分支结构 循环结构的程序编制 4 熟悉汇编集成开发环境 QTH 可选 2 2 2 实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 2 3 实验内容及说明 1 宏汇编程序基本结构 STA SEGMENT STACK 定义堆栈段为 200 个字节 S1 DW 100 DUP STA ENDS DATA SEGMENT 定义数据段 i DB 12H j DB 34H s DB DATA ENDS CODE SEGMENT 定义代码段 ASSUME CS CODE SS STA DS DATA ORG 100H 从 CS 100H 处开始输入程序 START PROC FAR PUSH DS XOR AX AX PUSH AX 这三条指令为返回 DOS 做准备 MOV AX DATA 给 DS 赋初值 MOV DS AX 从这儿开始输入你的程序 RET CODE ENDS END START 2 masm 及 link 的作用 Masm 是将宏汇编程序翻译成目标代码的工具软件 而 Link 则是将目标代码文件及库 文件等连接生成可执行程序的工具 微机原理与接口技术 实验指导书 13 2 2 4 实验步骤实验步骤 1 使用 EDIT 或 WINDOWS 下的记事本或写字板输入你的程序并保存到 c masm 目录下 命名为 t asm 后缀必须是 asm 2 汇编过程 c masm masm t 如果没有错误 将生成 t obj 文件 3 连接过程 c masm link t 如果没有连接错误 将生成 t exe 文件 4 执行或调试程序 c masm t 执行该程序 c masm debug t exe 将该程序装入 debug 进行调试 5 利用汇编语言集成开发环境 QTH 建立项目文件 并将汇编语言程序模块文件加入项目 进行编译 连接及调试 可选 2 2 5 实验问题探讨实验问题探讨 1 为什么程序的起始位置一般放在 CS 0100H 位置 而不是从 CS 0000H 处开始 2 如果程序中用到了 386 的指令 masm 如何使用 微机原理与接口技术 实验指导书 14 2 3 宏汇编程序的基本语法及运算类程序编制宏汇编程序的基本语法及运算类程序编制 2 3 1 实验目的实验目的 1 熟悉常用伪指令的作用 2 掌握运算类程序设计的基本方法 2 3 2 实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 3 3 实验内容及说明 1 编制包含多种数据定义伪指令的完整程序 经汇编 连接后 装入 DEBUG 观 察数据的存储情况 从而掌握常用伪指令的作用 举例 i DB 12H AB w DW 12H AB NUM I a DD 12H 以上数据在内存中如何存放 PUSH DS XOR AX AX PUSH AX MOV AX DATA MOV DS AX MOV AL I 翻译成机器指令是什么格式 MOV AX w MOV BL NUM 在 debug 中执行完 MOV DS AX 指令后 为什么 使用 d 0 观察数据段的存储单元的数据存储情况 2 编制一段完整程序 实现多字节加法运算 在 DEBUG 内观察结果 2 2 4 实验步骤实验步骤 方法一 非集成开发环境 1 使用 EDIT 或 WINDOWS 下的记事本或写字板输入你的程序并保存到 c masm 目录 下 命名为 t3 asm 后缀必须是 asm 微机原理与接口技术 实验指导书 15 2 汇编过程 c masm masm t3 如果没有错误 将生成 t3 obj 文件 3 连接过程 c masm link t3 如果没有连接错误 将生成 t3 exe 文件 4 调试程序 c masm debug t3 exe 将该程序装入 debug 进行调试 方法二 使用集成开发环境 建立项目文件 输入源程序 编译 连接 调试 2 3 5 实验问题探讨实验问题探讨 1 伪指令中的表达式是在什么阶段进行运算得出结果的 2 指令 MOV BYTE PTR BX 2 NUM 2 中的两个 作用有什么区别 NUM 是常数 微机原理与接口技术 实验指导书 16 2 4 系统功能调用系统功能调用 2 4 1 实验目的实验目的 1 初步学会 DOS 及 BIOS 功能调用技术 2 学习控制台 I O 程序的设计 2 4 2 实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 4 3 实验内容及说明 1 系统功能调用步骤 设置入口参数 INT 中断类型码 使用出口参数 如实现从键盘输入单字符 MOV AH 1 INT 21H 结果在 AL 中 2 编制一段完整程序 实现从键盘输入一个两位的十六进制数 按回车后 以二进制 数形式显示出来 2 4 4 实验步骤实验步骤 提示 在 debug 中调试系统功能调用时 如果使用 t 命令进行单步执行 当遇到 INT 21H 时 会跟踪进入系统程序 因此 应该使用 g 命令运行到 INT 21H 的下一条指令处 这样就不会跟踪进入系统程 序而无法执行完 2 4 5 实验问题实验问题 1 如果没有系统功能调用 如何实现键盘的输入 2 利用 9 号功能调用显示字符串时 如果字符串没有 结束符 会出现什么现象 3 利用 2 号功能调用显示单字符 如果显示的字符是二进制数 7 会出现什么现象 微机原理与接口技术 实验指导书 17 2 5 中断处理程序的编制中断处理程序的编制 2 5 1 实验目的实验目的 掌握中断处理程序的结构 学会中断处理程序的设计 2 5 2 实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 5 3 实验内容及说明 1 编写针对 1C 号中断的处理程序 实现每 1 秒显示一个累加的秒数 2 提示 DOS 下的 1C 号中断是由微机内的定时器 8253 定时触发的 可供用户使 用的中断 每秒产生 18 2 次中断 大约每 55ms 产生一次中断 3 说明 在中断处理程序中 禁止使用 DOS 系统功能调用 因为 DOS 系统功能调 用是不可重入的 可以使用 BIOS 功能调用 因为 BIOS 功能调用是可重入的 当中断频繁发生 引起中断嵌套时 放在中断处理程序中的不可重入的 DOS 系 统功能调用会引起系统崩溃 因此下面的程序中将信息显示的功能放在主程序中 而不是放在中断处理程序中 4 编程提示 STA SEGMENT STACK S DW 100 DUP STA ENDS DATA SEGMENT Old Int Off DW Old Int Seg DW 保存旧中断向量 Flag DB 1 Count DB 0 MSG DB Hello 0DH 0AH Sec DW 0 DATA ENDS CODE SEGMENT ASSUME CS CODE SS STA DS DATA ORG 100H MAIN PROC FAR PUSH DS XOR AX AX PUSH AX MOV AX DATA MOV DS AX 微机原理与接口技术 实验指导书 18 MOV AL 1CH 获取1C中断向量 MOV AH 35H INT 21H MOV Old Int Seg ES MOV Old Int Off BX CLI 设置新的中断向量 MOV AL 1CH MOV AH 25H MOV DX SEG New Int MOV DS DX MOV DX OFFSET New Int INT 21H MOV AX DATA MOV DS AX STI L1 CMP Flag 0 主循环 检查标志 JZ L1 MOV Flag 0 LEA DX MSG MOV AH 9 INT 21H 显示提示信息 INC Sec CMP Sec 10 JZ L3 10秒后自动退出 JMP L1 L3 MOV AX Old Int Seg 程序退出之前 恢复原中断向量 MOV DS AX MOV DX Old Int Off MOV AL 1CH MOV AH 25H INT 21H RET MAIN ENDP New Int PROC FAR 中断处理程序 PUSH DS MOV AX DATA MOV DS AX MOV AL Count INC AL CMP AL 18 大约1秒 JC L2 微机原理与接口技术 实验指导书 19 MOV Flag 1 MOV AL 0 L2 MOV Count AL MOV AL 20H 告诉8259 中断处理结束 OUT 20H AL POP DS IRET New Int ENDP CODE ENDS END MAIN 2 5 4 实验步骤实验步骤 提示 中断处理程序不适合利用 debug 进行跟踪调试 因为在跟踪过程中 中断仍然 会不停地产生 中断处理程序会不断得到运行 当然 利用 debug 设置断点的方式仍然可以让中断处理程序停止 可暂时观察中间运 行结果 2 4 5 实验问题实验问题 1 修改中断处理程序中的常数 18 增大或减小它 观察程序的运行有何变换 为什 么 微机原理与接口技术 实验指导书 20 2 6 微机简单微机简单 I O 接口的操作接口的操作 2 6 1 实验目的 掌握接口操作的基本方法 掌握数据输入输出程序编制的方法 2 6 2 实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 6 3 实验说明 1 74LS244 是一种三态输出的 8 总线缓冲驱动器 无锁存功能 当 G 为低电平时 Ai 信号传送到 Yi 当为高电平时 Yi 处于禁止高阻状态 2 74LS273 是一种 8D 触发器 当 CLR 为高电平且 CLK 端电平正跳变时 D0 D7 端数据被锁存到 8D 触发器中 3 IOY0 对应的端口地址范围是 180 18FH IOY1 对应的端口地址范围是 190 19FH IOY2 对应的端口地址范围是 1A0 1AFH IOY3 对应的端口地址范围是 1B0 1BFH 2 6 4 实验原理图 图 2 6 1 74LS244 与 74LS273 扩展 I O 口原理图 2 6 5 实验内容 1 利用 74LS244 作为输入口 读取开关状态 并将此状态通过 74LS273 驱动发光二 极管显示出来 2 控制 8 个 LED 实现流水灯的功能 微机原理与接口技术 实验指导书 21 2 6 6 实验步骤实验步骤 图 2 6 2 扩展 I O 口连线图 1 实验连线 确保电源关闭 244 的 CS PC104 总线接口模块的 IOY0 Y7 Y0 开关 K01 K08 273 的 CS PC104 总线接口模块的 IOY1 Q7 Q0 发光二极管 L1 L8 该模块的 WR RD 分别连到 PC104 总线接口模块的 IOWR IORD 该模块的数据 AD0 AD7 连到 PC104 总线接口模块的数据 D0 D7 2 连线检查无误后 开机上电 3 利用 debug 中的 i 或 o 命令 测试一下端口是否好用 4 编制程序 略 5 拨动开关 观察发光二极管的变化 2 6 7 实验问题 实验问题 1 如果 IOWR 没有连接或线断了 会出现什么现象 2 如果指示灯不亮 你如何排查解决此问题 3 如果 74LS244 和 74LS273 使用同一个端口地址 能行么 为什么 实验一下 4 假定 244 或 273 的 CS 接 IOY0 用端口地址 181H 或 182H 去访问 244 或 273 可 以么 为什么 微机原理与接口技术 实验指导书 22 2 7 可编程并行接口芯片可编程并行接口芯片 8255A 的使用的使用 2 7 1 实验目的 了解可编程并行接口芯片 8255 的内部结构 工作方式 初始化编程及应用 2 7 2 实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 7 3 实验说明 1 8255A 的内部结构 的内部结构 1 数据总线缓冲器 这是一个双向三态的 8 位数据缓冲器 它是 8255A 与微机系 统数据总线的接口 输入输的数据 CPU 输出的控制字以及 CPU 输入的状态信息都是通 过这个缓冲器传送的 2 三个端口 A B 和 C A 端口包含一个 8 位数据输出锁存器和缓冲器 一个 8 位 数据输入锁存器 B 端口包含一个 8 位数据输入 输出锁存器和缓冲器 一个 8 位数据输入 缓冲器 C 端口包含一个 8 位数据输出锁存器及缓冲器 一个 8 位数据输入缓冲器 输入 没有锁存器 3 A 组和 B 组控制电路 这是两组根据 CPU 输出的控制字控制 8255 工作方式的 电路 它们对于 CPU 而言 共用一个端口地址相同的控制字寄存器 接收 CPU 输出的一 字节方式控制字或对 C 口按位复位字命令 方式控制字的高 5 位决定 A 组工作方式 低 3 位决定 B 组的工作方式 对 C 口按位复位命令字可对 C 口的每一位实现置位或复位 A 组 控制电路控制 A 口和 C 口上半部 B 组控制电路控制 B 口和 C 口下半部 4 读写控制逻辑 用来控制把 CPU 输出的控制字或数据送至相应端口 也由它来 控制把状态信息或输入数据通过相应的端口送到 CPU 2 8255A 的工作方式的工作方式 方式 0 基本输入输出方式 方式 1 选通输入输出方式 方式 2 双向选通输入输出 方式 3 8255A 的状态字 的状态字 微机原理与接口技术 实验指导书 23 图 2 7 1 8255 方式 1 的状态字 图 2 7 2 8255 方式 2 的状态字 4 8255A 的控制字的控制字 表 2 7 1 8255A 方式控制字 1D6D5D4D3D2D1D0 特 征 位 A 组方式 00 方式 01 方式 1 1X 方式 2 A 口 0 输出 1 输入 C 口高 4 位 0 输出 1 输入 B 组方式 0 方式 0 1 方式 1 B 口 0 输出 1 输入 C 口低 4 位 0 输出 1 输入 表 2 7 2C 口按位置位 复位控制字 0D6D5D4D3D2D1D0 特征位不用 位选择 000 C 口 0 位 111 C 口 7 位 0 复位 1 置位 2 7 4 实验原理图实验原理图 图 2 7 3 可编程并行接口 8255 电路 2 7 5 实验内容 以下实验内容 以下 3 个实验任选一个 个实验任选一个 1 流水灯实验 利用 8255 的 A 口 B 口循环点亮 16 只发光二极管 2 交通灯实验 利用 8255 的 A 口模拟交通信号灯 微机原理与接口技术 实验指导书 24 3 I O 输入输出实验 利用 8255 的 A 口读取开关状态 8255 的 B 口把状态送发光 二极管显示 2 6 7 实验步骤实验步骤 1 流水灯实验 流水灯实验 1 实验连线 该模块的 WR RD 分别连到 PC104 总线接口模块的 IOWR IORD 该模块的数据 AD0 AD7 地址线 A0 A7 分别连到 PC104 总线接口模块的数据 D0 D7 地址线 A0 A7 8255 模块选通线 CE 连到 PC104 总线接口模块的 IOY0 8255 的 PA0 PA7 连到发光二极管的 L1 L8 8255 的 PB0 PB7 连到发光二极管的 L9 L16 2 编写程序 实现流水灯功能 2 交通灯实验 交通灯实验 1 实验连线 图 2 7 4 流水灯实验 图 2 7 5 交通灯实验 微机原理与接口技术 实验指导书 25 该模块的 WR RD 分别连到 PC104 总线接口模块的 IOWR IORD 选通线 CE 连到 IOY0 该模块的数据 AD0 AD7 地址线 A0 A7 分别连到 PC104 总线接口模块的数据 D0 D7 地址线 A0 A7 8255 的 PA0 L7 PA1 L6 PA2 L5 PA3 L3 PA4 L2 PA5 L1 2 编制程序 3 I O 输入输出实验 输入输出实验 1 实验连线 该模块的 WR RD 分别连到 PC104 总线接口 模块的 IOWR IORD 该模块的数据 AD0 AD7 地址线 A0 A7 分别连到 PC104 总线接口模块的 数据 D0 D7 地址线 A0 A7 8255 模块选通线 CE 连到 PC104 总线接口模块 的 IOY0 8255 的 PA0 PA7 接开关 K0 K7 8255 的 PB0 PB7 接发光二极管 L1 L8 2 编制程序 2 7 7 实验问题 实验问题 使用 8255 读取开关状态 控制 LED 与使用 244 或 273 有什么不同 图 2 7 6 I O 输入输出实验 微机原理与接口技术 实验指导书 26 2 8 可编程计数可编程计数 定时器定时器 8254 的使用的使用 2 8 1 实验目的实验目的 1 掌握 8254 定时 计数器的编程方法 2 学习 8254 的几种工作方式的使用 2 8 2 实验设备实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 8 3 实验说明实验说明 8254 是一种可编程的定时器 计数器芯片 它具有 3 个独立的 16 位计数器通道 每个 计数器都可以按照二进制或二 十进制计数 每个计数器都有 6 种工作方式 计数频率可高 达 24MHz 芯片所有的输入输出都与 TTL 兼容 计数器都有 6 种工作方式 方式 0 计数过程结束时中断 方式 1 可编程的单拍脉冲 方式 2 频率发生器 方式 3 方波发生器 方式 4 软件触发 方式 5 硬件触发 6 种 工作方式主要有 5 点不同 一是启动计数器的触发方式和时刻不同 二是计数过程中门控 信号 GATE 对计数操作的影响不同 三是 OUT 输出的波形不同 四是在计数过程中重新 写入计数初值对计数过程的影响不同 五是计数过程结束 减法计数器是否恢复计数初值 并自动重复计数过程的不同 2 8 4 实验内容 将 32Hz 的晶振频率作为 8254 的时钟输入 利用定时器 8254 产生 1Hz 的方波 发光二极管 不停闪烁 用示波器可看到输出的方波 2 8 5 实验原理图 2 8 6 实验步骤 1 实验连线 信号源模块短路 32 0Hz CLKn n 为 1 或 2 连 到 8254 模块的 CLK0 8254 模块选通线 CS 连到 PC104 总线接口模块的 IOY0 8254 模块 GATE0 接电源 5V OUT0 接发光二极管 L1 该模块的 WR RD 分别连到 PC104 总线接口模块的 IOWR IORD 图 2 8 1 可编程定时器 计数器 8254 原理图 微机原理与接口技术 实验指导书 27 该模块的数据 AD0 AD7 地址线 A0 A7 分别连到 PC104 总线接口模块的数据 D0 D7 地址线 A0 A7 2 编写 8254 的初始化程序 3 观察发光二极管 用示波器可看到输出的方波 图 2 8 2 8254 定时器 计数器实验 2 8 7实验问题实验问题 如果计数初值为 0 会有什么现象 为什么 微机原理与接口技术 实验指导书 28 2 9 可编程中断控制器可编程中断控制器 8259A 的操作的操作 2 9 1 实验目的实验目的 1 学习 8259 中断控制器的工作原理 2 学习 8259 可编程控制器的应用编程 3 掌握使用计算机内 8259 的方法 4 掌握修改中断向量的方法 2 9 2 实验设备 QTH 2008PC 实验设备一台 键盘 鼠标 显示器各一件 2 9 3 实验内容 编写一按键中断处理程序 计数按键中断次数 当按键中断产生 10 次后 显示按键次 数并结束应用 2 9 4 实验原理实验原理 中断控制是微机系统的主要管理方式之一 也是处理器与外设之间通信的最有效方法 之一 它可以减少系统为反复查询外部设备状态而消耗的时间 提高了系统的整体运行效 率 在现代 32 位微机系统中 系统的中断有两类 软件中断和硬件中断 硬件中断可以实 现微机系统对外设的管理 由 8259 中断控制器来完成 微机原理与接口技术 实验指导书 29 图 2 9 1 8259 的 OCW 命令字格式 1 PC 微机系统中微机系统中 8259A 的应用的应用 在现代 PC 微机系统中 系统中包含了两片 8259A 中断控制器 经级连可以管理 16 级 硬件中断 其中部分中断源已经被系统硬件占用 具体使用情况如表 6 1 2 示 两片 8259A 的端口地址为 主片在 020H 03FH 实际使用 020H 和 021H 两个端口 从片在 0A0H 0BFH 范围 实际使用 0A0H 和 0A1H 两个端口 2 中断向量表 中断向量表 80 x86 微机系统中能处理 256 个中断向量 其类型号为 00H 0FFH 但其的中断处理方 式及过程应根据 CPU 的工作模式加以区分 在保护模式下 系统中有一张中断描述符表 记录所有中断 异常处理程序的入口 在实模式下微机系统采用矢量中断 无论是内部中断 还是外部中断均对应一个相应的中断向量码 每个中断向量占用 4 字节 分别存放中断服 务程序的 IP 和 CS 存放 256 个中断矢量需要占用 1K 字节的空间 该区域称为中断向量 表 被放置于内存从 0 开始的 1K 字节区域中 图 6 1 3 显示了中断向量表的结构 表 6 1 4 中显示了 PC 微机在实模式下所有中断的使用情况及中断功能 对于微机系统没有使用的 中断向量 可以作为软中断被用户使用 使用前 只需要将软中断处理程序入口填入对应 中断矢量即可 而微机系统已经占用的中断向量可以根据需要修改其中断向量 填写或修 改中断矢量的方法为 MOV 中断矢量 4 IP 地址 MOV 中断矢量 4 2 CS 地址 微机原理与接口技术 实验指导书 30 表表 2 9 1 PC 微机系统中的硬件中断微机系统中的硬件中断 中中 断断 源源功功 能能中断向量号中断向量号中中 断断 源源功功 能能中断向量号中断向量号 主 8259A IRQ0定时中断08H主 8259A IRQ8实时钟70H 主 8259A IRQ1键盘中断09H主 8259A IRQ9保留71H 主 8259A IRQ2接从 8259A0AH主 8259A IRQ10保留72H 主 8259A IRQ3COM20BH主 8259A IRQ11保留73H 主 8259A IRQ4COM10CH主 8259A IRQ12保留74H 主 8259A IRQ5硬盘 并口 2 中断0DH主 8259A IRQ13写处理中断75H 主 8259A IRQ6软盘0EH主 8259A IRQ14硬盘控制器76H 主 8259A IRQ7打印机0FH主 8259A IRQ15保留77H 2 9 5 实验步骤及说明 1 系统 8259 中断 实验连线 信号源模块的单脉冲开关 1H 或 1L 与 PC104 总线模块的 IRQ4 或 IRQ4 相连接 编写相应的程序 记录中断次数并显示 当计满 10 次 程序退出 2 扩展 8259 中断 实验连线 8259 模块的数据线 AD0 AD7 地址线 A0 A7 分别连接到 PC104 模块的数据线 D0 D7 地址线 A0 A7 8259 模块的 WR RD 分别连接到 PC104 模块的 IOWR IORD 8259 模块的 CS INTA INT 分别连接到 PC104 模块的 IOY0 IOY1 IRQ6 8259 模块的 I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年西北农林科技大学人才引进备考笔试试题及答案解析
- 2026年物流环节破损率评估协议
- 2026年退货接收管理合作协议
- 2026年数字货币交易服务合同
- 2025福建福州工业园区开发集团有限公司招聘4人笔试备考试题及答案解析
- 2026年网络服务合同协议
- 2026年家政服务配送上门合同
- 2025四川省人民政府科学城办事处所属事业单位考核招聘教师11人备考笔试试题及答案解析
- 2026年现场稽查保密协议书
- 2025国家电投集团中国电力招聘(26人)备考笔试题库及答案解析
- DB11T 1230-2015 射击场设置与安全要求
- 国开2023秋《幼儿园教育质量评价》形考任务123 大作业参考答案
- 内外部环境因素识别分析与监视评审表
- 移动应用程序权限管理与加固项目需求分析
- 中华人民共和国简史学习通超星课后章节答案期末考试题库2023年
- 建筑施工事故案例PPT
- 农产物料干燥技术物料干燥与贮藏
- 核对稿300单元分析响应
- GB/T 5097-2020无损检测渗透检测和磁粉检测观察条件
- GB/T 24689.2-2017植物保护机械杀虫灯
- GB 32166.1-2016个体防护装备眼面部防护职业眼面部防护具第1部分:要求
评论
0/150
提交评论