HEFEIUNIVERSITY2014—2015学年第2学期微控制器原理及应用课程综述系别电子信息与电气工程系专业自动化专业班级13自动化卓越班姓名毕凯1305032032指导老师王敬生完成时间2015年6月18日微控制器原理及应用课程综述摘要当今社会计算机领域发展十分迅速,随着计算机处理速度的更新换代频率越来越快,人类信息文明依然高度发达。作为一个当代大学生掌握计算机相关的知识时是很必要的。而要从基础入手去了解计算机的处理过程和运算规则,《原理以及接口技术》恰恰给了我们指引,引导我们从计算机的原理处去了解计算机系统整个的工作流程。微机原理与接口技术这门课程通过pc机及其兼容机的80X86系列这个主线,分析了计算机的工作原理和接口技术,培养了我们对微型计算机应用系统的认知和分析的能力。本门课程主要内容包括:86系列微处理器芯片,汇编语言上的设计,存储器以及I/O接口和总线,微型计算机的中端系统、可编程计数/定时器8253及其应用、可编程外围接口芯片8259A及其应用“微机原理与接口技术”是一门实践性和实用性都很强的课程,学习的目的在于应用。本课程设计是配合“微机原理与接口技术”课堂教学的一个重要的实践教学环节,它能起到巩固课堂和书本上所学知识,加强综合能力,提高系统设计水平,启发创新思想的效果。我们希望每个学生都能自己动手独立设计完成一个典型的微机应用小系统。关键字:cpu;存储器;总线;汇编语言1.微型计算机的概述1.1发展概况1946-1958第一代电子管计算机。磁鼓存储器,机器语言、汇编语言编程。世界上第一台数字计算机ENIAC。1958-1964第二代晶体管计算机。磁芯作主存储器,磁盘作外存储器,开始使用高级语言编程。1964-1971第三代集成电路计算机。使用半导体存储器,出现多终端计算机和计算机网络。1971-第四代大规模集成电路计算机。出现微型计算机、单片微型计算机,外部设备多样化。1981-第五代人工智能计算机。模拟人的智能和交流方式。1946年由美国宾夕法尼亚大学研制ENIAC(ElectronicNumericalIntegratorAndcalculator),运算速度5000次/秒,功耗150kw/h,占地170m2,造价100万美元。1.2微型计算机的硬件体系结构运算器和控制器被集成在一片被称之为CPU的芯片中,它是微机的运算、控制中心,用来实现算术、逻辑运算,并对全机进行控制。存储器(又称为主存或内存)用来存储程序或数据,计算机要执行的程序以及要处理的数据都要事先装入到内存中才能被CPU执行或访问。输入/输出(I/O)接口是微机与输入输出设备之间的桥梁,这种接口电路又称做“I/O适配器”(I/OAdapter)。这里有必要强调一下大容量外存储器与内存储器(主存或内存)之间的关系。由于微型计算机内存容量有限,所以使用大容量的外存储器作为内存的后援设备,它的容量可以比内存大很多,但存取速度却比内存慢得多。所以,除必要的系统程序外,一般程序(包括数据)都存放在外存中,只有在运行时,才把它从外存传送到内存的某个区域,再由CPU控制执行。图2微型计算机硬件系统结构2.8086的系统结构:图38086CPU内部结构框图AHALBHBLCHCLDHDL通用寄存器SPBPSIDI数据寄存器指针和变址寄存器ALU数据总线(16位)暂存寄存器EU控制电路AXBXCXDX标志寄存器执行单元(EU)总线接口单元(BIU)123456指令队列缓冲器(8位)内部寄存器IPESSSDSCSALU∑DB(16位)AB(20位)总线控制电路8086总线DB(16位)地址加法器8086CPU是由EU和BIU组成:总线接口部件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务:一,每当8086的指令队列中有两个空字节,或8088的指令队列中有一个空字节时,BIU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。二,每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者I/O端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者I/O端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访问总线的请求。三,当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。四,在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。有以上内容可以看出BIU与EU它们两者的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086/8088可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令→译码→执行指令的串行工作方式,大大提高了工作效率,。3.8086寻址方式和指令系统:计算机指令通常包含操作码和操作数两部分,前者指出操作的性质,后者给出操作的对象。寻址方式就是指令中说明操作数所在的地址的方法。8086访问操作数采用多种灵活的寻址方式,是指令系统可以方便的在1M存储空间内寻址。指令分为单操作数、双操作数和无操作数之分。如果是双操作数指令,要用逗号将两个操作数隔开。逗号右边的称为源操作数,左边的称为目的操作数。例如:将寄存器CX中的内容送进寄存器AX的指令为MOVAX,CX其中AX为目的操作数,CX为源操作数。汇编语言程序格式介绍两条常用指令:MOV和ADDMOVdst,src;(dst)(src)助记符目的源操作数操作数例:MOVAH,BLMOVAX,1234HADDdst,src;(dst)(dst)+(src)↑↑↑助记符目的源操作数在本章中介绍了大良的指令,如数据传送指令,算数运算指令,逻辑运算和移位指令等,这些都是汇编的基础,,在刚开始进行学习时,对于其中的很多指令,格式都感到难以理解,无法记忆,比如MOVAX,[2000H]的意义是操作数的物理地址=16*DS+2000H,又如MOVAX,ES:[500H]实现段超越,物理地址为16*ES+500H,加法:ADD(加法),ADC(带符号的加法),INC(增量)DAA(加法的十进制调整),减法:SUB(减法),DAS(减法的十进制调整),乘法:MUL,NOT(取反)AND(与)OR(或)XOR(异或)TEST(测试)SHL(逻辑左移)SHR(逻辑右移),特别是一些关于字符串的处理指令,还有隐含规定,这些死记硬背是没用的,可以在第四章的学习中结合汇编语言程序的实例加以理解,记忆。比如对寻址方式小结:固定寻址:操作数固定在某个寄存器中,寄存器寻址:操作数在某个寄存器中,立即数寻址:操作数就是操作码后跟的立即数。又如,MOVd,s它的功能是将源操作数s复制到目标操作数d,源保持不变,目标被源代替。在这条指令中应当注意的是一,d,s不能同时为存储器如:MOV[BX],[SI]就是错误的。二,不能为立即数错误指令如:MOV1234H,AX三,d,s必须同时为字节型或字型错误指令如:MOVAX,BL。指令后的分号“;”以后为注释部分,对指令的执行没有任何影响,主要是便于阅读或解释指令的功能。这些都可以在以后的学习中加以深化,经常看一些经典程序,有利于我们对这些指令的理解。4.汇编语言程序设计:汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。本章的重点是阅读程序和编写程序。本章知识要点有:汇编语言语句类别:实指令语句、伪指令语句、宏指令语句,程序基本机构:顺序结构、分支结构、循环结构、过程(子程序)------参数传递途径:寄存器约定、存储器约定、堆栈传递,程序开发步骤:编辑------汇编-----链接------调试程序。伪指令语句:符号定义指令EQU、=,数据定义伪指令DBDWDD……,段定义伪指令SEGMENTENDS,过程定义伪指令PROC……ENDP段指派伪指令ASSUME程序定位伪指令ORG汇编结束伪指令END。变量也有三种属性:段、偏移量和类型。5.存储器:存储器是用来存储微型计算机工作时使用的信息(程序和数据)的部件,正是因为有了存储器,计算机才有信息记忆功能。按这种定义,计算机的存储器可分为两大类:一类叫内部存储器(简称内存或主存);另一类叫外部存储器(简称外存)。内部存储器也叫内存,是主存储器,位于计算机内部,用来存放系统软件和当前正在使用的或者经常使用的程序和数据,cpu可以直接访问。内部存储器主要是半导体存储器,存取速度快。内部存储器按照储存类别又可分为随机存储器RAM和只读存储器ROM。外部存储器简称为外存,是辅助存储器。外村的最大优点是容量大、所以存储的信息即可以修改,也可以保存。但是存取速度较慢,而且要有专门设备来管理,比如,蠕动器、控制芯片等。外部存储器容量不受限制,也称为海量存储器。存储容量是存储器系统的首要性能指标,因为存储容量越大,则系统能够保存的信息量就越多,相应计算机系统的功能就越强;存储器的存取速度直接决定了整个微机系统的运行速度,因此,存取速度也是存储器系统的重要的性能指标;存储器的成本也是存储器系统的重要性能指标。为了在存储器系统中兼顾以上三个方面的指标,目前在计算机系统中通常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而其成本则接近廉价慢速的辅存平均价格。6.I/O接口和总线图4独立编址I/OI/O接口技术在微机系统中占有重要地位,本章首先从应用角度出发,介绍I/O接口的相关知识,然后重点讲述可编程并行接口芯片8255A、定时/计数器接口芯片8254、串行接口芯片8250、DMA控制器接口芯片8237A和DAC0832、ADC0809转换器的功能、内部结构、工作方式、初始化编程及其应用实例,最后简单介绍了多功能外围接口芯片组82C206和82371的内部结构和功能。I/O接口是输入输出接口电路的简称.他通过地址总线,数据总线和控制总线与cpu相连,是连接机箱内部设备和外围设备的一个枢纽,在计算机借口中处于极其重要的地位7.微型计算机中断系统:本章我们主要了解了微机的中断系统,因为考虑到中断响应之后系统要返回断点执行,程序计数器PC内有程序指令的地址,中断时要换成中断服务程序的地址。用硬件的方法是因为响应快速,提高CPU的效率。DMA传送方式的优先级高于程序中断,两者的区别主要表现在对CPU的干扰程度不同。中断请求不但使CPU停下来,而且要CPU执行中断服务程序为中断请求服务,这个请求包括了对断点和现场的处理以及CPU与外设的传送,所以CPU付出了很多的代价;DMA请求仅仅使CPU暂停一下,不需要对断点和现场的处理,并且是由DMA控制外设与主存之间的数据传送,无需CPU的干预,DMA只是借用了一点CPU的时间而已。还有一个区别就是,CPU对这两个请求的响应时间不同,对中断请求一般都在执行完一条指令的时钟周期末尾响应,而对DMA的请求,由于考虑它得高效性,CPU在每条指令执行的各个阶段之中都可以让给DMA使用,是立即响应。DMA主要由硬件来实现,此时高速外设和内存之间进行数据交换不通过CPU