第一章微型计算机基础知识•课程学习的重要性•课程的安排•课程学习的主要内容和相互联系•微型计算机的基本组成•微型计算机的工作原理•课程学习的重要性2.计算机技术的学习可大致分为两大方面:一、软件方面:各种常用操作系统,各类计算机应用程序和开发工具,如VC、C++BUILDER、VB等常用工具的使用、软件开发编程能力,包括数据库和网络编程能力。1.计算机技术在各领域广泛应用对于机电控制、自动化、测控技术与仪器等专业的同学不掌握微机原理与接口技术将不能胜任今后的学习和工作。二、硬件方面:微机系统结构概念,与计算机相关的各种芯片,接口技术。关键是各种硬件芯片连接构成系统,使用软件操作控制硬件设备,这也是本课程要达到的目的之一。实际应用举例要求将一台转矩转速仪表的数据输出连接到泵测试系统。条件:仪表提供专用数据接口,有数据通信专用协议(8位并行数据,2位控制信号),泵测试系统为PC机平台。要完成的工作:设计接口电路(接口板)将仪表与PC机连接,设计相应的程序完成数据的传送。需具备的知识:微机系统原理,硬件接口设计,软件与硬件的结合。转矩转速传感器转矩转速测量仪表接口卡工控机•课程的安排教材:《微机原理与接口技术》王玉良北邮出版社《微机原理与接口技术实验指导》自编参考书:《微机原理与接口技术─复习指导与习题解答》王玉良北邮出版社《微机原理与接口技术》雷丽文等电子工业出版社《微型计算机接口技术及应用》刘乐善华中理工大学出版社《32位微型计算机原理与接口技术》仇玉章清华大学出版社实验:1.软件编程实验2.硬件实验成绩:作业、实验、期中考试、期末考试。答疑地点:鸿通楼308房间电话:62282927Email:yjun_bupt@sina.com•课程学习的主要内容和相互联系1.8086微型计算机系统结构掌握微机系统的硬件构成和配置,包括CPU、总线、存储器、时序等概念。应注意以8086系统为基础,把握一般微机系统的概念及其具有的一般性和普遍性的特点和规律。CPU的种类不同、微机系统的规模、档次、厂家不同,但都具有共同的基本特点。这是学习微机原理的重要之处,原理清楚则可举一反三,CPU和微机系统的发展很快,但基本原理是相通的。2.8086指令系统知道了微机系统硬件配置后,还必须了解微机系统中CPU提供的各种指令,CPU是在各种指令的指挥下完成各种操作的。在这一部分应掌握指令的分类、特点,熟悉各种指令,为后面的程序设计做好准备。3.宏汇编语言程序设计汇编语言是最接近机器语言的代码,与高级语言的程序设计不同,有其本身的特点。要熟悉宏汇编语言的表达式、运算符、语句、程序结构,掌握汇编语言程序设计。程序设计的几个步骤:a.程序文本编辑;b.程序的编译;c.程序的连接;d.程序的调试。编程工具使用微软的宏汇编MASM5.14.中断系统与输入输出系统返回到系统的硬件问题,在掌握了前面三部分后,学习如何通过软件(指令)对微机系统的硬件进行访问和操作,是软件和硬件相结合,也是接口技术部分。在这里我们要学习以下芯片及其接口:可编程中断控制器8259A可编程并行输入/输出接口芯片8255A可编程串行输入/输出接口芯片8251A可编程计数/定时器8253可编程DMA控制器8257/8237A/D转换器0809、D/A转换器0832本课程这四大部分相互联系,前三部分是基础,第四部分是综合和应用。学习完课程后,应达到两个目的:1.有开发和设计微机应用系统必要的基本能力。2.有能力学习和掌握未知的微机系统。要学好本课程,应做到:1.多动手练习,包括软件编程和硬件实验。2.要有兴趣,不积累问题。汇编编程软件:emu80861.1微型计算机的基本组成图1.1计算机的硬件构成框图控制器(CTRL)运算器(ALU)存储器(MEM)输入设备(INE)输出设备(OUTE)总线1.1.1微型计算机的基本硬件组成1、运算器(ALU-ArithmeticLogicUnit)运算器又称为算数/逻辑运算单元,是对信息进行加工、运算的部件。可进行二进制算术运算(加、减、乘、除与移位),逻辑运算(与、或、非、异或等)。运算器的字长一般为8位、16位、32位、64位。一个8位运算器每次可完成8位二进制数的运算,更多位数的运算可以分解成多次8位运算。2、存储器(MEM-Memory)记忆部件。它存储计算机操作的控制信息及各种命令信息(指令)和被处理加工的信息(数据),包括存储加工的中间与最终结果。存储器内有两类信息:一类是命令信息(即指令),经译码并执行,放在代码区;另一类是数据,放在数据区。它们都以二进制形式存放。应注意:内存中的代码区和数据区中的信息具有不同的性质与功能,两个区域中的某些单元具有相同的信息,却具有完全不同的含义。存储器可分为内存和外存两部分。存储器的一个基本指标是存储器的容量,通常将若干个二进制位组成一个存储单元(例如8bit构成一个存储单元)。存储器由多个存储单元构成,每个单元有一个编号,称为存储器的地址。向存储器送一个地址,可以将该地址对应的存储单元存储的数据读出,也可向该存储单元写入数据。存储器的容量一般表示为存储单元数×位数,如1K×8bit表示1024个存储单元,每个单元8bit。(1K=210=1024,1M=1024K,1G=1024M)一个字节(Byte)为8bit二进制数。3、控制器(Controlunit)它是计算机的控制中心,根据程序中的命令发出各种控制信号,协调计算机内部以及主机与外设工作的各种关系。有两个主要功能:一个是控制程序的运行;另一个是对不同的外部事件做出相应响应的能力。(这些外部事件是指:复位、停机、中断请求、总线请求、总线周期延长等)4、输入设备与输出设备输入/输出设备(I/O设备:Input/Outputequipment)也称为外设。其作用是进行信息形式的转换,即外界的语言、文字、图像、机械动作等信息转换成计算机能识别的电信号表示的二进制数形式,或进行相反方向的转换。输入设备如:键盘、鼠标、磁盘、光盘、游戏杆、扫描仪、数码相机、A/D转换器等。输出设备如:显示器、打印机、音响、绘图机、磁盘、光盘、D/A转换器等。5、总线(BUS)现代的计算机系统广泛采用总线(Bus)结构。总线是计算机各部件间传送信息的公共通路。各部件分时复用总线,以保证数据、地址、指令和CPU控制信息在各部件之间的传送。有了总线结构以后,系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。一个部件只要满足总线标准,就可以连接到采用这种总线标准的系统中去。总线分为内部总线、外部总线。计算机内部的基本总线分为数据总线(DB:DataBus)、地址总线(AB:AddressBus),控制总线(CB:Command/ControlBus)。(1).地址总线(AB)用于传送CPU输出的地址信号,以寻址存储器单元和外设接口。其宽度因机器而异,因此寻址范围各不相同。如16条地址线(A15~A0)可以寻找从0000H~FFFFH共216=64K(1K=1024)个地址。地址总线是三态的,可以处于高阻态,让外部控制器占用。(2).数据总线(DB)用于在CPU与存储器和I/O接口之间双向传输数据,因此是双向的,且也是三态的。8位机的数据总线是8位(D7~D0),16位机(8086)的数据总线则是16位,准16位机(8088)的内部数据总线为16位而外部数据总线是8位。(3).控制总线(CB)用于传送各种控制信号。有的是向CPU输入的信号,如INT为外设向CPU发出的中断请求信号;有的是CPU发出的信号,如RD为读控制信号。如WR为写控制信号。例:通过总线读写存储器假定CPU是8位的,其寄存器是8位,地址线也是8位,可寻址256个存储单元,编号为00~FFH。每一个存储单元有一个确定的地址,可存放一个8位(即一个字节)的二进制信息。可见存储单元的地址和该地址单元中存放的内容是两个不同的概念。D7A0A1A2A7A6D0D1D6存储器控制RDWRCPU读/写存储器的简单过程是:先由CPU给出要操作的存储单元地址,该地址信号通过地址总线送到存储器的地址译码器译码后,在256个单元中选中对应于该地址的存储单元。然后CPU通过控制总线发出读或写的控制信号,对该单元读或写。读出的内容通过数据总线送到CPU的数据寄存器中。要写入的内容则由CPU发出,经数据寄存器通过数据总线写入存储单元。1.1.2中央处理器、微处理器和微控制器在计算机中,通常把运算器和控制器以及数量不等的寄存器作成一个独立部件,用一片VLSI实现,称为中央处理器,缩写为CPU(CentralProcessingUnit),如图1.2所示。微型计算机的中央处理器也称为微处理器MPU(Micro-ProcessingUnit)或μP。当把μP和存储器,以及I/O接口和总线在一个芯片中实现时,就成为微控制器(MCU:Micro-ControllerUnit),也称单片机,其构成如图1.3所示。MCU加上适当外部设备和相应软件即可构成一个微控制器系统。由于它价格便宜、软件控制灵活,在自动控制、仪器仪表、通信设备、家用电器、玩具等嵌入式应用领域获得了广泛应用。1.1.3微型计算机系统的组成微型计算机系统由硬件和软件两部分组成。1.硬件部分硬件部分包括主机和外部设备。(1)主机包括CPU、内存储器、I/O接口、总线和电源。(2)外部设备包括输入设备和输出设备。2.软件部分软件部分包括系统软件和应用软件。(1)系统软件系统软件包括操作系统、程序设计语言的编译程序和其他程序(2)应用软件(或称用户软件)1.2微型计算机的工作原理微型计算机是采用“程序存储控制”的原理工作的。这一原理是美籍匈牙利数学家冯.诺依曼1946年提出的,它构成了计算机系统的结构框架。因此,计算机体系结构又称为冯.诺依曼结构。1.2.1指令和控制器的指令部件1.指令格式指令是计算机能识别并执行的指示和命令,它采用二进编码来表示。每条指令应能表示该指令完成哪种操作以及该操作需要的数据保存在内存的哪个位置。故一条指令可分为两部分:操作码部分和操作数部分。2.控制器的指令部件控制器的最基本的任务,就是取出一条指令(取指令),分析指令(指令译码)和执行指令;再取下条指令重复上述过程。为完成这种功能,它包含一个指令(执行)部件。该部件包括:(1)程序计数器(PC:ProgramCounter),它总是指向下条指令的首地址;(2)指令寄存器(IR:InstructionRegister),保存当前正在执行的指令;(3)指令译码器(ID:InstructionDecorder),它对指令的操作码部分进行译码的功能;(4)操作控制器,它生成该指令操作所需的内部和外部微操作控制信号,指挥系统完成该指令的功能。(5)时序发生器,对各种操作实施时间上的控制。指令部件的构成如图1.4所示。1.2.2CPU内的寄存器各种CPU内都包含数量不等的寄存器,它们可用于暂存数据,做存储器I/O地址指针、计数器以及存放程序运行的各种状态,如程序状态字寄存器(PSW:ProgramStatusWord)或简称状态寄存器(SR)或标志寄存器(FR)等。由于CPU内部的寄存器的存取速度远比存储器快,所以,寄存器用于暂时存储程序重复使用的数据、变量和中间结果,可以大大提高程序的运行速度。而寄存器数量的多少也是衡量CPU功能强弱的重要指标之一。通常,寄存器分为数据寄存器、地址寄存器和状态寄存器。数据寄存器用于存放反复操作的数据、变量或中间结果。地址寄存器存放存储器或I/O口地址指针,以缩短指令长度,加快指令运行速度。地址寄存器作为地址指针的另一个好处是能灵活修改,以使用循环程序处理大量数据的重复操作。状态寄存器存放指令(程序)的运行状态,如CPU工作状态、存储器工作状态、指令执行结果的状态(比如是否溢出等)、中断状态(是否允许中断)以及其他状态。1.2.3计算机的工作过程通过介绍计算y=a+b的过程,说明计算机是如何工作的。为完成这个计算任务,必须先做如下工作:编写完成该任务的程序;输入计算