NEC单片机教程_第1页
NEC单片机教程_第2页
NEC单片机教程_第3页
NEC单片机教程_第4页
NEC单片机教程_第5页
已阅读5页,还剩197页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录目 录- 1 -第1章 微型计算机基础- 1 -1.1 概述- 1 -1.2 微型计算机- 2 -1.3 存储器- 5 -1.4 输入/输出接口电路- 7 -1.5 单片机概述- 10 -第2章 单片机入门知识- 16 -2.1 堆栈- 16 -2.2 中断- 18 -2.3 A/D转换器- 21 -2.4 DMA- 24 -2.5 串行通信基础- 26 -第3章 指令系统与程序设计- 30 -3.1 寄存器- 30 -3.2 寻址方式- 34 -3.3 指令集- 43 -3.4 指令说明- 55 -3.5 程序设计概述- 74 -第4章 NEC单片机的硬件结构- 83 -4.1 NEC

2、单片机的总体结构- 83 -4.2 NEC单片机存储器- 86 -4.3 NEC单片机的引脚- 95 -4.4 NEC单片机的复位和复位电路- 106 -第5章 NEC单片机的定时器- 110 -5.1 8位定时器/事件计数器50的功能- 110 -5.2 8位定时器/事件计数器50的硬件- 110 -5.3 控制8位定时器/事件计数器50的寄存器- 111 -5.4 8位定时器/事件计数器50和51的应用- 113 -5.5 其他定时器- 120 -第6章 NEC单片机的A/D转换器- 128 -6.1 A/D转换器的功能- 128 -6.2 A/D转换器的配置- 130 -6.3 A/D转

3、换器使用的寄存器- 131 -6.4 A/D转换器的操作- 135 -第7章 NEC单片机的中断功能- 138 -7.1 中断功能的类型- 138 -7.2 中断源及配置- 138 -7.3 控制中断功能寄存器- 141 -7.4 中断服务操作- 145 -第8章 NEC单片机的串行接口和串行通信- 149 -8.1 串行接口CSIA0- 149 -8.2 串行接口UART0- 161 -8.3 串行接口IIC0- 168 -6. 将数据55H存放在24C16中,试编写程序将存放在24C16中的数据通过数码管显示出来。第9章 综合应用举例- 184 -第9章 综合应用举例- 185 -9.1

4、模拟汽车仪表- 185 -9.2 直流电机驱动与测速- 194 -参考文献- 203 -第1章 微型计算机基础1.1 概述 计算机的特点计算机的工作原理与人脑的思维方式显然是迥然有异的。计算机具有精确的记忆能力和机械而严谨的工作方式。在许多领域,计算机比人做得更好,比如进行复杂的数值计算,或者对大规模的表数据排序等,计算机的处理速度远比人快得多,得到的结果也要更精确。总体来说,计算机的特点可以概述为:(1) 运算速度快(2) 计算精度高(3) 有记忆特性,存储容量大(4) 有逻辑判断能力(5) 计算机内部自动化操作(6) 通用性强自从1946年美国宾西法尼亚大学研制了第一台计算机ENIAC(E

5、lectronic Numerical Integrator And Computer)以来,计算机的发展经历了四个时代:电子管时代、晶体管时代、集成电路时代、大规模及超大规模集成电路时代。现代的计算机都是大规模集成电路计算机,具有功能强、结构紧凑、系统可靠等优点,其发展方向是巨型化、微型化、网络化及智能化。 计算机的基本结构从功能角度上,各种计算机系统的硬件系统都是由五个基本部分构成的,分别是:运算器、控制器、存储器、输入设备、输出设备。如图1.1.1所示:图1.1.1 计算机结构图1.2 微型计算机1.2.1 微型计算机系统的三个层次微处理器、微型计算机、微型计算机系统是三个不同的概念:1

6、 微处理器微处理器(Microprocessor)也叫微处理机,它本身不是计算机,但它是微型计算机的核心部件。微处理器包括算术逻辑部件ALU、控制部件和寄存器组三个基本部分,通常由一片或几片LSI、VISI器件组成。2 微型计算机微型计算机(Micro Computer)是以微处理器为核心,加上由大规模集成电路制作的存储器(ROM和RAM)、输入/输出(I/O)接口和系统总线组成的。有的微型计算机是将这些组成部分集成在一个超大规模芯片上,则称之为单片微型计算机,简称单片机。3 微型计算机系统微型计算机系统(Micro Computer System)是以微型计算机为核心,再配以相应的外围设备、

7、电源、辅助电路和控制微型计算机工作的软件而构成的完整的计算机系统。软件分为系统软件和应用软件两大类。系统软件是用来支持应用软件的开发与运行的。应用软件是用来为用户解决具体应用问题的程序及有关的文档和资料。1.2.2 微型计算机硬件任何一个微型机系统都是由硬件和软件两大部分组成的。而其中硬件又由运算器、控制器、存储器、输入设备和输出设备五部分组成。1 微处理器微处理器是微型计算机的运算和控制中心。不同型号的微型计算机,其性能的差别首先在于其微处理器性能的不同。而微处理器性能又与它的内部结构、硬件配置有关。每种微处理器有其特有的指令系统。但无论哪种微处理器,其内部基本结构总是相同的,都有控制器、运

8、算器和内部总线及缓冲器三大部分,每部分又各由一些基本部件组成,各基本部件的功能如下:(1)算术逻辑单元(ALU,Arithmetic Logic Unit)ALU是运算器的核心。它是以全加器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除四则运算和各种逻辑运算。(2)累加器是通用寄存器中的一个。它总是提供送入ALU的两个运算操作数之一,且运算后的结果又总是送回它之中。(3)标志寄存器(FR,Flags Register)FR用于寄存ALU操作结果的某些重要状态或特征,如是否溢出、是否为零、是否为负、是否有进位、是否有偶数个“1”等。每种状态或特征用一

9、位标志。由于ALU的操作结果存放在累加器A中,因而FR也反映了累加器A中所存放数据的特征。FR中的状态标志常为CPU执行后续指令时所用,例如根据某种状态标志来决定程序是顺序执行还是跳转执行。(4)寄存器组实际上是微处理器的内部RAM,因受芯片面积和集成度所限,其容量(即寄存器数目)不可能很多。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的。如堆栈指针SP、程序计数器PC、标志寄存器FR即为专用寄存器。(5)堆栈和堆栈指针(SP,Stack Pointer)堆栈(Stack)是一组寄存器或存储器中开辟的一个特定区域。由内部寄存器组构成的堆栈叫硬件堆栈;由软件开辟的存储器区域构成的

10、堆栈叫软件堆栈。目前绝大多数微型计算机中都是采用软件堆栈。堆栈在计算机中是作为一种数据结构或数据暂存方式引入的。数据存入堆栈称为压入(PUSH)操作;从堆栈取出数据称为弹出(POP)操作。堆栈的存取过程恰像货物的堆放过程,是按“先进后出”(FILO)或“后进先出”(LIFO)的方式进行的。当新的数据压入堆栈时,栈中原存数据不被破坏,而只改变栈顶位置;当数据从堆栈弹出时,弹出的是栈顶位置的数据,弹出后自动调整栈顶位置.即是说,数据无论压入堆栈还是从堆栈弹出,总是在栈顶进行。堆栈指针SP就是用来指示栈顶地址的寄存器。SP的初值由程序员设定。一旦设定初值后,便意味着栈底在内存储器中的位置已经确定,此

11、后SP的内容即栈顶位置便由CPU自动管理。一般说来,对于栈底地址高、栈顶地址低的向下增长型堆栈,将新数据压入其中时,每压入一个字节,SP自动减1,向上浮动而指向新的栈顶;当数据从栈中弹出时,每弹出一个字节,SP自动加1,向下浮动而指向新的栈顶。反之,对于栈底地址低、栈顶地址高的向上增长型堆栈,随着数据的压入或弹出,指针SP的浮动方向则正好与上相反。堆栈主要用于中断处理与过程(子程序)调用。堆栈的“先进后出”操作方式给中断处理和子程序调用/返回(特别是多重中断与多重调用)带来很大方便。(6)程序计数器(PC,Program Counter)PC用于存放下一条要执行的指令的地址码。程序中的各条指令

12、一般是按执行的顺序存放在存储器中的。开始时,PC中的地址码为该程序第一条指令所在的地址编号。在顺序执行指令的情况下,每取出指令的一个字节(通常微处理器的指令长度是不等的,有的只有一个字节、有的是两个或更多个字节),PC的内容自动加1,于是当从存储器取完一条指令的所有字节时,PC中存放的是下一条指令的首地址。若要改变程序的正常执行顺序,就必须把新的目标地址装入PC,这称为程序发生了转移。指令系统中有一些指令用来控制程序的转移,称为转移指令。可见,PC是维持微处理器有序地执行程序的关键性寄存器,是任何微处理器不可缺少的。(7)指令寄存器(IR,Instruction Register),指令译码器

13、(ID,Instruction Decoder)和操作控制器(OC,Operation Controller)这三个部件是整个微处理器的指挥控制中心,对协调整个微型计算机有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出控制信号。操作控制器OC中主要包括有节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。2 存储器存储器又叫内存或主存,是微型计算机的存储和记忆部件,用以存放数据(包括原始数据、中间结果和最终结果)和程序。微型机的内存都

14、是半导体存储器。(1)内存单元的地址和内容内存中存放的数据和程序从形式上看都是二进制数。内存是由一个个内存单元组成的,每一个内存单元中一般存放一个字节(8位)的二进制信息。内存单元的总数目叫内存容量。微型机通过给各个内存单元规定不同地址来管理内存。这样,CPU便能识别不同的内存单元,正确地对它们进行操作;注意,内存单元的地址和内存单元的内容是两个完全不同的概念。(2)内存操作CPU对内存的操作有读、写两种。读操作是CPU将内存单元的内容取入CPU内部,而写操作是CPU将其内部信息传送到内存单元保存起来。显然,写操作的结果改变了被写单元的内容,而读操作则不改变被读单元中原有内容。(3)内存分类按

15、工作方式不同,内存可分为两大类:随机存取存储器(RAM,Random Access Memory)和只读存储器(ROM,Read-Only Memory)。RAM可以被CPU随机地读和写,所以又称为读写存储器,这种存储器用于存放用户装入的程序、数据及部分系统信息。当机器断电后,所存信息消失。ROM中的信息只能被CPU随机读取,而不能由CPU任意写入。机器断电,信息并不丢失。所以,这种存储器主要用来存放那些固定不变、不需修改的程序和数据,如:监控程序、基本I/O程序等标准子程序和有关计算机硬件的数据。3 输入输出(I/O)设备的接口I/O设备是微型计算机系统的重要组成部分,微型机通过它与外部交换

16、信息,完成实际工作任务。与CPU相比,I/O设备的工作速度较低,处理的信息从数据格式到逻辑时序一般不可能直接兼容。鉴于此,微型计算机与I/O设备间的连接与信息交换不能直接进行,而必须设计一个“接口电路”作为两者之间的桥梁。这种I/O接口电路又叫“I/O适配器”。4 总线总线实际上是一组导线,是各种公共信号线的集合,用于作为微型计算机中所有各组成部分传输信息共同使用的“公路”。微型计算机有三种总线,它们是:(1)数据总线(DB,Data Bus)数据总线用来传输数据信息,是双向总线,CPU既可通过DB从内存或输入设备读入数据,又可通过DB将内部数据送至内存或输出设备。(2)地址总线(AB,Add

17、ress Bus)地址总线用于传送CPU发出的地址信息,是单向总线。目的是指明与CPU交换信息的内存单元或I/O设备。(3)控制总线(CB,Control Bus)控制总线用来传送控制信号、时序信号和状态信息等。其中有的是CPU向内存和外设发出的信息,有的则是内存或外设向CPU发出的信息。可见,CB中每一根线的方向是一定的、单向的,但作为一个整体则是双向的,所以在各种结构框中,凡涉及到控制总线CB, 均以双向线表示。1.3 存储器存储器是计算机系统中的记忆设备,用来存放程序和数据。随着计算机发展,存储器在系统中的地位越来越重要。1.3.1 存储器的分类存储器可以按不同的方法进行分类。1 按用途

18、分类按存储器的用途,可以把存储器分为内部存储器和外部存储器。(1)内部存储器内部存储器也称为内存,是主存储器,位于计算机主机的内部,它是计算机存放信息的场所,而在各种不同类型的存储器中,内部存储器(内存)又是最重要的部分。因为,计算机当前正在执行的程序和处理的数据都存放在内存中,任何程序如果要在计算机中执行,则首先必须将其调入内存才能被CPU执行。一般来说,容量越大,速度越快的存储器就能给计算机带来越高的性能。(2)外部存储器外部存储器也称为外存,是辅助存储器。外存的特点是大容量,所存储的信息既可以修改,也可以保存,存取速度较慢,要由专用的设备来管理,如磁带、磁盘、光盘等。磁带、磁盘的数量可随

19、意增加,从这个意义上说,外存储器的容量是无限的。但外存的工作速度低,它们不能直接参与计算机的运算,一般情况下外存只与内存成批交换信息。即外存储器仅起到扩大计算机存储容量的作用。2.按存储器性质分类内存按存储器性质分类通常分为随机存取存储器RAM(Random Access Memory )和只读存储器ROM(Read Only Memory)两类。(1)随机存储器RAM(Random Access Memory)RAM是一种可读写存储器,其特点是存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。计算机系统中的主存都采用这种随机存储器。由于存储信息原理的不同,R

20、AM又分为静态RAM(以触发器原理寄存信息)和动态RAM(以电容充放电原理寄存信息)。(2)只读存储器ROM(Read Only Memory)只读存储器是能对其存储的内容读出,而不能对其重新写入的存储器。这种存储器一旦存入了原始信息后,在程序执行过程中,只能将内部信息读出,而不能随意重新写入新的信息去改变原始信息。因此,通常用它存放固定不变的程序、常数以及汉字字库,甚至用于操作系统的固化。它与随机存储器可共同作为主存的一部分,统一构成主存的地址域。早期只读存储器的存储内容根据用户要求,厂家采用掩膜工艺,把原始信息记录在芯片中,一旦制成后无法更改,叫做掩膜型只读存储器MROM(Masked R

21、OM)。随着半导体技术的发展和用户需求的变化,只读存储器先后派生出可编程只读存储器PROM(Programmable ROM)、可擦除可编程只读存储器EPROM(Erasable Programmable ROM)以及用电可擦除可编程的只读存储器EEPROM(Electrically Erasable Programmable ROM)。EEPROM即电可擦除可编程只读存储器,它的突出优点是在线擦除和改写。它既具有ROM的非易失性的优点,又能像RAM一样随机的读写。在单片机系统中EEPROM既可以扩展为片外ROM,又可以扩展为片外RAM。近年来还出现了快擦型存储器Flash Memory。Fl

22、ash Memory的主要特点是在不加电的情况下能长期保持存储的信息。就其本质而言,Flash Memory属于EEPROM(电擦除可程序设计只读存储器)类型。它既有ROM的特点,又有很高的访问速度,而且易于擦除和重写,功耗很小。调试程序中用EEPROM代替仿真RAM既能方便的修改程序,又能保存调好的程序,但是与RAM相比EEPROM写操作的速度很慢,另外它的寿命也是有限的。 而FLASH存储器是在EPROM工艺的基础上,增加了芯片的电擦除和再编程功能且速度快,从而使它成为性价比和可靠性最高的可读写,非易失存储器,与EEPROM相比,FLASH具有密度大,价格低,可靠性高的明显优势。Flash

23、和EEPROM的区别还在于擦除和写入部分: EEPROM可以单字节擦除和单字节写入; FLASH部分芯片只能以块方式擦除(整片擦除),部分芯片可以单字节写入(编程),一般需要采用块写入方式。NEC单片机都使用了可靠的flash存储器。1.4 输入/输出接口电路1.4.1 概述微型计算机与外部设备之间的数据传送称为输入输出(I/O)。实现输入/输出接口既需要有把外围设备与计算机连接起来的硬件电路输入/输出接口电路,又需要编制控制输入/输出接口电路的工作的程序。1 输入输出接口电路的功能输入/输出接口电路的种类很多,某些通用集成电路芯片可以用做I/O接口,但更大量的是专门为计算机设计的I/O接口电

24、路芯片。一般来说,I/O接口电路有以下功能:(1)设备选择功能CPU通过地址代码来标识和选择不同的外部设备,接口对系统总线上传输的外设地址进行译码,在检测到本设备地址代码时,产生相应的“选中”信号。(2)信息传输功能当设备被“选中”时可以从CPU/数据总线接收数据或控制信息;外部设备的数据或状态信息也可通过I/O发往数据总线/CPU;(3)数据格式转换功能外设使用的数据格式与CPU数据格式不同时,接口要进行二种数据格式之间的相互转换。(4)联络功能从系统总线或外设接收一个数据后,接口发出“数据到”联络信号,通知外设或CPU取走数据,数据传输完成,向对方发出信号,准备进行下次传输。(5)复位功能

25、接口在接收系统的复位信号后,将接口电路及其所连接的外部设备置成初始状态。(6) 可编程功能 有些接口具有可编程特性,可以用指令来设定接口的工作方式、工作参数和信号的极性。(7)错误检测功能 信号在线路上传输时,如果遇到干扰信号,可能发生传输错误。检测传输错误的常见方法是奇偶检验。 数据传输中的覆盖错误输入设备完成一次输入操作后,把所获得的数据暂存在接口内如果在该设备完成下一次输入操作之后,CPU还没有从接口取走数据,那么,在新的数据送入接口后,上一次的数据被覆盖,从而导致数据的丢失,输出操作中也可能产生类似的错误,覆盖错误导致数据的丢失,易发生在高速数据传输的场合2 端口地址如前所述,微型计算

26、机是通过I/O接口电路与外围设备相连的,CPU只有通过I/O接口电路才能向外围设备传送信息,因此,只要选中I/O接口电路就能找到相应的外围设备。从这个意义上讲,应该对I/O接口电路编址,即对I/O接口电路的端口编址,因为选中了端口就选中了端口所在的I/O接口电路,从而选中了对应的外围设备,而且采用端口编址的方法可以区分同一外围设备的3种不同信息。 端口有以下两种编址方法。(1)存储器单元与接口电路端口统一编址。所谓统一编址,就是将每一个端口作为存储器的一个单元对待,故一个端口占有存储器一个单元的地址。CPU从I/O接口电路输入个数据,作为一次存储器读的操作,而向I/O 接口电路输出一个数据,作

27、为次存储器写的操作。这种方法的优点是:对外围设备的操作可使用全部有关存储器的指令,因而指令多,编程方便,并可对接口电路中的数据进行算术运算和逻辑运算,降低CPU电路的复杂性。缺点是接口电路占用了存储器的单元地址,减少了内存空间并且难以区分访问内存和I/O的指令,降低了程序的可读性和可维护性。(2)存储器单元与接口电路端口分别编址。在这种编址方式中,存储器单元与接口电路端口各自独立编址。这样,某个地址可能是指存储器某个单元,也可能是指某一个端口。因此,要用不同的指令来区分存储器与接口电路。存储器的容量很大,地址的位数多,而端口的数量有限,所需的地址位数不多。使用分别编址的方法,存储器地址和端口地

28、址采用的位数可以不同,访问I/O电路指令的字节数可以减少,也提高了此类指令的执行速度。1.4.2 数据传送方式虽然外围设备的种类繁多,但归纳起来,传送数据的方式共有4种:无条件传送方式、查询传送方式、中断传送方式和直接数据传送方式。1 无条件传送方式无条件传送方式也叫程序直接控制方式,就是由用户进程来直接控制内存或CPU和外围设备之间的数据传送。它的优点是控制简单,也不需要多少硬件支持。它的缺点是CPU和外围设备只能串行工作,设备之间只能串行工作,无法发现和处理由于设备或其他硬件所产生的错误。 2 查询传送方式许多外围设备与CPU在速度上存在差异,同样传送一个数据,CPU要快得多。于是,CPU

29、要读取数据但可能未准备好,CPU要输出数据外设也不一定能够接收,所以CPU在传送数据前要先询问外设状态,仅当外设准备好了才传送,否则CPU就等待。这种数据传送方式称为查询工作方式,如图1.4.1所示。去CPU数据状态控制外设I/O接口接口输入状态信息数据准备好输入数据NY图1.4.1 用查询方式输入数据例如,逐次逼近式A/D转换器与计算机接口,该转换器转换一次信息约需几十微秒。CPU首先通过I/O接口电路输出控制命令以启动A/D转换,然后准备输入转换结果。结果输入前,先要询问转换结束信号(状态信息)是否出现,以判断A/D转换是否准备好了数据。若尚未准备好,CPU将等待和反复询问。如果己转换好,

30、CPU就执行输入指令输入个数据,然后再输出命令,启动A/D转换器,准备下个数据。用查询方式输入数据时,在接口电路与外设间要交换数据信息、状态信息、和控制信息。查询方式的缺点是CPU的利用受到影响,陷于等待和反复查询,不能再进行其他操作;而且,这种方法不能处理掉电、设备故障等突发事件。3 中断传送方式中断传送方式是利用向CPU发送中断的方式控制外围设备和CPU之间的数据传送。中断传送方式是计算机最常用的数据传送方式。除了传送数据,计算机进行实时控制、故障自动处理、实现人机联系也多采用中断方式。图1.4.2是计算机采用中断方式与外设间传送数据过程的示意图。继续执行主程序中断请求中断请求中断服务程序

31、断点执行主程序执行中断服务程序图1.4.2 中断过程示意图CPU启动外设后不再询问它的状态,依然执行自己的操作(主程序),即CPU与外设平行操作。外设完成操作后发出状态信息,经I/O接口电路转换成中断请求信号,向CPU申请中断,要求CPU暂时中断自己的主程序,转入中断服务程序为外设服务。在中断服务程序中CPU执行自外设输入或输出数据的操作,并在完成后再次启动外设,然后返回主程序继续执行原来被中断了的工作。利用中断技术管理外设后,CPU从反复询问外设状态中解放出来,提高了工作效率。而且,可以同时为多个外设服务。利用中断技术后,现场的参数、信息在需要处理时,可随时向CPU发中断请求信号,以便及时响

32、应,及时处理,实现实时控制。中断传送方式的优点是大大提高了CPU的利用率且能支持多道程序和设备的并行操作。它的缺点是由于数据缓冲寄存器比较小,如果中断次数较多,仍然占用了大量CPU时间;在外围设备较多时,由于中断次数的急剧增加,可能造成CPU无法响应中断而出现中断丢失的现象;如果外围设备速度比较快,可能会出现 CPU来不及从数据缓冲寄存器中取走数据而丢失数据的情况。4 直接数据传送方式直接数据传送方式(DMA方式)是在外围设备和内存之间开辟直接的数据交换通路进行数据传送。高速度的外围设备与计算机间传送大批量数据时常采用这种方式。传送时令CPU交出总线的控制权,改由DMA控制器进行控制,使外设与

33、内存利用总线直接交换数据,不经过CPU中转,也不通过中断程序,即不需要保存、恢复断点和现场,所以传送数据的速度比中断方式快。1.5 单片机概述单片机技术已发展成为计算机领域一个非常有的途的分支,它有自己的技术特征、规范和应用顿域,单片机是自动控制系统的核心部件,主要用于工业控制、智能化仪器仪表、家用电器中。它具有体积小、性能突出(某些方面的性能指标大大优于通用微机中央处理器)、价格低廉等特点,应用领域不断扩大,除了工业控制、智能化仪表、通信、家用电器外,在智能化高档电子玩具产品中也大量采用单片机芯片作为核心控制部件。 1.5.1 单片机的特点及应用在通用微机中央处理器基础上,将输入/输出(I/

34、O)接口电路、时钟电路以及一定容量的存储器等部件集成在同一芯片上,再加上必要的外围器件,如晶体振荡器,就构成了一个较为完整的计算机硬件系统。由于这类计算机系统的基本部件均集成在同一芯片内,因此被称为单片微控制器(Single-Chip-Micro Controller,简称单片机)或微控制单元(MicroControllerUnit,简称MCU)。对于通用微处理器来说,其主要任务是数值计算和信息处理,对运算速度和存储容量方面的要求是速度越快越好,容量越大越好,因此它沿着高速、大容量方向发展:字长由8位、16位,迅速向32位、64位过渡,时钟信号的频率由最初的477MHz向33MHz、66MHz

35、、100MHz、200MHz、400MHz、600MHz、1GHz、2GHz,甚至更高频率过渡。而单片机主要面向工业控制,8位字长已足够(在工业控制中,一般仅需要控制线路的通、断,触点的吸合与释放,有时4位单片机也能胜任),尽管也有16位、32位的单片机芯片,但这些高档单片机芯片主要用于语音、图像处理系统。1 单片机的特点单片机芯片作为控制系统的核心部件,它除了具备通用微机CPU的数值计算功能外,还必须具有灵活、强大的控制功能,以便实时监测系统的输入量、控制系统的输出量,实现自动控制。由于单片机主要面向工业控制,工作环境比较恶劣,如高温、强电磁干扰,甚至含有腐蚀性气体,因而单片机控制系统还必须

36、具有抗辐射能力。单片机CPU与通用微机CPU相比,具有以下特点:(1)抗干扰性强,工作温度范围宽。通用微机CPU一般要求在室温下工作,抗干扰能力较低。(2)可靠性高。在工业控制中,任伺差错都有可能造成极其严重的后果。(3)控制功能很强,数值计算能力较差。而通用微机CPU具有很强的数值运算能力,但控制能力相对较弱,将通用微机用于工业控制时,一般需要增加一些专用的接口电路。(4)指令系统比通用微机系统简单。(5)更新换代速度比通用微机处理器慢得多。2 单片机的应用目前单片机的应用已深入到国民经济的各个领域,对各个行业的技术改造和产品的更新换代起着重要的推动作用,其应用领域主要有智能仪器仪表、机电一

37、体化、实时控制、民用电子产品及国防工业等。 (1)单片机在智能仪表中的应用单片机广泛地应用于实验室、交通运输工具、计量等各种仪器仪表之中,可使仪器仪表智能化,提高了它们的测量精度,加强了它们的功能,简化了它们的结构,便于使用、维护和改进。例如:电度表校验仪,电阻、电容、电感测量仪,船舶航行状态记录仪,烟叶水分测试器,智能超声波测厚仪等。单片机在智能仪表中的应用,不仅使传统的仪器仪表发生了根本性变革,也促进了仪器仪表行业的发展。(2)单片机在机电一体化中的应用机电一体化是机械工业发展的重要方向。机电一体化产品是指集机械技术、微电子技术、自动化技术和计算机技术于体,具有智能化特征的机电产品。例如:

38、微机控制的数控机床等。单片机的出现促进了机电体化的进程,它作为机电产品中的控制器,能充分发挥它的体积小、可靠性高、控制功能强、安装方便等优点,大大提升了机器的功能,提高了机器的自动化、智能化的程度。(3)单片机在实时控制中的应用单片机也可广泛地应用于各种实时控制系统中,如对工业上各种窑炉的温度、酸度、化学成分的测量和控制,使系统工作于最佳状态,提高系统的生产效率和产品的质量。在航空航天、通信、遥控、遥测、工业机器人控制等各种实时控制和实时数据采集系统中都可以用单片机作为控制器。(4)在军工领域的应用利用单片机的可靠性高、适应的温度范围宽、能适应各种恶劣的环境的特点可广泛应用于导弹控制、智能武器

39、装备、航天飞机导航系统等领域。(5)单片机在分布式多机系统中的应用利用单片机可以构成分布式多机系统,系统中由若干台单片机组成的功能各异的仪器设备各自完成特定的任务,再通过通信相互联系,协调完成整个任务。这使得系统可同时采集或处理的信息更多,单片机的应用进入了个新阶段。(6)在民用电子产品中的应用单片机在民用电子产品中的应用,能明显提高产品的性能价格比,提高产品在市场上的竞争能力,受到了产品开发商和用户的双重青睐。目前高档的家用电器、电子玩具等几乎都是由单片机来作为控制器的。单片机发展简史如果将8位单片机的推出作为起点,那么单片机的发展经历了探索-完善-MCU化-百花齐放四个阶段。1 芯片化探索

40、阶段20世纪70年代,美国的Fairchild(仙童)公司首先推出了第一款单片机F-8,随后Intel公司推出了影响面大、应用更广的MCS-48单片机系列。MCS-48单片机系列的推出标志着在工业控制领域,进入到智能化嵌入式应用的芯片形态计算机的探索阶段。参与这一探索阶段的还有Motorola、Zilog和TI等大公司,它们都取得了满意的探索效果,确立了在SCMS的嵌入式应用中的地位。这就是Single Chip Microcomputer的诞生年代,单片机一词即由此而来。这一时期的特点是:嵌入式计算机系统的芯片集成设计;少资源、无软件,只能保证基本控制功能。2 结构体系的完善阶段 在MCS-

41、48探索成功的基础上很快推出了完善的、典型的单片机系列MCS-51。MCS51系列单片机的推出,标志Single Chip Microcomputer体系结构的完善。它在以下几个方面奠定了典型的通用总线型单片机的体系结构。(1) 完善的总线结构:并行总线:8位数据总线、16位地址总线及相应的控制总线,两个独立的地址空间;串行总线:通行总线,扩展总线。(2) 完善的指令系统:具有很强的位处理功能和逻辑控制功能,以满足工业控制等方面的需要;功能单元的SFR(特殊功能寄存区)集中管理。(3) 完善的MCS-51成为SCMC的经典体系结构。日后,许多电气商在MCS-51的内核和体系结构的基础上,生产出

42、各具特色的单片机。3 从SCMC向MCU化过渡阶段Intel公司推出的MCS-96单片机,将一些用于测控系统的模数转换器(ADC)、程序运行监视器(WDT)、脉宽调制器(PWM)、高速I/O口纳入片中,体现了单片机的微控制器特征。MCS-51单片机系列向各大电气商的广泛扩散,许多电气商竞相使用80C51为核,将许多测控系统中使用的电路技术、接口技术、可靠性技术应用到单片机中;随着单片机内外围功能电路的增强,强化了智能控制器特征。微控制器(Microcontrollers)成为单片机较为准确表达的名词。其特点是:(1)满足嵌入式应用要求的外围扩展,如WDT、PWM、ADC、DAC、高速I/O口等

43、。(2)众多计算机外围功能集成,如提供串行扩展总线:SPI、I2C BUS、Microwire;配置现场总线接口:CAN BUS。(3)CMOS化,提供功耗管理功能。(4)提供OTP供应状态,利于大规模和批量生产。4 MCU的百花齐放阶段单片机发展到这一阶段,表明单片机已成为工业控制领域中普遍采用的智能化控制工具小到玩具、家电行业,大到车载、舰船电子系统,遍及计量测试、工业过程控制、机械电子、金融电子、商用电子、办公自动化、工业机器人和航空航天领域。为满足不同的要求,出现了高速、大寻址范围、强运算能力和多机通信能力的8位、16位、32位通用型单片机,小型廉价型、外围系统集成的专用型单片机,以及

44、形形色色各具特色的现代单片机。可以说,单片机的发展进入了百花齐放的时代,为用户的选择提供了空间。这一时期的特点为: (1)电气商、半导体商的普遍介入 MCS-48的成功,刺激了许多半导体公司竞相研制和发展自己的单片机系列。到目前为止,世界各地厂商已相继研制出大约50个系列300多个品种的单片机产品,其中较有代表性的有Motorola公司的6801、6802,Zilog公司的Z-8系列,Microchip公司的PIC系列等。此外,日本的NEC公司、日立公司也都推出了各自具有特色的单片机品种。(2)大力发展专用单片机通用型与专用型是按某一型号单片机适用范围区分的。例如,80C51是通用型单片机,它

45、并不是为某一种专门用途设计的单片机;而专用型单片机是针对某一类产品甚至某个产品需要而设计、生产的单片机。例如,来电显示电话中配有液晶驱动器接口的单片机和全自动洗衣机中的微控制器,都是专用单片机;特别是小家电、玩具领域的单片机,因为小封装、价格低廉,外围器件、外设接口集成度高,多数为专用单片机。(3)提高综合品质在体系结构(RISC)、电磁兼容性能(EMC)、开发环境(高级语言支持ISP、IAP等)、功耗管理等诸方面得到了提高。 根据控制单元设计的方式与采用的技术不同,目前市场上的这些单片机可区分为两大类型:繁杂指令集结构(CISC架构)和精简指令集结构(RISC架构)。繁杂指令集结构(CISC

46、)的特点是指令多,寻址方式丰富,较适合初学者系统学习,如INTEL的80C51和80C196、MC68K;而精简指令集结构(RISC)具有较少的指令与寻址模式,结构简单,成本较低,执行程序的速度较快,成为单片机的后起之秀,如PIC、EM78EM78XXX和Z86HCXX。 (1)第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS - 48为代表。MCS-48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。 (2)第二阶段(1978-1982)单片机的完善阶段。Inte

47、l公司在MCS-48 基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。 a.完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。 b.CPU外围功能单元的集中管理模式。 c.体现工控特性的位地址空间及位操作方式。 d.指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。 (3)第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统

48、的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS-51系列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。 (4)第四阶段(1990):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大-*-寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。5 NEC单片机: NEC单片机自成体系,以8位机78K系列产量最高,也有16位,32位单片机。16位单片机采用内部

49、倍频技术,以降低外时钟频率。有的单片机采用内置操作系统。 NEC公司一直在关注微控制器的未来发展,它的具体目标就是走向ALL Flash,要提供一个完整的flash存储器产品的生产阵容。一个产品细分的多样阵容提供了全部范围的产品,有10100引脚和1KB128KB的ROM容量;可通过更改程序,结合外围硬件功能和降低功耗来降低成本;又提供全范围的开发工具,简单易用。习 题1. 简述微型计算机的结构及其各部分的作用。2. 简述存储器的分类、分类依据及其各种存储器的特点。3. 简述计算机与外部设备数据传送的方式及各自的特点。4. 单片机的发展大致分为哪几个阶段?第2章 单片机入门知识学习单片机,首先

50、要了解单片机的一些相关知识,如堆栈、中断、A/D、DMA、串行通信等,本节将对这些知识逐一介绍,使对单片机的学习达到事半功倍的效果。2.1 堆栈堆栈(Stack)是一组寄存器或存储器中开辟的一个特定区域。由内部寄存器组构成的堆栈叫硬件堆栈;由软件开辟的存储器区域构成的堆栈叫软件堆栈。目前绝大多数微型计算机中都是采用软件堆栈。2.1.1 堆栈的作用堆栈主要用于中断处理与过程(子程序)调用。堆栈的“先进后出”操作方式给中断处理和子程序调用/返回(特别是多重中断与多重调用)带来很大方便。实用程序中,常有主程序与子程序两大部分。如果在一个程序中需要多次使用某段程序,就把这段程序独立出来编成子程序,其他

51、部分称为主程序。在主程序执行过程中需要使用该子程序时,就用调用于程序指令来调用它,待子程序执行完后再返回继续执行主程序,其过程如图2.1.1所示。这样做就可以避免编制程序时的重复工作,并缩短了程序的长度。执行主程序主程序子程序断点继续执行主程序执行子程序返回主程序调用子程序图2.1.1 主程序与子程序在调用子程序的过程中要保留断点地址,有时还要保护现场。所谓断点地址,就是调用子程序指令中按顺序排列的下一条指令的地址,也就是执行调用子程序指令时的程序计数器PC的内容。只有保留了断点地址,才能在子程序执行后保证返回到主程序的断点处,继续执行主程序。所谓现场,就是调用子程序前保存在累加器A、工作寄存

52、器及标志寄存器中的信息,这些信息是主程序执行的中间结果。如果在执行子程序的过程中要使用这些寄存器,将会破坏原来的内容。为此,进入子程序后,首先要转存这些寄存器的内容,这就是保护现场。断点地址与现场信息是送入堆栈保存的。在返回主程序前,要把保存在堆栈中的现场信息送回对应的寄存器,这叫恢复现场。有时在执行一段子程序的过程中还要调用其他子程序,如图所示,这称为子程序嵌套。这种情况下,堆栈不仅需要存放多个断点地址和多批现场信息,而且为了保证逐次正确返回,要求先存入堆栈中的断点地址和现场信息后再取出来,所以堆栈按照“先进后出”的方式工作。主程序子程序1断点1子程序2子程序3断点2断点3子程序4图2.1.

53、2 子程序嵌套2 堆栈操作堆栈在计算机中是作为一种数据结构或数据暂存方式引入的。数据存入堆栈称为压入(PUSH)操作;从堆栈取出数据称为弹出(POP)操作。堆栈的存取过程恰像货物的堆放过程,是按“先进后出”(FILO)或“后进先出”(LIFO)的方式进行的。当新的数据压入堆栈时,栈中原存数据不被破坏,而只改变栈顶位置;当数据从堆栈弹出时,弹出的是栈顶位置的数据,弹出后自动调整栈顶位置。即是说,数据无论压入堆栈还是从堆栈弹出,总是在栈顶进行。保护现场和恢复现场是由推入指令和弹出指令实现的。断点地址推入堆栈是执行调用子程序指令时由硬件自动实现的,断点地址自堆栈中弹出是执行返回主程序指令RET时由硬

54、件自动实现的。3 堆栈指针堆栈指针SP(Stack Pointer)是一个专用的地址寄存器,用来指示栈顶地址,起着管理堆栈工作的作用。SP的初值由程序员设定。一旦设定初值后,便意味着栈底在内存储器中的位置已经确定,此后SP的内容即栈顶位置便由CPU自动管理。下面以NEC单片机uPD78F0547为例,说明堆栈工作过程和SP的作用。堆栈指针(SP)是一个16位的寄存器,如表2.1.1所示。用来存放存储器堆栈区的起始地址。只有内部高速RAM区域才能被设置为堆栈区。SP15SP14SP13SP12SP11SP10SP9SP8SP7SP6SP5SP4SP3SP2SP1SP0表2.1.1 堆栈指针格式在

55、向堆栈写(存)数据时,堆栈指针SP递减,而从堆栈中读出(恢复)数据时,堆栈指针累加。堆栈的数据存储/恢复操作过程如图2.1.3 和2.1.4所示。FEE0HFEDEHFEDFHFEE0HFEDEH寄存器对高位部分寄存器对低位部分SPSP图 2.1.3 将数据存入堆栈FEE0HFEDEHFEDFHFEE0HFEDEH寄存器对高位部分寄存器对低位部分SPSP图 2.1.4 从堆栈读出数据2.2 中断2.2.1 什么叫中断?简单来说,中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作。这些引起中断的事件称为中断源,它们可能是来自外设的输入输出请求,也可能是计算机的一些异常事故或其它内部原因

56、。更具体地,我们定义CPU中断为这样一个过程:在特定的事件(中断源,也称中断请求信号)触发下引起CPU暂停正在运行的程序(主程序),转而先去处理一段为特定事件而编写的处理程序(中断处理程序),等中断处理程序处理完成后,再回到主程序被打断的地方继续运行。利用中断技术管理外设后,CPU从反复询问外设状态中解放出来,提高了工作效率。而且,可以同时为多个外设服务。利用中断技术后,现场的参数、信息在需要处理时,可随时向CPU发中断请求信号,以便及时响应,及时处理,实现实时控制。2.2.2 中断类型在PC机系统中,根据中断源的不同,中断常分为两大类:硬件中断和软件中断。硬件中断也称为外部中断,它又可以分为两种:(1)可屏蔽中断:是可以被CPU屏蔽的由中断电路发出的中断请求信号在CPU的INTR端引起的中断,它常常由PC机的外设或一些接口功能产生,如键盘、打印机、串行口等。可屏蔽意味着这类型中断可以在CPU要处理其它紧急操作时,被软件屏蔽或忽略。 (2)非屏蔽中断:是由CPU的NMI端引起的中断,如当系统出现掉电、内存奇偶校验错误等,系统都将使用非屏蔽中断。非屏蔽是指CPU不能用软件指令来禁止对

温馨提示

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

评论

0/150

提交评论