资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第2章 单片机的结构原理与简单应用,1,教学目的,了解单片机的内部结构与主要型号。,掌握单片机引脚信号功能定义。,掌握单片机的存储器空间分配及各I/O口的特点。,掌握单片机的复位电路、时钟电路及指令时序。,利用单片机的I/O口实现循环灯的控制。,学习重点和难点,单片机的结构特点。,存储器配置与空间的分布。,程序状态寄存器(PSW)。,单片机的指令时序。,2,第2章 单片机的结构原理与简单应用,2.1 单片机的结构与原理,2.2 单片机的存储器,2.3 单片机的输入/输出端口,2.4 时钟电路,2.5 复位电路,2.6 常用单片机功能简介,本章小结,习题,3,2.1 单片机的结构与原理,2.1.1 8051单片机的基本组成,2.1.2 8051单片机的内部结构,2.1.3 8051单片机的引脚及功能,2.1.4 单片机的工作原理,4,2.1.1 8051单片机的基本组成,MCS-51是美国Intel公司的8位高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。,8051/80C51,是整个MCS-51系列单片机的核心,该系列其他型号的单片机都是在这一内核的基础上发展起来的。,MCS-51单片机系列分为51和52子系列,并以芯片型号的末位数字加以标识。其中,,51子系列,是基本型,而,52子系列,是增强型。,单片机型号带有字母“C”的,表示该单片机采用的是,CHMOS工艺,,具有低功耗的特点。,8051的功耗为,630mW,,而80C51的功耗只有,120mW,。,5,MCS-51系列单片机技术参数表,子系列,片内ROM形式,片内,ROM,片内,RAM,寻址,范围,I/O特性,中,断,源,无,ROM,EPROM,定时器,并行口,串行口,51 子系列,8031,8051,8751,4KB,128B,264KB,216,48,1,5,80C31,80C51,87C51,4KB,128B,264KB,216,48,1,5,52 子系列,8032,8052,8752,8KB,256B,264KB,316,48,1,6,80C32,80C52,87C52,8KB,256B,264KB,316,48,1,6,6,2.1.1 8051单片机的基本组成,8051单片机的结构框图如下图所示,可以看出,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:,1个8位微处理器(CPU)。,1个时钟电路。,4KB程序存储器。,256B数据存储器。,2个16位定时/计数器。,64KB扩展总线控制电路。,4个8位并行I/O接口P0P3。,1个全双工串行I/O接口。,5个中断源,其中包括2个优先级嵌套中断。,7,2.1.2 8051单片机的内部结构,CPU,即中央处理器,是单片机的核心部件,是计算机的控制指挥中心。同微型计算机CPU类似,8051内部CPU由运算器和控制器两部分组成。,运算器,电路以算术逻辑单元(ALU,Arithmetic Logic Unit)为核心,由暂存器1、暂存器2、累加器(ACC,Accumulator)、,寄存器,B、,程序状态寄存器,(PSW,Program Status Word)及布尔处理机共同组成。它的主要任务是完成算术运算、逻辑运算、位运算和数据传送等操作,运算结果的状态由程序状态寄存器(PSW)保存。,控制器,电路包括,程序计数器,(PC)、PC增1寄存器、指令寄存器(IR)、指令译码器(ID)、,数据指针,(DPTR)、,堆栈指针,(SP)、缓冲器及定时控制电路等。控制器电路完成指挥控制工作,协调单片机各部分正常工作。,9,8051单片机内部结构图,10,2.1.3 8051单片机的引脚及功能,MCS-51单片机的封装形式有两种,一种是,双列直插式,(DIP)封装,另一种是方形封装。,8051的40个引脚可分为:,电源,引脚2根,时钟,引脚2根,控制,引脚4根,I/O,引脚32根,由于8051单片机是高性能的单片机,同时受到引脚数目的限制,所以有部分引脚具有,第二功能,。,11,8051单片机引脚图,DIP引脚图 逻辑符号,12,8051引脚的功能描述(一),电源引脚(2根),V,CC,(40脚):电源端,接+5V电源。,V,SS,(20脚):接地端。,时钟引脚(2根),XTAL1,(19脚):接外部晶振和微调电容的一端。采用外部时钟电路时,对HMOS型工艺的单片机,此引脚应接地;对CHMOS型而言,此引脚应接外部时钟的输入端。,XTAL2,(18脚):接外部晶振和微调电容的另一端。使用外部时钟时,对HMOS型工艺的单片机,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚悬空。,13,8051引脚的功能描述(二),控制引脚(4根),RST/V,PD,(9脚):复位信号/备用电源输入引脚。,当RST引脚保持两个机器周期的高电平后,就可以使8051完成复位操作。该引脚的第二功能是V,PD,,即备用电源的输入端,具有掉电保护功能。若在该引脚接+5V备用电源,在使用中若主电源VCC掉电,可保护片内RAM中的信息不丢失。,ALE/PROG,(30脚):地址锁存允许信号输出/编程脉冲输入引脚。当CPU访问片外存储器时,ALE输出信号控制锁存P0口输出的低8位地址,从而实现P0口数据与低位地址的分时复用。当8051上电正常工作后,自动在ALE端输出频率为fosc/6的脉冲序列(fosc代表振荡器的频率)。,该引脚的第二功能PROG是对8751内部4KB EPROM编程写入时,作为编程脉冲的输入端。,EA/V,PP,(31脚):外部程序存储器地址允许输入端/编程电压输入端。,当EA接高电平时,CPU执行片内ROM指令,但当PC值超过0FFFH时,将自动转去执行片外ROM指令;当EA接低电平时,CPU只执行片外ROM指令。对于8031,由于其无片内ROM,故其EA必须接低电平。,该引脚的第二功能V,PP,是对8751片内EPROM编程写入时,作为21V编程电压的输入端。,PSEN,(29脚):片外ROM读选通信号端。,在读片外ROM时,PSEN有效,为低电平,以实现对片外ROM的读操作。,14,8051引脚的功能描述(三),I/O引脚(48=32根),(3932脚):P0口的8位双向I/O口线。,P0口即可作地址/数据总线使用,又可作通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。,(18脚):P1口的8位准双向I/O口线。,P1口作为通用的I/O口使用。,(2128脚):P2口的8位准双向I/O口线。,P2口即可作为通用的I/O口使用,也可作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。,(1017脚):P3口的8位准双向I/O口线。,P3口除了作为通用的I/O口使用之外,每个引脚还具有第二功能。,15,2.1.4 单片机的工作原理,单片机执行程序的过程,就是逐条执行指令的过程。单片机每执行一条指令都可分为三个阶段,即,取指令分析指令执行指令,。,取指令,的任务是根据程序计数器PC中的值从程序存储器读出下一条要执行的指令,送到指令寄存器。,分析指令,的任务是将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。接下来,就是,执行指令,。,单片机中的程序一般事先都已通过写入器(,编程器,)固化在片内或片外程序存储器中,因而一开机即可执行指令。,16,2.2 单片机的存储器,2.2.1 程序存储器ROM,2.2.2 数据存储器RAM,2.2.3 数据存储器数据读写应用实例,17,8051的存储器结构,8051的存储器结构与常见的微型计算机的配置方式不同,它把,程序存储器,和,数据存储器,分开,有各自的寻址系统、控制信号和功能。,8051的存储器在物理结构上分为,片内数据存储器,、,片内程序存储器,、,片外数据存储器,和,片外程序存储器,4个存储空间。但从用户使用的角度看,8051的存储器分为3个逻辑空间。,18,存储空间分布图,片内外统一寻址的,64KB,程序存储器空间,地址范围为,0000H,FFFFH,。,64KB,的片外数据存储器空间,地址范围也为,0000H,FFFFH,。,256B,的片内数据存储器空间,地址范围为,00H,FFH,。,19,2.2.1 程序存储器ROM,程序存储器ROM用来存放,程序,、,常数,或,表格,等。,在8051中,其存储空间分布如下:,片内有4KB的ROM存储单元,地址为0000H0FFFH。,片外最多可扩至64KB的ROM,地址为1000HFFFFH。,片内外ROM统一编址。,当EA引脚接,高电平,时,CPU将首先访问片内ROM,当指令地址超过0FFFH时,自动转向片外ROM取指令。,当EA引脚接,低电平,时,CPU只访问片外ROM。片外ROM的地址从0000H开始编址。对于8031,由于其片内无ROM,所以使用时必须使EA接低电平,以便能够从片外扩展的EPROM中取指令。,20,2.2.1 程序存储器ROM,在程序存储器中,以下6个单元具有特殊含义。,0000H:单片机复位后的程序入口地址。,0003H:,外部中断0,的中断服务程序入口地址。,000BH:,定时器0,的中断服务程序入口地址。,0013H:,外部中断1,的中断服务程序入口地址。,001BH:,定时器1,的中断服务程序入口地址。,0023H:,串行口,的中断服务程序入口地址。,21,2.2.2 数据存储器RAM,数据存储器RAM主要用来存放运算的,中间结果,和,数据,等。,在8051中,其存储空间分布如下:,片外RAM最多可扩至64KB存储单元,地址范围为0000HFFFFH。,片内RAM为256B存储单元,地址范围为00HFFH。,片内RAM地址空间共有256B,又分为两个部分:,低128B(00H7FH)为,真正的RAM区,,如下图所示,。,高128B(80HFFH)为,特殊功能寄存器,(SFR)区,如下表所示,。,22,(H)=66H,掌握单片机引脚信号功能定义。,部分特殊功能寄存器的复位状态,(a)上电自动复位 (b)按键手动复位,【程序2】位寻址区的读写,MAIN:CLR P1.,LCALL DELAY,当EA接低电平时,CPU只执行片外ROM指令。,0连接一个开关,作为输入端;,图中的控制信号C决定转换开关MUX的位置:当C=0时,MUX拨向下方,P0口为通用I/O口;,说明:表中符号状为随机态。,将立即数60H送到累加器A中,ORG 2000H,ORG 0000H,延时子程序同例1。,片内RAM地址空间,7FH,30H,2FH,7F,7E,7D,7C,7B,7A,79,78,2EH,77,76,75,74,73,72,71,70,2DH,6F,6E,6D,6C,6B,6A,69,68,2CH,67,66,65,64,63,62,61,60,2BH,5F,5E,5D,5C,5B,5A,59,58,2AH,57,56,55,54,53,52,51,50,29H,4F,4E,4D,4C,4B,4A,49,48,28H,47,46,45,44,43,42,41,40,27H,3F,3E,3D,3C,3B,3A,39,38,26H,37,36,35,34,33,32,31,30,25H,2F,2E,2D,2C,2B,2A,29,28,24H,27,26,25,24,23,22,21,20,23H,1F,1E,1D,1C,1B,1A,19,18,22H,17,16,15,14,13,12,11,10,21H,0F,0E,0D,0C,0B,0A,09,08,20H,07,06,05,04,03,02,01,00,1FH,18H,第3组工作寄存器(R0R7),17H,10H,第2组工作寄存器(R0R7),0FH,08H,第1组工作寄存器(R0R7),07H,00H,第0组工作寄存器(R0R7),工作寄存器区,位寻址区,用户RAM区,(堆栈、数据缓冲区,),23,SFR中位地址分布表,SFR,MSB,位地址/位定义,LSB,字节地址,B,F7,F6,F5,F4,F3,F2,F1,F0,F0H,ACC,E7,E6,E5,E4,E3,E2,E1,E0,E0H,PSW,D7,D6,D5,D4,D3,D2,D1,D0,D0H,CY,AC,F0,RS1,RS0,OV,-,P,IP,BF,BE,BD,BC,BB,BA,B9,B8,B8H,-,-,-,PS,PT1,PX1,PT0,PX0,P3,B7,B6,B5,B4,B3,B2,B1,B0,B0H,P3.7,P3.6,P3.5,P3.4,P3.3,P3.2,P3.1,P3.0,IE,AF,AE,AD,AC,AB,AA,A9,A8,A8H,EA,-,-,ES,ET1,EX1,ET0,EX0,P2,A7,A6,A5,A4,A3,A2,A1,A0,A0H,P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0,SCON,9F,9E,9D,9C,9B,9A,99,98,98H,SM0,SM1,SM2,REN,TB8,RB8,TI,RI,P1,97,96,95,94,93,92,91,90,90H,P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0,TCON,8F,8E,8D,8C,8B,8A,89,88,88H,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,P0,87,86,85,84,83,82,81,80,80H,P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P0.0,24,2.2.3 数据存储器数据读写应用实例,【程序1】,工作寄存器的读写,地址,机器码,程 序,注 释,检查结果,ORG 0000H,;程序从ROM区0000H处开始存放,0000H,78 11,MOV R0,#11H,;将立即数11H送入寄存器R0中,(H)=11H,0002H,79 22,MOV R1,#22H,;将立即数22H送入寄存器R1中,(H)=22H,0004H,7A 33,MOV R2,#33H,;将立即数33H送入寄存器R2中,(H)=33H,0006H,7B 44,MOV R3,#44H,;将立即数44H送入寄存器R3中,(H)=44H,0008H,75 D0 10,MOV PSW,#10H,;使当前工作寄存器组为第2组,(H)=10H,000BH,78 55,MOV R0,#55H,;将立即数55H送入寄存器R0中,(H)=55H,000DH,79 66,MOV R1,#66H,;将立即数66H送入寄存器R1中,(H)=66H,000FH,7A 77,MOV R2,#77H,;将立即数77H送入寄存器R2中,(H)=77H,0011H,7B 88,MOV R3,#88H,;将立即数88H送入寄存器R3中,(H)=88H,END,;程序结束,25,【程序2】,位寻址区的读写,地址,机器码,程 序,注 释,检查结果,ORG 0100H,;程序从ROM区0100H处开始存放,0100H,D2 00,SETB 00H,;将位地址为00H的位置1,(H)=1,0102H,D2 01,SETB 01H,;将位地址为01H的位置1,(H)=1,0104H,D2 02,SETB 02H,;将位地址为02H的位置1,(H)=1,0106H,D2 03,SETB 03H,;将位地址为03H的位置1,(H)=1,0108H,C2 04,CLR 04H,;将位地址为04H的位清0,(H)=0,010AH,C2 05,CLR 05H,;将位地址为05H的位清0,(H)=0,010CH,C2 06,CLR 06H,;将位地址为06H的位清0,(H)=0,010EH,C2 07,CLR 07H,;将位地址为07H的位清0,(H)=0,(20H)=,0110H,C2 90,CLR 90H,;将P1.0位清0,(H)=0,0112H,D2 90,SETB 90H,;将P1.0位置1,(H)=1,0114H,C2 91,CLR 91H,;将P1.1位清0,(H)=0,0116H,D2 91,SETB 91H,;将P1.1位置1,(H)=1,END,;程序结束,26,【程序3】,一般RAM区和特殊功能寄存器区的读和写,地址,机器码,程 序,注 释,检查结果,ORG 0200H,;程序从ROM区0200H存放,0200H,75 30 99,MOV 30H,#99H,;将立即数99H送到30H单元中,(30H)=,(PC)=,0203H,75 45 AA,MOV 45H,#0AAH,;将立即数AAH送到45H单元中,(45H)=,(PC)=,0206H,75 81 50,MOV SP,#50H,;将立即数50H送到堆栈指针SP中,(H)=50H,(PC)=,0209H,74 60,MOV A,#60H,;将立即数60H送到累加器A中,(H)=60H,(PC)=,020BH,75 90 55,MOV P1,#55H,;将立即数55H送到P1口中,(H)=55H,(PC)=,020EH,75 D0 90,MOV PSW,#90H,;将立即数90H送到PSW中,使当前工作寄存器组为第2组且将CY位置1,(H)=90H,(PC)=,0211H,90 12 34,MOV DPTR,#1234H,;将立即数1234H送到数据指针DPTR中,(H)=12H,(H)=34H,END,;程序结束,27,2.3 单片机的输入/输出端口,2.3.1 输入/输出端口结构,2.3.2 输入/输出端口负载能力,2.3.3 P1口输出功能应用实例,2.3.4 P3口输入功能应用实例,28,2.3.1 输入/输出端口结构,8051单片机有4个8位并行I/O端口,称为,P0,、,P1,、,P2,和,P3,口,每个端口都各有8条I/O口线,每条I/O口线都能独立地用作输入或输出。,在无片外扩展存储器的系统中,这四个I/O口都可以作为,通用I/O口,使用。,在有片外扩展存储器的系统中,P2口送出,高8位地址,,P0口分时送出,低8位地址,和,8位数据,。,29,1.P0口,P0口某一位的结构图如下图所示,它由一个,输出锁存器,、两个,三态输入缓冲器,、一个,转换开关,MUX、一个,输出驱动电路,(T1和T2)和一个,与门,及一个,非门,组成。,30,(1)P0口用作通用I/O口,MUX与锁存器的Q端接通,与门输出为0,T1截止,输出驱动级就工作在需外接上拉电阻的漏极开路方式。,P0口用作输出口,CPU在执行输出指令时,内部数据总线的数据在“写锁存器”信号的作用下,由D端进入锁存器,取反后出现在Q端,再经过T2反向,则P0.X引脚上的数据就是内部总线的数据。由于T2为漏极开路输出,故此时必须外接上拉电阻。,P0口用作输入口,数据可以读自端口的锁存器,也可以读自端口的引脚,这要看输入操作执行的是“读锁存器”指令还是“读引脚”指令。,方式1:读引脚,。CPU在执行“MOV”类输入指令时(如:MOV A,P0),内部产生的操作信号是“读引脚”。P0.X引脚上的数据经过缓冲器2读入到内部总线。注意,在读引脚时,必须先向电路中的锁存器,写入1,,使T2截止,P0.X引脚处于悬浮状态,可作为高阻抗输入。,方式2:读锁存器,。CPU在执行“,读-改-写,”类输入指令时(如:ANL P0,A),内部产生的操作信号是“读锁存器”,锁存器中的数据经过缓冲器1送到内部总线,然后与A的内容进行逻辑“与”,结果送回P0的端口锁存器并出现在引脚。除了MOV类指令外,其他的读口操作指令都属于这种情况。,31,(2)P0口用作地址/数据总线,MUX将地址/数据线与T2接通,同时与门输出有效。,若地址/数据线为1,则T1导通,T2截止,P0口输出为1;反之T1截止,T2导通,P0口输出为0。,当数据从P0口输入时,读引脚使三态缓冲器2打开,端口上的数据经缓冲器2送到内部总线。,32,(3)P0口小结,P0口既可作地址/数据总线使用,也可作通用I/O口使用。当P0口作地址/数据总线使用时,就不能再作通用I/O口使用了。,P0口作输出口使用时,输出级属漏极开路,必须外接上拉电阻,才有高电平输出。,P0口作输入口读引脚时,应先向锁存器写1,使T2截止,不影响输入电平。,33,2.P1口,P1口是唯一的单功能口,仅能作为通用I/O口使用。由于在其输出端接有上拉电阻,故可以直接输出而无需外接上拉电阻。,同P0口一样,当作输入口时,必须先向锁存器写“1”,使场效应管T截止。,34,3.P2口,图中的控制信号C决定转换开关MUX的位置:当C=0时,MUX拨向下方,P0口为通用I/O口;当控制信号C=1时,MUX拨向上方,P0口作为地址总线使用。,在实际应用中,P2口通常作为高8位地址总线使用。,35,4.P3口,P3口用作通用I/O口时,第二输出功能信号W=1,P3口的每一位都可定义为输入或输出,其工作原理同P1口类似。,在真正的应用电路中,P3口的第二功能显得更为重要,。,36,2.3.2 输入/输出端口负载能力,P0口的输出级与P1P3口的输出级在结构上不同,其输出级无上拉电阻,因此它们的负载能力和接口要求也不相同。,P0口,的每一位能驱动,8个LSTTL,负载。在作为通用I/O口使用时,输出驱动电路是开漏的,所以,驱动集电极开路(OC门)电路或漏级开路电路需,外接上拉电阻,。当作为地址/数据总线使用时(T1可以提供上拉电平),口线不是开漏的,无需外接上拉电阻。,P1P3口,的每一位能驱动,4个LSTTL,负载。它们的输出驱动电路有上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏级开路电路所驱动,而无需外接上拉电阻。,对于80C51单片机(CHMOS),端口只能提供几毫安的输出电流,故当作输出口去驱动一个普通晶体管的基极时,应在端口与晶体管基极间,串联一个电阻,,以限制高电平输出时的电流。,38,2.3.3 P1口输出功能应用实例,【例1】,P1口做输出口,控制八只发光二极管循环点亮(P1口输出低电平时发光二极管被点亮)。,解:由于发光二极管低电平点亮,所以,需要哪个发光二极管点亮,只需在相应的端口输出逻辑0即可。由于每个发光二极管点亮后要持续一段时间才熄灭,再使下个发光二极管点亮,因此需要编写延时子程序,供主程序反复调用。,本例中,延时子程序采用指令循环来实现。,地址,机器码,程序,注释,ORG 0000H,0000H,02 10 00,LJMP MAIN,ORG 1000H,1000H,74 FE,MAIN:MOV A,#0FEH,1002H,F5 90,LOOP:MOV P1,A,1004H,12 10 0A,LCALL DELAY,;延时,1007H,23,RL A,;左移位,1008H,80 F8,SJMP LOOP,;循环,100AH,7F FF,DELAY:MOV R7,#0FFH,;延时子程序,100CH,7E FA,L1:MOV R6,#0FAH,100EH,DE FE,DJNZ R6,$,1010H,DF FA,DJNZ R7,L1,1012H,22,RET,END,39,【例2】,利用P1.0输出高低电平,控制继电器的开合,以实现对外部装置(如灯L1和L2)的控制。,解:将单片机的P1.0接继电器控制端JIN,继电器的JZ通过K1接地,常开触点JK接L1,常闭触点JB接L2。编制程序,使P1.0电平变化,高电平时继电器吸合,常开触点闭合,L1点亮,L2熄灭;低电平时继电器不工作,常闭触点闭合,L2点亮,L1熄灭。,40,参考程序:,地址,机器码,程序,注释,ORG 0000H,0000H,02 20 00,LJMP MAIN,ORG 2000H,2000H,C2 90,MAIN:CLR P1.0,;P1.0送低电平,2002H,12 20 0C,LCALL DELAY,;延时,2005H,D2 90,SETB P1.0,;P1.0送高电平,2007H,12 20 0C,LCALL DELAY,;延时,200AH,80 F4,SJMP MAIN,;循环,200CH,7F 06,DELAY:MOV R7,#06H,;延时子程序,200EH,7E FF,L1:MOV R6,#0FFH,2010H,7D FA,L2:MOV R5,#0FAH,2012H,DD FE,DJNZ R5,$,2014H,DE FA,DJNZ R6,L2,2016H,DF F6,DJNZ R7,L1,2018H,22,RET,END,41,参考程序:,地址,机器码,程序,注释,ORG 0000H,0000H,02 30 00,LJMP MAIN,ORG 3000H,3000H,74 FE,MAIN:MOV A,#0FEH,3002H,F5 90,LOOP:MOV P1,A,3004H,12 30 10,LCALL DELAY,;延时,3007H,20 B0 03,JB P3.0,L1,300AH,03,RR A,;右移位,300BH,80 F5,SJMP LOOP,;循环,300DH,23,L1:RL A,;左移位,300EH,80 F2,SJMP LOOP,;循环,3010H,7F FF,DELAY:MOV R7,#0FFH,;延时子程序,3012H,7E FA,L2:MOV R6,#0FAH,3014H,DE FE,DJNZ R6,$,3016H,DF FA,DJNZ R7,L2,3018H,22,RET,END,43,2.4 时钟电路,2.4.1 CPU时序,2.4.2 时钟电路,44,2.4.1 CPU时序,CPU时序就是CPU在执行指令时所需控制信号的时间顺序。,单片机的时序定时单位从小到大依次为:,时钟周期,、,状态周期,、,机器周期,和,指令周期,。,MCS-51单片机共有111条指令,按照指令字节数和机器周期数可分为六类,即单字节,单周期,指令、单字节,双周期,指令、单字节,四周期,指令、双字节单周期指令、双字节双周期指令和三字节双周期指令。,45,典型指令的取指、执行时序,时钟周期,为单片机提供定时信号的振荡源的周期或外部输入时钟信号的周期,也称为,振荡周期,。,状态周期,(,或状态,S),是振荡周期的两倍,它分为,P1,节拍和,P2,节拍。,一条指令的执行过程分作几个基本操作,完成一个基本操作所需的时间称作,机器周期,。,执行一条指令所需的时间称为,指令周期,。,一个机器周期包括,6,个状态,,12,个振荡周期,46,2.4.2 时钟电路,8051单片机的时钟信号通常由两种方式产生:一是,内部振荡方式,,二是,外部时钟方式,。,(a)内部方式时钟电路 (b)外部方式时钟电路,47,2.4.2 时钟电路,1.内部振荡方式,在8051单片机内部有一个高增益的,反相放大器,,用于构成振荡器,反相放大器的输入端为XTAL1,输出端为XTAL2。,内部振荡方式是在XTAL1和XTAL2引脚两端跨接,石英晶体振荡器,和两个,电容,构成稳定的自激振荡电路。,电容C1和C2通常取30pF,对振荡频率有微调作用。晶振频率范围是,1.2MHz12MHz,。,2.外部时钟方式,外部时钟方式是把外部已有的时钟信号引入到单片机内。,8051:外部时钟由XTAL2输入,直接送入内部时钟电路,XTAL1接地;,80C51:外部时钟由XTAL1输入,XTAL2悬空。,外部时钟信号为高电平持续时间要大于20ns,且频率低于12MHz的方波。,48,2.5 复 位 电 路,2.5.1 复位功能,2.5.2 复位电路,49,2.5.1 复位功能,复位是单片机的初始化操作。,复位功能是把,PC,初始化为0000H,使CPU从0000H单元开始执行程序;复位操作同时还对其他一些,寄存器,有影响,但,内部RAM,的数据是不变的。,除了进入系统的正常初始化之外,当由于,程序运行出错,或,操作错误,使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。,50,部分特殊功能寄存器的复位状态,说明:表中符号状为随机态。,寄存器,复位状态,寄存器,复位状态,PC,0000H,ACC,00H,B,00H,PSW,00H,SP,07H,DPTR,0000H,P0P3,0FFH,IP,00000B,IE,000000B,TMOD,00H,TCON,00H,TL0,TL1,00H,TH0,TH1,00H,SCON,00H,SBUF,不定,PCON,00000B,51,2.5.2 复位电路,单片机的复位引脚RST出现,2个机器周期,以上的高电平时,单片机就执行复位操作。,常见的复位操作有上电自动复位和按键手动复位两种方式。,上电自动复位,是通过外部复位电路的电容充电来实现的。,按键手动复位,是通过复位端经电阻与电源V,CC,接通而实现的,它兼备上电复位功能。,(a)上电自动复位 (b)按键手动复位,52,2.6 常用单片机功能简介,2.6.1 Atmel公司的AT89系列单片机,2.6.2 Motorola公司M68HC08系列单片机,2.6.3 其他系列单片机,53,2.6.1 Atmel公司的AT89系列单片机,AT89系列单片机不但具有一般MCS-51单片机的所有特性,而且其,Flash,程序存储器可以用电擦除方式瞬间擦除、改写,写入单片机内的程序还可以进行,加密,。,Atmel公司的89系列单片机主要有AT89C51、AT89C2051和AT89C1051等型号。AT89C2051和AT89C1051算是AT89C51的,精简版,。,AT89C51,最为实用,它不但和8051指令、管脚完全兼容,而且其片内含有4KB Flash型程序存储器,性价比远高于8751。,AT89C2051,去掉了P0口和P2口,内部的Flash程序存储器也只有2K,封装形式也由40脚改为,20脚,。,AT89C1051,在AT89C2051的基础上,再次精简掉了串口等功能,程序存储器减小到1KB。,54,2.6.2 Motorola公司M68HC08系列单片机,M68HC08系列单片机,具有速度快、功能强、价格低、功耗低、指令系统丰富等特点,内部程序存储器采用成熟的Flash存储器技术。,编程,速度,快、可靠性高。,单一电源,电压,供电片内集成电荷泵,可由单一工作电压在片内产生编程电压。,支持,在线,编程 允许单片机内部运行的程序去改写Flash存储器内容,这样可代替外部电可擦除存储器芯片,减少外围部件,增加嵌入式系统开发的方便性。,高频噪声低,,抗干扰,能力强。,55,2.6.3 其他系列单片机,Atmel公司的,AVR,单片机,是增强型,RISC,(精简指令集)、内载,Flash,的单片机。由于采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令。AVR单片机工作电压为2.76.0V,可以实现耗电最优化。,MicroChip公司的主要产品是,PIC16C,系列和,PIC17C,系列8位单片机,CPU采用,RISC,结构,分别仅有33、35、58条指令,采用Harvard,双总线结构,,运行速度快,工作电压低,低功耗,有较大的输入/输出,直接驱动能力,,价格低,能一次性编程,体积小,适用于用量大、档次低、价格敏感的产品。,56,本章小结,Intel公司MCS-51系列单片机是我国目前应用最为广泛的单片机。,8051/80C51是整个MCS-51系列单片机的核心,,该系列其他型号的单片机都是在这一内核的基础上发展起来的。,8051单片机内部结构包括中央处理器、程序存储器、数据存储器、并行I/O接口、定时器/计数器、时钟电路、中断系统、串行口。,中央处理器是单片机的核心部件,,是计算机的控制指挥中心。,8051的程序存储器和数据存储器是各自独立的,各有各的寻址系统、控制信号和功能。在物理结构上可分为片内数据存储器、片内程序存储器、片外数据存储器和片外程序存储器4个存储空间。,片内RAM共256B,分为两大功能区,,低128B为真正的RAM区,;,高128B为特殊功能寄存器(SFR)区,。低128B RAM又分为工作寄存器区、位寻址区和用户RAM区。,57,本章小结,8051单片机有P0、P1、P2和P3 4个8位并行I/O端口,每个端口各有8条I/O口线,,每条I/O口线都能独立地用作输入或输出,。各端口的功能不同,且结构上也有差异,通常,P2口作为高8位地址线,,,P0口分时复用作为低8位地址线和8位数据线,,,P3口使用第二功能,,,P1口只能作为通用I/O口使用,。P0口的输出级与P1P3口的输出级在结构上不同,其输出级无上拉电阻,因此它们的负载能力和接口要求也不相同。,时序就是CPU在执行指令时所需控制信号的时间顺序,其单位有,振荡周期,、,时钟周期,、,机器周期,和,指令周期,。时钟信号产生方式有内部振荡方式和外部时钟方式两种。,复位是单片机的初始化操作,复位操作对PC和部分特殊功能寄存器有影响,但对内部RAM没有影响。,58,习 题,1.请结合MCS-51系列单片机的结构框图,阐明其组成。,2.综述MCS-51系列单片机各引脚的作用,并试分类。,3.程序计数器的符号是什么?MCS-51系列单片机的程序计数器有几位?,4.何谓程序状态字?它的符号是什么?它各位的含义是什么?,5.何谓振荡周期、时钟周期、机器周期和指令周期?针对MCS-5l系列单片机,如采用12MHz晶振,它们的周期各是什么值?,6.引脚的作用是什么?在下列三种情况下,引脚各应接何种电平?,(1)只有片内ROM;,(2)有片内ROM和片外ROM;,(3)有片内ROM和片外ROM,片外ROM所存为调试程序。,7.MCS-51系列单片机存储器的地址空间是如何划分的?各地址空间的地址范围和容量如何?,8.MCS-5l怎样实现上电自动复位与按键手动复位?并请综述各专用寄存器复位后的状态。,59,Q&A?Thanks!,60,
展开阅读全文