《微机原理及应用课程学习总结与例程分析.pdf》由会员分享,可在线阅读,更多相关《微机原理及应用课程学习总结与例程分析.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 -1-目录 学习总结 第一章 计算机基础知识 1 第二章 8086 微处理器 2 第三章 8086 的指令系统 3 第四章 汇编语言程序设计 4 第五章 输入输出接口 5 例程分析 例一:简述 CPU 执行一条指令的过程 6 例二:已知各寄存器和存储单元的状态如图所示,请阅读下列程序段,并将中间结果填入相应指令右边的空格。7 例三:编写一程序,使得计算机屏幕上每隔五秒显示一行字符Good morning,按任意键结束 7 K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 -1-学习总结 第一章 计算机基础知识 本章我们主要学到了
2、不同进位计数制计数方法、不同进位制数之间相互转换的方法、数和字符在计算机中的表示方法、简单的算术运算以及计算机系统的组成。下边将本章的知识点作了归类,图为本章的知识要点图与计算机系统组成的示意图。本章知识要点 数制 二进制数(B)八进制数(Q)十六进制数(H)十进制数(D)B)码制 带符号数编码 奇偶校验码 字符编码 原码 反码 补码 奇校验码 偶校验码 ASCII 码 BCD 码 数字编码规则 字母编码规则 压缩 BCD 码 非压缩 BCD 码 计算机系统组成 计算机系统组成 硬件 主机 外部设备 中央处理器(CPU)半导体存储器 控制器 运算器 ROM RAM 输入设备 输出设备 软件 系
3、统软件 应用软件 操作系统:如 DOS、Windows、Unix、Linux 等 其他系统软件 用户应用软件 其他应用软件 各种计算机语言处理软件:如汇编、解释、编译等软件 K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 -2-第二章 8086 微处理器 本章我们主要学习从应用角度上理解 8086CPU 的内部组成、编程结构、引脚信号功能、最小工作模式的系统配置、8086 的存储器组织、基本时序等概念。下面这一章知识的结构图。本章知识要点 Intel 8086 微处理器 时钟发生器(8284)地址锁存器(74LS373、8282)存储器组织 存储器逻辑分段 存储器分体 三总线(DB、
4、AB、CB)时序 时钟周期(T 状态)基本读总线周期 系统配置(最小模式)8086CPU 数据收发器(8286、74LS245)逻辑地址 物理地址 奇地址存储体(BHE)偶地址存储体(A0)总线周期 指令周期 基本写总线周期 复位操作时序 中断响应时序 寄存器的复位值 内部组成 执行单元 EU(AX、BX、CX、DX、SP、BP、SI、DI、标志寄存器)总线接口单元 BIU(CS、DS、SS、ES、IP)地址/数据 控制 负责地址 BHE/S7、ALE 引脚功能(最小模式)地址/状态 数据允许和收发 DEN、DT/R 负责读写 RD、WR、M/IO 负责中断 INTR、NMI、INTA 负责总
5、线 HOLD、HLDA 协调 CLK、READY、TEST 模式选择 MN/MX=5V K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 -3-第三章 8086 的指令系统 本章学习的是 8086CPU 指令的寻址方式,每条指令的格式、功能及标志的影响;同时还涉及到存储器单元的物理地址计算、标志位填写和堆栈操作。下图为本章知识结构图。本章知识要点 操作数寻址方式 立即数寻址、寄存器寻址、存储器寻址.堆栈结构(后进先出)堆栈指针(SP)逻辑地址、物理地址 寻址方式 指令格式 堆栈操作(入栈、出栈)立即数寻址 指令功能 对标志位影响 填写标志位 寄存器寻址 存储器寻址 串操作寻址 I/O
6、端口寻址 隐含寻址 直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址变址寻址 指令功能 数据传送类(通用数据传送指令、堆栈指令、交换指令、I/O 传送指令、换码指令、有效地址传送指令、算术运算类指令(加法指令,减法指令,乘法指令,除法指令,BCD 码调整指令)逻辑类指令(逻辑运算指令、逻辑移位操作指令)串操作类指令(串传送、比较、扫描、串存和取指令)控制转移类指令(条件和无条件转移、子程序调用和返回指令、子程序调用和返回、中断)、处理器控制类指令 K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 -4-第四章 汇编语言程序设计 本章主要内容是汇编语言类别、伪指令语句格式
7、和作用、基本程序结构、调用程序和被调用程序之间数据传递途径以及汇编源程序上机调试过程。本章重点是阅读程序和编写程序。下边是本章的知识结构图。汇编语言语句类别 程序基本结构 顺序结构 本章知识要点 实指令语句 分支结构 循环结构 过程(子程序)伪指令语句 宏指令语句 参数传递途径 寄存器约定 存储器约定 堆栈传递 程序开发步骤:编 辑 汇 编 链 接 调试运行 符号定义伪指令 EQU、=伪指令语句 数据定义伪指令 DB、DW、DD 段定义伪指令 SEGMENTENDS 过程定义伪指令 PROC、ENDP 段指派伪指令 ASSUME 程序定位伪指令 ORG 汇编结束伪指令 END 其他伪指令.K2
8、MG-E专业技术人员绩效管理与业务能力提升练习与答案 -5-第五章 输入输出接口 本章学习的输入/输出接口的基本概念,包括输入/输出接口的作用、内部结构、传送信息的分析、IO 端口编址以及主机通过接口与外设之间数据传送的方式。下边是本章的知识结构图。IO 接口概念 主机通过接口与外设数据传送方式 本章知识要点 接口作用 接口传送信息的种类 IO 端口 数据传送方式 程序控制方式 控制信息 状态信息 数据信息(开关量、脉冲量、数据量、模拟量)IO 端口编址方式 单独编址 统一编址 IO 端口号 简单的 I/O 芯片的使用 中断控制方式 直接存储器存取控制方式(DMA)无条件传送 有条件传送(查询
9、)K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 -6-例程分析 例一:简述 CPU 执行一条指令的过程 计算机每执行一条指令都可分为三个阶段进行。即取指令-分析指令-执行指令。取指令的任务是:根据程序计数器 PC 中的值从程序存储器读出现行指令,送到指令寄存器。分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中
10、的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。下面我们将举个实例来说明指令的执行过程:开机时,程序计算器 PC 变为 0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数 E0H 送入累加器,0000H 单元中已存放 74H,0001H 单元中已存放 E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:1 程序计数器的内容(这时是 0000H)送到地址寄
11、存器;2 程序计数器的内容自动加 1(变为 0001H);3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为 0000H 的单元被选中;4 CPU 使读控制线有效;5 在读命令控制下被选中存储器单元的内容(此时应为 74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。至此,取指阶段完成,进入译码分析和执行指令阶段。由于本次进入指令寄存器中的内容是 74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到 A 累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到
12、 CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时 PC 已为 0001H。指令译码器结合时序部件,产生 74H 操作码的微操作系列,使数字E0H 从 0001H 单元取出。因为指令是要求把取得的数送到 A 累加器,所以取出的数字经内部数据总线进入 A 累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中 PC=0002H,PC 在 CPU 每次向存储器取指或取数时自动加 1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU 就是这样一条一条地执行指令,完成所有规定。K2MG-E专业技术人员绩效管理与业务能力提升练习与
13、答案 -7-例二:已知各寄存器和存储单元的状态如图所示,请阅读下列程序段,并将中间结果填入相应指令右边的空格。CPU RAM CS:3000 CX:FFFF 20506:06 DS:2050 BX:0004 20507:00 SS:50A0 SP:0000 20508:87 ES:0FFF DX:17C6 20509:1A IP:0000 AX:8E9D 2050A:3E DI:000A BP:1403 2050B:C5 SI:0008 CF:1 2050C:2F MOV DX,BX+4 ;DX=(1A87H)PUSH DS ;SP=(FFFEH)SP=(2050H)TEST AX,DX ;A
14、X=(8E9DH)SF=(0)ADC AL,DI ;AL=(DBH)XCHG AX,DX ;AX=(1A87H)DX=(8eDBH)XOR AH,BL ;AH=(1EH)SAR AH,1 ;AH=(0FH)CF=(0)例三:编写一程序,使得计算机屏幕上每隔五秒显示一行字符Good morning,按任意键结束 1.调试通过,用 MASM 编译,其实逻辑很简单,用中断 21H 的 9 号中断服务程序显示字符串 Good morning(注意,字符串应该以$结束),代码如下:MOV DX,OFFSET CONTENT MOV AH,9 INT 21H 2。然后调用延时子程序延时 5s,我的延时不一
15、定精确,只是象征性的延时,你可以根据延时时间具体计算,很容易的,延时子程序在 DELAY,你只需改变K2MG-E专业技术人员绩效管理与业务能力提升练习与答案 -8-BX,CX 的值即可改变延时时间 3.最后用中断 16H 的 1 号中断服务程序判断是否有按键按下,若有键盘按下,该功能置 ZF=0,否则 ZF=1,代码如下:MOV AH,01H INT 16H 4.判断 ZF 是否为 1,为 1,证明无按键按下,跳转 A1 继续输出字符串,否则结束程序 以上就是程序的思路,具体程序如下:DATA SEGMENT CONTENT DB Good morning,$DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX A1:MOV DX,OFFSET CONTENT MOV AH,9 INT 21H CALL DELAY MOV AH,01H INT 16H JZ A1 MOV AH,4CH INT 21H DELAY PROC NEAR MOV BX,25000 A2:MOV CX,20000 LOOP$DEC BX JNZ A2 RET DELAY ENDP CODE ENDS 世上没有一件工作不辛苦,没有一处人事不复杂。不要随意发脾气,谁都不欠你的