版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章单片机基本原理2.1MCS-51系列单片机简介MCS-51系列单片机是美国Intel公司在1980年推出的高性能8位单片机,它包含51和52两个子系列。对于51子系列,主要有8031、8051、8751三种机型,它们的指令系统与芯片引脚完全兼容,仅片内程序存储器有所不同,8031芯片不带ROM,8051芯片带4KROM,8751芯片带4KEPROM。51子系列的主要特点为:◆8位CPU。◆片内带振荡器,频率范围1.2~12MHZ。◆片内带128字节的数据存储器。◆片内带4K的程序存储器。◆程序存储器的寻址空间为64K字节。◆片外数据存储器的寻址空间内64K字节。◆128个用户位寻址空间。。
第二章单片机基本原理2.1MCS-51系列单片机简介M1◆21个字节特殊功能寄存器。◆4个8位的并行I/O接口:P0、P1、P2、P3。◆2个16位定时器/计数器◆2个优先级别的5个中断源。◆1个全双工的串行I/O接口,可多机通信。◆111条指令,含乘法指令和除法指令。◆片内采用单总线结构。◆有较强的位处理能力。◆采用单一+5V电源。对于52子系列,有8032、8052、8752三种机型。52子系列与51子系列相比大部分相同,不同之处在于:片内数据存储器增至256字节;8032芯片不带ROM,8052芯片带8KROM,8752芯片带8KEPROM;有3个16位定时器/计数器;6个中断源。本书以51子系列的8051介绍MCS-51单片机的基本原理◆21个字节特殊功能寄存器。2CPUROM/EPROMRAM定时/计数器并行接口串行接口中断系统P0P1P2P3TXDRXDINT0INT1T0T1XTAL1XTAL2时钟电路2.2MCS-51系列单片机的结构原理2.2.1MCS-51系列单片机的基本组成ROM/EPROMRAM定时/计数器并行接口串行接口中断系统32.2.2MCS-51系列单片机的内部结构MCS-51单片机的内部结构框图如图2-2所示。由图2-2可以看到:它集成中央处理器(CPU)、存储器系统(RAM和ROM)、定时/计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(SFR),它们通过内部总线紧密的联系在一起。它的总体结构仍是通用CPU加上外围芯片的总线结构。只是在功能部件的控制上与一般微机的通用寄存器加接口寄存器控制不同,CPU与外设的控制不再分开,采用了特殊功能寄存器集中控制,使用更方便。内部还集成了时钟电路,只须在外接上晶振就可形成时钟。另外注意,8031和8032内部没有集成ROM。2.2.2MCS-51系列单片机的内部结构MCS-51单片4PSENALERESETXLAT1P0.0~P0.7P2.0~P2.7RAM地址寄存器RAMP0锁存器P2锁存器EPROM或ROM程序地址寄存器缓冲器B寄存器ACC暂存器2暂存器1ALUPSWSPPC增量器PCDPTRP0驱动器P2驱动器特殊功能寄存器指令寄存器定时及控制P1锁存器P3锁存器P1驱动器P3驱动器振荡器VssP1.0~P1.7P3.0~P3.7EAXLAT2VccPSENALERESETXLAT1P0.0~P0.7P2.052.2.3MCS-51系列单片机的中央处理器(CPU)一.运算部件运算部件以算术逻辑运算单元ALU为核心,包含累加器ACC、B寄存器、暂存器、标志寄存器PSW等许多部件,它能实现算术运算、逻辑运算、位运算、数据传输等处理。算术运算单元ALU是一个8位的运算器,它不仅可以完成8位二进制数据加、减、乘、除等基本的算术运算,还可以完成8位二进制数据逻辑“与”、“或”、“异或”、循环移位、求补、清零等逻辑运算,并具有数据传输、程序转移等功能。ALU还有一个一般微型计算机没有的位运算器,它可以对一位二进制数据进行置位、清零、求反、测试转移及位逻辑“与”、“或”等处理。这对于控制方面很有用。累加器ACC(简称为A)为一个8位的寄存器,它是CPU中使用最频繁的寄存器,ALU进行运算时,数据绝大多数时候都来自于累加器ACC,运算结果也通常送回累加器ACC。2.2.3MCS-51系列单片机的中央处理器(CPU)一.6寄存器B称为辅助寄存器,它是为乘法和除法指令而设置的。在乘法运算时,累加器A和寄存器B在乘法运算前存放乘数和被乘数,运算完后,通过寄存器B和累加器A存放结果。除法运算时,运算前,累加器A和寄存器B存入被除数和除数,运算后用于存放商和余数。标志寄存器PSW是一个8位的寄存器,它用于保存指令执行结果的状态,以供程序查询和判别。D7D6D5D4D3D2D1D0CACF0RS1RS0OV-PC(PSW.7):进位标志位。AC(PSW.6):辅助进位标志位。F0(PSW.5):用户标志位。RS1、RS0(PSW.4、PSW.3):寄存器组选择位。寄存器B称为辅助寄存器,它是为乘法和除法指令而设置的。在乘法7RS1RS0工作寄存器组000组(00H-07H)011组(08H-0FH)102组(10H-17H)113组(18H-1FH)OV(PSW.2):溢出标志位。P(PSW.0):奇偶标志位。若累加器A中1的个数为奇数,则P置位,若累加器A中1的个数为偶数,则P清零。
【例2-1】试分析下面指令执行后,累加器A,标志位C、AC、OV、P的值?MOVA,#67HADDA,#58H分析:第一条指令执行时把立即数67H送入累加器A,第二条指令执行时把累加器A中的立即数67H与立即数58H相加,结果回送到累加器A中。加法运算过程如下:RS1RS0工作寄存器组000组(00H-07H)011组(867H=01100111B58H=01011000B01100111B+01011000B10111111=0BFH则执行后累加器A中的值为0BFH,由相加过程得C=0、AC=0、OV=1、P=1。二.控制部件
控制部件是单片机的控制中心,它包括定时和控制电路、指令寄存器、指令译码器、程序计数器PC、堆栈指针SP、数据指针DPTR以及信息传送控制部件等。它先以振荡信号为基准产生CPU的时序,从ROM中取出指令到指令寄存器,然后在指令译码器中对指令进行译码,产生指令执行所需的各种控制信号,送到单片机内部的各功能部件,指挥各功能部件产生相应的操作,完成对应的功能。67H=01100111B592.2.4MCS-51系列单片机的存储器结构MCS-51单片机存储器结构与一般微机的存储器结构不同,分为程序存储器ROM和数据存储器RAM。程序存储器存放程序、固定常数和数据表格。数据存储器用作工作区及存放数据。一.程序存储器1.程序存储器的编址与访问MCS-51单片机的程序存储器,从物理结构上分为片内和片外程序存储器,而对于片内程序存储器,在MCS-51系列中,不同的芯片各不相同,8031和8032内部没有ROM,8051内部有4KBROM,8751内部有4KBEPROM,8052内部有8KBROM,8752内部有8KBEPROM。对于内部没有ROM的8031和8032,工作时只能扩展外部ROM,最多可扩展64K,地址范围为0000H—FFFFH2.2.4MCS-51系列单片机的存储器结构10对于内部有ROM的芯片,根据情况外部可以扩展ROM,但内部ROM和外部ROM共用64K存储空间,其中,片内程序存储器地址空间和片外程序存储器的低地址空间重叠。51子系列重叠区域为0000H—0FFFH,52子系列重叠区域为0000H—1FFFH。片外ROMEA=0片外ROMEA=0片内ROMEA=1片外ROM0000HFFFFH0000H0FFFH1000HFFFFH片外ROMEA=0片内ROMEA=1片外ROM0000H1FFFH2000HFFFFH(a)片内无ROM(b)片内有4KROM(c)片内有8KROM对于内部有ROM的芯片,根据情况外部可以扩展RO112.程序存储器的7个特殊地址中断源入口地址外部中断00003H定时/计数器0000BH外部中断10013H定时/计数器1001BH串行口0023H定时/计数器2(仅52子系列有)002BHMCS-51系列单片机复位后PC的内容为0000H,故单片机复位后将从0000H单元开始执行程序。程序存储器的0000H单元地址是系统程序的启动地址。这里用户一般放一条绝对转移指令。转到后而的用户程序。
6个中断源的地址之间仅隔8个单元,存放中断服务程序往往不够用,这是通常放一条绝对转移指令,转到真正的中断服务程序,真正的中断服务程序放到后面。2.程序存储器的7个特殊地址中断源入口地址外部中断0000312二.数据存储器从物理结构上分为片内数据存储器和片外数据存储器。1.片内数据存储器MCS-51系列单片机的片内数据存储器除了RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列,前者有128字节,编址为00H—7FH;后者也占128个字节,编址为80H—FFH;二者连续不重叠。对于52子系列,前者有256字节,编址为00H—FFH;后者也有128字节,编址为80H—FFH;后者与前者的后128字节编址重叠的。访问时通过不同的指令相区分。片内数据存储器按功能分成以下几个部分:工作寄存器组区、位寻址区、一般RAM区和特殊功能寄存器区,其中还包含堆栈区。二.数据存储器从物理结构上分为片内数据存储器和片外数据存储器13SFR00H1FH20H2FH30H7FH80HFFH80HFFH工作寄存器组区位寻址区一般RAM区一般RAM区仅52子子系列工作寄存器组区00H—1FH单元为工作寄存器组区,共32个字节。工作寄存器也称为通用寄存器,用于临时寄存8位信息。工作寄存器共有4组,称为0组、1组、2组和3组,每组8个,分别依次用R0~R7表示00H1FH20H2FH30H7FH80HFFH80HFFH142.位寻址区20H—2FH为位寻址区,共16字节,128位。这128位每位都可以按位方式使用,每一位都有一个位地址,位地址范围为00H—7FH字节单元地址D7D6D5D4D3D2D1D020H070605040302010021H0F0E0D0C0B0A090822H171615141312111023H1F1E1D1C1B1A191824H272625242322212025H2F2E2D2C2B2A292826H373635343332313027H3F3E3D3C3B3A393828H474645444342414029H4F4E4D4C4B4A49482AH57565554535251502BH5F5E5D5C5B5A59582CH67666564636261602DH6F6E6D6C6B6A69682EH77767574737271702FH7F7E7D7C7B7A79782.位寻址区20H—2FH为位寻址区,共16字节153.一般RAM区30H—7FH是一般RAM区,也称为用户RAM区,共80字节,对于52子系列,一般RAM区从30H—FFH单元。另外,对于前两区中未用的单元也可作为用户RAM单元使用。4.堆栈区与堆栈指针堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。MCS-51单片机中,堆栈是用片内数据存储器的一段区域,在具体使用时应避开工作寄存器、位寻址区,一般设在2FH以后的单元,如工作寄存器和位寻址区未用,也可开辟为堆栈。为实现堆栈的先入后出、后入先出的数据处理,专门设置了一个堆栈指针SP,MCS-51单片机的堆栈是向上生长型的,存入数据是从地址低端向高端延伸,取出数据是从地址高端向低端延伸。入栈和出栈数据是以字节为单位。入栈时,SP指针的内容先自动加1,然后再把数据存入到SP指针指向的单元;出栈时,先把SP指针指向的单元的数据取出,然后再把SP指针的内容自动减1。复位时,SP的初值为07H,因此堆栈实际上从08H开始存放数据。3.一般RAM区30H—7FH是一般RAM区,也称为165.特殊功能寄存器特殊功能寄存器(SFR)也称专用寄存器,专门用于控制、管理片内算术逻辑部件、并行I/O口、串行口、定时/计数器、中断系统等功能模块的工作,用户在编程时可以给其设定值,但不能移作它用。分布在80H—FFH地址空间,与片内数据存储器统一编址,除PC外,51子系列有18个特殊功能寄存器,其中3个为双字节,共占用21个字节;52子系列有21个特殊寄存器,其中5个为双字节,共占用26个字节。它们的分配情况如下:CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈指针SP(81H),数据指针DPTR(82H、83H)。并行接口:P0~P3(80H、90H、A0H、B0H)。串行接口:串口控制寄存器SCON(98H),串口数据缓冲器SBUF(99h),电源控制寄存器PCON(87H)。5.特殊功能寄存器特殊功能寄存器(SFR)也称专用寄存器,17定时/计数器:方式寄存器TMOD(89H),控制寄存器TCON(88H),初值寄存器TH0、TL0(8CH、8AH)/TH1、TL1(8DH、8BH)。中断系统:中断允许寄存器IE(A8H),中断优先级寄存器IP(B8H)。定时/计数器2相关寄存器:定时/计数器2控制寄存器T2CON(CBH),定时/计数器2自动重装寄存器RLDL、RLDH(CAH、CBH),定时/计数器2初值寄存器TH2、TL2(CDH、CCH)。(仅52子系列有)特殊功能寄存器名称符号地址位地址与位名称D7D6D5D4D3D2D1D0P0口P080H8786858483828180堆栈指针SP81H数据指针低字节DPL82H数据指针高字节DPH83H定时/计数器控制TCON88HTF18FTR18ETF08DTR08CIE18BIT18AIE089IT088定时/计数器方式TMOD89HGATEC/TM1M0GATEC/TM1M0定时/计数器:方式寄存器TMOD(89H),控制寄存器TCO18定时/计数器0低字节TL08AH定时/计数器0高字节TH08BH定时/计数器1低字节TL18CH定时/计数器1高字节TH18DHP1口P190H9796959493929190电源控制PCON97HSMODGF1GF0PDIDL串行口控制SCON98HSM09FSM19ESM09DREN9CTB89BRB89ATI99RI98串行口数据SBUF99HP2口P2A0HA7A6A5A4A3A2A1A0中断允许控制IEA8HEAAFET2ADESACET1ABEX1AAET0A9EX0A9定时/计数器0低字节TL08AH定时/计数器0高字节TH0819P3口P3B0HB7B6B5B4B3B2B1B0中断优先级控制IPB8HPT2BDPSBCPT1BBPX1BAPT0B9PX0B8定时/计数器2控制T2CONC8HTF2CFEXF2CERCLKCDTCLKCCEXEN2CBTR2CAC/T2C9CP/RL2C8定时/计数器2重装低字节RLDLCAH定时/计数器2重装高字节RLDHCBH定时/计数器2低字节TL2CCH定时/计数器2高字节TH2CDH程序状态寄存器PSWD0HCD7ACD6F0D5RS1D4RS0D3OVD2D1PD0累加器AE0HE7E6E5E4E3E2E1E0寄存器BBF0HF7F6F5F4F3F2F1F0P3口P3B0HB7B6B5B4B3B2B1B0中断优先级控20在表中,带有位名称或位地址的特殊功能寄存器,既能按字节方式处理,也能够按位方式处理。2.片外数据存储器MCS-51单片机片内有128字节或256字节的数据存储器,当这些数据存储器不够时,可在外部扩展外部数据存储器,扩展的外部数据存储器最多64KB,地址范围为0000H—0FFFFH,通过DPTR作指针间接方式访问,对于低端的256字节,可用两位十六进制地址编址,地址范围为00H—0FFH,可通过R0和R1间接方式访问。另外,扩展的外部设备占用片外数据存储器空间,通过用访问片外数据存储器的方法访问。说明:第一,64K的程序存储器和64K的片外数据存储器地址空间都为0000H—0FFFFH,地址空间是重叠的,它们如何区分呢?MCS-51单片机是通过不同的信号来对片外数据存储器和程序存储器进行读、写的,片外数据存储器的读、写通过RD和WR信号来控制,而程序存储器的读通过PSEN信号控制,通过用不同的指令来实现,片外数据存储器用MOVX指令,程序存储器用MOVC指令。和在表中,带有位名称或位地址的特殊功能寄存器,既能按字节方式处21第二,片内数据存储器和片外数据存储器的低256字节的地址空间是重叠的,它们如何区分呢?片内数据存储器和片外数据存储器的低256字节通过不同的指令访问,片内数据存储器用MOV指令,片外数据存储器用MOVX指令。因此在访问时不会产生混乱。2.2.5MCS-51系列单片机的输入/输出接口MCS-51系列单片机有4个8位的并行I/O接口:P0、P1、P2和P3口。它们是特殊功能寄存器中的4个。这4个口,既可以作输入,也可以作输出,既可按8位处理,也可按位方式使用。输出时具有锁存能力,输入时具有缓冲功能。第二,片内数据存储器和片外数据存储器的低256字节的地址空间22一.P0口P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用的I/O接口。它包括一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成,它的一位结构如图:21&DQCLK锁存器读锁存器写锁存器内部总线读引脚地址控制VccGNDP0.xV2V134MUX一.P0口P0口是一个三态双向口,可作为地址/数据分时复用口23当控制信号为高电平“1”,P0口作为地址/数据分时复用总线用。这时可分为两种情况:一种是从P0口输出地址或数据,另一种是从P0口输入数据。控制信号为高电平“1”,使转换开关MUX把反相器4的输出端与V1接通,同时把与门3打开。如果从P0口输出地址或数据信号,当地址或数据为“1”时,经反相器4使V1截止,而经与门3使V2导通,P0.x引脚上出现相应的高电平“1”;当地址或数据为“0”时,经反相器4使V1导通而V2截止,引脚上出现相应的低电平“0”,这样就将地址/数据的信号输出。如果从P0口输入数据,输入数据从引脚下方的三态输入缓冲器进入内部总线。当控制信号应为低电平“0”,P0口作为通用I/O口使用。控制信号为“0”,转换开关MUX把输出级与锁存器Q端接通,在CPU向端口输出数据时,因与门3输出为“0”,使V2截止,此时,输出级是漏极开路电路。当写入脉冲加在锁存器时钟端CLK上时,与内部总线相连的D端数据取反后出现在Q端,又经输出T1反相,在P0引脚上出现的数据正好是内部总线的数据。当要从P0口输入数据时,引脚信号仍经输入缓冲器进入内部总线当控制信号为高电平“1”,P0口作为地址/数据分24当P0口作通用I/O接口时,应注意以下两点:(1)在输出数据时,由于V2截止,输出级是漏极开路电路,要使“1”信号正常输出,必须外接上拉电阻。(2)P0口作为通用I/O口输入使用时,在输入数据前,应先向P0口写“1”,此时锁存器的Q端为“0”,使输出级的两个场效应管V1、V2均截止,引脚处于悬浮状态,才可作高阻输入。因为,从P0口引脚输入数据时,V2一直处于截止状态,引脚上的外部信号既加在三态缓冲器1的输入端,又加在V1的漏极。假定在此之前曾经输出数据“0”,则V1是导通的,这样引脚上的电位就始终被箝位在低电平,使输入高电平无法读入。因此,在输入数据时,应人为地先向P0口写“1”,使V1、V2均截止,方可高阻输入。另外,P0口的输出级具有驱动8个LSTTL负载的能力,输出电流不大于800A
当P0口作通用I/O接口时,应注意以下两点:25二.P1口P1口是准双向口,它只能作通用I/O接口使用。P1口的结构与P0口不同,它的输出只由一个场效应管V1与内部上拉电阻组成,如图21DQCLK锁存器读锁存器写锁存器内部总线读引脚VccGNDP1.xV1内部上拉电阻输入输出原理特性与P0口作为通用I/O接口使用时一样,当其输出时,可以提供电流负载,不必像P0口那样需要外接上拉电阻。P1口具有驱动4个LSTTL负载的能力。二.P1口P1口是准双向口,它只能作通用I/O接口26三.P2口P2口也是准双向口,它有两种用途:通用I/O接口和高8位地址线。它的1位的结构如图2.8,与P1口相比,它只在输出驱动电路上比P1口多了一个模拟转换开关MUX和反相器3。21DQCLK锁存器读锁存器写锁存器内部总线读引脚地址控制VccGNDP2.xV1MUX内部上拉电阻3三.P2口P2口也是准双向口,它有两种用途:通用27当控制信号为为高电平“1”,转换开关接右侧,P2口用作高8位地址总线使用时,访问片外存储器的高8位地址A8~A15由P2口输出。如系统扩展了ROM,由于单片机工作时一直不断地取指令,因而P2口将不断的送出高8位地址,P2口将不能作通用I/O口用。如系统仅仅扩展RAM,这时分几种情况:当片外RAM容量不超过256字节,在访问RAM时,只须P0口送低8位地址即可,P2口仍可作为通用I/O口使用;当片外RAM容量大于256字节时,需要P2口提供高8位地址,这时P2口就不能作通用I/O接口使用。当控制信号为为高电平“0”,转换开关接左侧,P2口用作当作为准双向通用I/O接口。控制信号使转换开关接左侧,其工作原理与P1相同,只是P1口输出端由锁存器Ō接V1,而P2口是由锁存器Q端经反相器3接V1,也具有输入、输出、端口操作三种工作方式,负载能力也与P1相同。当控制信号为为高电平“1”,转换开关接右侧,P2口28四.P3口P3口1位的结构如图2.9。它的输出驱动由与非门3、V1组成,输入比P0、P1、P2口多了一个缓冲器4。21DQCLK锁存器读锁存器写锁存器内部总线读引脚VccGNDP3.xV1内部上拉电阻&34第二功能输入第二功能输出四.P3口P3口1位的结构如图2.9。它的输出驱动由与非门329P3口除了作为准双向通用I/O口使用外,它的每一根线还具有第二种功能。P3口第二功能P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2INT0外部中断0请求输入端,低电平有效P3.3INT1外部中断1请求输入端,低电平有效P3.4T0定时/计数器0外部计数脉冲输入端P3.5T1定时/计数器0外部计数脉冲输入端P3.6WR外部数据存储器写信号,低电平有效P3.7RD外部数据存储器读信号,低电平有效P3口除了作为准双向通用I/O口使用外,它的每一根线还具有第30当P3口作为第二功能时,锁存器的Q输出端必须为高电平,否则V1管导通,引脚将被箝位在低电平,无法实现第二功能。当锁存器Q端为高电平,P3口的状态取决于第二功能输出线的状态。单片机复位时,锁存器的输出端为高电平。P3口第二功能中输入信号RXD、INT0、INT1、T0、T1经缓冲器4输入,可直接进入芯片内部。当P3口作为通用I/O接口时,第二功能输出线为高电平,与非门3的输出取决于锁存器的状态。这时,P3是一个准双向口,它的工作原理、负载能力与P1、P2口相同。当P3口作为第二功能时,锁存器的Q输出端必须为高312.3MCS-51系列单片机的外部引脚及片外总线2.3.1外部引脚P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VpdP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL2XTAL1VssVccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0123456789101112141516171819204039383736353433323130292827262524232221803180518751RXDTXDINT0INT1T0T1WRRDP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7PSENEAALERST用户I/O控制总线(CB)锁存器A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0地址总线数据总线(AB)(DB)VccVssVccVss2.3MCS-51系列单片机的外部引脚及片外总线2.3.132一.输入/输出引脚(1)P0口(39~32脚):P0.0~P0.7统称为P0口。在不接片外存储器与不扩展I/O口时,作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。(2)P1口(1~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O口使用。对于52子系列,P1.0与P1.1还有第二功能:P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。(3)P2口(21~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。(4)P3口(10~17脚):P3.0~P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。一.输入/输出引脚(1)P0口(39~32脚):P0.0~P33二.控制线(1)ALE/PROG(30脚):地址锁存信号输出端。ALE在每个机器周期内输出两个脉冲。(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。(3)RST/VPD(9脚):RST即为RESET,VPD为备用电源。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。(4)/VPP(31脚):EA为片外程序存储器选用端。该引脚低电平时,选用片外程序存储器,高电平或悬空时选用片内程序存储器。三.主电源引脚VCC(40脚):接+5V电源正端。VSS(20脚):接+5V电源地端。二.控制线(1)ALE/PROG(30脚):地址锁存信号输出34四.外接晶体引脚XTAL1、XTAL2(19、18脚):当使用单片机内部振荡电路时,这两个引脚用来外接石英晶体和微调电容,如图2-10(a)。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS单片机,XTAL1引脚接地,XTAL2接片外振荡脉冲输入(带上拉电阻);对于CHMOS单片机,XTAL2引脚接地,XTAL1接片外振荡脉冲输入(带上拉电阻),如图2-11(b)和(c)。XTAL1XTAL2外部振荡信号XTAL1XTAL2VccVssR外部振荡信号XTAL2XTAL1VccVssR(a)内部时钟方式(b)HMOS工艺外接时钟(c)CHMOS工艺外接时钟四.外接晶体引脚XTAL1、XTAL2(19、18脚):当使352.3.2片外总线结构一.地址总线地址总线宽度为16位,寻址范围都为64KB。由P0口经地址锁存器提供低8位(A7~A0),P2口提供高8位(A15~A8)而形成。可对片外程序存储器和片外数据存储器寻址。二.数据总线数据总线宽度为8位,由P0口直接提供。三.控制总线控制总线由第二功能状态下的P3口和4根独立的控制线RST、EA、ALE和PSEN组成。2.3.2片外总线结构一.地址总线362.4MCS-51系列单片机的工作方式2.4.1复位方式在时钟电路工作以后,当外部电路使得RST端出现2个机器周期(24个时钟周期)以上的高电平,系统内部复位。复位有两种方式:上电复位和按钮复位。如图所示。VccRSTVssMCS-51VccRSTVssMCS-511k1k200(a)上电复位电路(b)按钮复位电路2.4MCS-51系列单片机的工作方式2.4.1复位方式37特殊功能寄存器初始内容特殊功能寄存器初始内容A0000HTCON00HPC0000HTL000HB00HTH000HPSW00HTL100HSP07HTH100HDPTR0000HSCON00HP0~P3FFHSBUFXXXXXXXXBIPXX000000BPCON0XXX0000BIE0X000000BTMOD00H特殊功能寄存器初始内容特殊功能寄存器初始内容A0000HTC382.4.2程序执行方式2.4.3单步执行方式所谓单步执行,是指在外部单步脉冲的作用下,使单片机一个单步脉冲执行一条指令后就暂停下来,再一个单步脉冲再执行一条指令后又暂停下来。它通常用于调试程序、跟踪程序执行和了解程序执行过程。单片机没有单步执行中断,MCS-51单片机的单步执行也要利用中断系统完成。MCS-51的中断系统规定,从中断服务程序中返回之后,至少要再执行一条指令,才能重新进入中断。将外部脉冲加到INT0引脚,平时让它为低电平,通过编程规定INT0为电平触发。那么,不来脉冲时INT0总处于响应中断的状态。在INT0的中断服务程序中安排下面的指令:PAUSE0:JNBP3.2,PAUSE0;若INT0=0,不往下执行PAUSE1:JBP3.2,PAUSE1;若INT0=1,不往下执行RETI;返回主程序执行下一条指令2.4.2程序执行方式2.4.3单步执行方式所谓单步执行392.4.4节电方式一.HMOS单片机的掉电方式HMOS芯片本身运行功耗较大,这类芯片没有设置低功耗运行方式。为了减小系统的功耗,设置了掉电方式,RST/Vpd端接有备用电源,即当单片机正常运行时,单片机内部的RAM由主电源Vcc供电,当Vcc掉电,Vcc电压低于RST/Vpd端备用电源电压时,由备用电源向RAM维持供电,保证RAM中数据不丢失。这时系统的其它部件都停止工作,包括片内振荡器。二.CHMOS的节电运行方式HMOS的芯片运行时耗电少,有两种节电运行方式:待机方式和掉电保护方式。以进一步降低功耗,它们特别适用于电源功耗要求低的应用场合。2.4.4节电方式一.HMOS单片机的掉电方式HMOS芯片402.4.5编程和校验方式一.EPROM编程HMOS器件8751,内部集成4KB的EPROM编程如下:编程时时钟频率应定在4~6MHz的范围内,各引脚的接法如下:P1口和P2口的P2.3~P2.0提供12位地址,P1口为低8位。P0口输入编程数据。P2.6~P2.4以及PSEN为低电平,P2.7和RST为高电平。以上除RST的高电平为2.5V,其余的均为TTL电平。EA/Vpp端加电压为21V的编程脉冲,不能大于21.5V,否则会损坏EPROM。ALE/PROG端加宽度为50ms的负脉冲作写入信号,每来一次负脉冲,则把P0口的数据写入到由P1和P2口低四位提供的12位地址指向的片内EPROM单元。2.4.5编程和校验方式一.EPROM编程HMOS器件8741二.EPROM校验在程序的保密位未设置,无论在写入时或写入之后,均可以将EPROM的内容读出进行校验。校验时各引脚的连接与编程时连接基本相同,只有P2.7脚改为低电平,在校验过程中,读出的EPROM单元的内容由P0输出。三.EPROM加密8751的EPROM内部有一个程序保密位,当把该位写入后,就可禁止任何外部方法对片内程序存储器进行读写,也不能再对EPROM编程,对片内EPROM建立了保险。设置保密位时不须要单元地址和数据,所以P0口、P1口和P2.3~P2.0为任意状态,引脚在连接时,除了将P2.6改为TTL高电平,其它引脚在连接时与编程时相同。当加了保密位后,就不能对EPROM编程,也不能执行外部存储器的程序。如果要对片内EPROM重新编程,只有解除保密位。对保密位的解除,只有将EPROM全部擦除进保密位才能一起被擦除。也可以再次写入。二.EPROM校验在程序的保密位未设置,无论在写入时或写入之422.5MCS-51系列单片机的时序2.5.1机器周期和指令周期机器周期:机器周期是单片机的基本操作周期,每个机器周期包含S1、S2、、S66个状态,每个状态包含2拍P1和P2,每一拍为一个时钟周期(振荡周期)。因此,一个机器周期包含12个时钟周期。依次可表示为S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。指令周期:计算机工作时不断的取指令和执行指令。计算机取一条指令至执行完该指令需要的时间称为指令周期,不同的指令,指令周期不同。单片机的指令周期以机器周期为单位。MCS-51系列单片机中,大多数指令的指令周期由一个机器周期或两个机器周期组成,只有乘法、除法指令须要4机器周期指令。S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2时钟信号2.5MCS-51系列单片机的时序2.5.1机器周期和指432.5.2单机器周期指令的时序S1S2S3S4S5S6读操作码读无效(丢失)单字节单机器周期指令S1S2S3S4S5S6读操作码读第二个字节双字节单机器周期指令2.5.2单机器周期指令的时序S1S2S3S4S5S6读操442.5.3双机器周期指令的时序S1S2S3S4S5S6读操作码S1S2S3S4S5S6三次读操作无效(丢失)单字节、双机器周期指令的时序2.5.3双机器周期指令的时序S1S2S3S4S5S6读操45第二章单片机基本原理2.1MCS-51系列单片机简介MCS-51系列单片机是美国Intel公司在1980年推出的高性能8位单片机,它包含51和52两个子系列。对于51子系列,主要有8031、8051、8751三种机型,它们的指令系统与芯片引脚完全兼容,仅片内程序存储器有所不同,8031芯片不带ROM,8051芯片带4KROM,8751芯片带4KEPROM。51子系列的主要特点为:◆8位CPU。◆片内带振荡器,频率范围1.2~12MHZ。◆片内带128字节的数据存储器。◆片内带4K的程序存储器。◆程序存储器的寻址空间为64K字节。◆片外数据存储器的寻址空间内64K字节。◆128个用户位寻址空间。。
第二章单片机基本原理2.1MCS-51系列单片机简介M46◆21个字节特殊功能寄存器。◆4个8位的并行I/O接口:P0、P1、P2、P3。◆2个16位定时器/计数器◆2个优先级别的5个中断源。◆1个全双工的串行I/O接口,可多机通信。◆111条指令,含乘法指令和除法指令。◆片内采用单总线结构。◆有较强的位处理能力。◆采用单一+5V电源。对于52子系列,有8032、8052、8752三种机型。52子系列与51子系列相比大部分相同,不同之处在于:片内数据存储器增至256字节;8032芯片不带ROM,8052芯片带8KROM,8752芯片带8KEPROM;有3个16位定时器/计数器;6个中断源。本书以51子系列的8051介绍MCS-51单片机的基本原理◆21个字节特殊功能寄存器。47CPUROM/EPROMRAM定时/计数器并行接口串行接口中断系统P0P1P2P3TXDRXDINT0INT1T0T1XTAL1XTAL2时钟电路2.2MCS-51系列单片机的结构原理2.2.1MCS-51系列单片机的基本组成ROM/EPROMRAM定时/计数器并行接口串行接口中断系统482.2.2MCS-51系列单片机的内部结构MCS-51单片机的内部结构框图如图2-2所示。由图2-2可以看到:它集成中央处理器(CPU)、存储器系统(RAM和ROM)、定时/计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(SFR),它们通过内部总线紧密的联系在一起。它的总体结构仍是通用CPU加上外围芯片的总线结构。只是在功能部件的控制上与一般微机的通用寄存器加接口寄存器控制不同,CPU与外设的控制不再分开,采用了特殊功能寄存器集中控制,使用更方便。内部还集成了时钟电路,只须在外接上晶振就可形成时钟。另外注意,8031和8032内部没有集成ROM。2.2.2MCS-51系列单片机的内部结构MCS-51单片49PSENALERESETXLAT1P0.0~P0.7P2.0~P2.7RAM地址寄存器RAMP0锁存器P2锁存器EPROM或ROM程序地址寄存器缓冲器B寄存器ACC暂存器2暂存器1ALUPSWSPPC增量器PCDPTRP0驱动器P2驱动器特殊功能寄存器指令寄存器定时及控制P1锁存器P3锁存器P1驱动器P3驱动器振荡器VssP1.0~P1.7P3.0~P3.7EAXLAT2VccPSENALERESETXLAT1P0.0~P0.7P2.0502.2.3MCS-51系列单片机的中央处理器(CPU)一.运算部件运算部件以算术逻辑运算单元ALU为核心,包含累加器ACC、B寄存器、暂存器、标志寄存器PSW等许多部件,它能实现算术运算、逻辑运算、位运算、数据传输等处理。算术运算单元ALU是一个8位的运算器,它不仅可以完成8位二进制数据加、减、乘、除等基本的算术运算,还可以完成8位二进制数据逻辑“与”、“或”、“异或”、循环移位、求补、清零等逻辑运算,并具有数据传输、程序转移等功能。ALU还有一个一般微型计算机没有的位运算器,它可以对一位二进制数据进行置位、清零、求反、测试转移及位逻辑“与”、“或”等处理。这对于控制方面很有用。累加器ACC(简称为A)为一个8位的寄存器,它是CPU中使用最频繁的寄存器,ALU进行运算时,数据绝大多数时候都来自于累加器ACC,运算结果也通常送回累加器ACC。2.2.3MCS-51系列单片机的中央处理器(CPU)一.51寄存器B称为辅助寄存器,它是为乘法和除法指令而设置的。在乘法运算时,累加器A和寄存器B在乘法运算前存放乘数和被乘数,运算完后,通过寄存器B和累加器A存放结果。除法运算时,运算前,累加器A和寄存器B存入被除数和除数,运算后用于存放商和余数。标志寄存器PSW是一个8位的寄存器,它用于保存指令执行结果的状态,以供程序查询和判别。D7D6D5D4D3D2D1D0CACF0RS1RS0OV-PC(PSW.7):进位标志位。AC(PSW.6):辅助进位标志位。F0(PSW.5):用户标志位。RS1、RS0(PSW.4、PSW.3):寄存器组选择位。寄存器B称为辅助寄存器,它是为乘法和除法指令而设置的。在乘法52RS1RS0工作寄存器组000组(00H-07H)011组(08H-0FH)102组(10H-17H)113组(18H-1FH)OV(PSW.2):溢出标志位。P(PSW.0):奇偶标志位。若累加器A中1的个数为奇数,则P置位,若累加器A中1的个数为偶数,则P清零。
【例2-1】试分析下面指令执行后,累加器A,标志位C、AC、OV、P的值?MOVA,#67HADDA,#58H分析:第一条指令执行时把立即数67H送入累加器A,第二条指令执行时把累加器A中的立即数67H与立即数58H相加,结果回送到累加器A中。加法运算过程如下:RS1RS0工作寄存器组000组(00H-07H)011组(5367H=01100111B58H=01011000B01100111B+01011000B10111111=0BFH则执行后累加器A中的值为0BFH,由相加过程得C=0、AC=0、OV=1、P=1。二.控制部件
控制部件是单片机的控制中心,它包括定时和控制电路、指令寄存器、指令译码器、程序计数器PC、堆栈指针SP、数据指针DPTR以及信息传送控制部件等。它先以振荡信号为基准产生CPU的时序,从ROM中取出指令到指令寄存器,然后在指令译码器中对指令进行译码,产生指令执行所需的各种控制信号,送到单片机内部的各功能部件,指挥各功能部件产生相应的操作,完成对应的功能。67H=01100111B5542.2.4MCS-51系列单片机的存储器结构MCS-51单片机存储器结构与一般微机的存储器结构不同,分为程序存储器ROM和数据存储器RAM。程序存储器存放程序、固定常数和数据表格。数据存储器用作工作区及存放数据。一.程序存储器1.程序存储器的编址与访问MCS-51单片机的程序存储器,从物理结构上分为片内和片外程序存储器,而对于片内程序存储器,在MCS-51系列中,不同的芯片各不相同,8031和8032内部没有ROM,8051内部有4KBROM,8751内部有4KBEPROM,8052内部有8KBROM,8752内部有8KBEPROM。对于内部没有ROM的8031和8032,工作时只能扩展外部ROM,最多可扩展64K,地址范围为0000H—FFFFH2.2.4MCS-51系列单片机的存储器结构55对于内部有ROM的芯片,根据情况外部可以扩展ROM,但内部ROM和外部ROM共用64K存储空间,其中,片内程序存储器地址空间和片外程序存储器的低地址空间重叠。51子系列重叠区域为0000H—0FFFH,52子系列重叠区域为0000H—1FFFH。片外ROMEA=0片外ROMEA=0片内ROMEA=1片外ROM0000HFFFFH0000H0FFFH1000HFFFFH片外ROMEA=0片内ROMEA=1片外ROM0000H1FFFH2000HFFFFH(a)片内无ROM(b)片内有4KROM(c)片内有8KROM对于内部有ROM的芯片,根据情况外部可以扩展RO562.程序存储器的7个特殊地址中断源入口地址外部中断00003H定时/计数器0000BH外部中断10013H定时/计数器1001BH串行口0023H定时/计数器2(仅52子系列有)002BHMCS-51系列单片机复位后PC的内容为0000H,故单片机复位后将从0000H单元开始执行程序。程序存储器的0000H单元地址是系统程序的启动地址。这里用户一般放一条绝对转移指令。转到后而的用户程序。
6个中断源的地址之间仅隔8个单元,存放中断服务程序往往不够用,这是通常放一条绝对转移指令,转到真正的中断服务程序,真正的中断服务程序放到后面。2.程序存储器的7个特殊地址中断源入口地址外部中断0000357二.数据存储器从物理结构上分为片内数据存储器和片外数据存储器。1.片内数据存储器MCS-51系列单片机的片内数据存储器除了RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列,前者有128字节,编址为00H—7FH;后者也占128个字节,编址为80H—FFH;二者连续不重叠。对于52子系列,前者有256字节,编址为00H—FFH;后者也有128字节,编址为80H—FFH;后者与前者的后128字节编址重叠的。访问时通过不同的指令相区分。片内数据存储器按功能分成以下几个部分:工作寄存器组区、位寻址区、一般RAM区和特殊功能寄存器区,其中还包含堆栈区。二.数据存储器从物理结构上分为片内数据存储器和片外数据存储器58SFR00H1FH20H2FH30H7FH80HFFH80HFFH工作寄存器组区位寻址区一般RAM区一般RAM区仅52子子系列工作寄存器组区00H—1FH单元为工作寄存器组区,共32个字节。工作寄存器也称为通用寄存器,用于临时寄存8位信息。工作寄存器共有4组,称为0组、1组、2组和3组,每组8个,分别依次用R0~R7表示00H1FH20H2FH30H7FH80HFFH80HFFH592.位寻址区20H—2FH为位寻址区,共16字节,128位。这128位每位都可以按位方式使用,每一位都有一个位地址,位地址范围为00H—7FH字节单元地址D7D6D5D4D3D2D1D020H070605040302010021H0F0E0D0C0B0A090822H171615141312111023H1F1E1D1C1B1A191824H272625242322212025H2F2E2D2C2B2A292826H373635343332313027H3F3E3D3C3B3A393828H474645444342414029H4F4E4D4C4B4A49482AH57565554535251502BH5F5E5D5C5B5A59582CH67666564636261602DH6F6E6D6C6B6A69682EH77767574737271702FH7F7E7D7C7B7A79782.位寻址区20H—2FH为位寻址区,共16字节603.一般RAM区30H—7FH是一般RAM区,也称为用户RAM区,共80字节,对于52子系列,一般RAM区从30H—FFH单元。另外,对于前两区中未用的单元也可作为用户RAM单元使用。4.堆栈区与堆栈指针堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。MCS-51单片机中,堆栈是用片内数据存储器的一段区域,在具体使用时应避开工作寄存器、位寻址区,一般设在2FH以后的单元,如工作寄存器和位寻址区未用,也可开辟为堆栈。为实现堆栈的先入后出、后入先出的数据处理,专门设置了一个堆栈指针SP,MCS-51单片机的堆栈是向上生长型的,存入数据是从地址低端向高端延伸,取出数据是从地址高端向低端延伸。入栈和出栈数据是以字节为单位。入栈时,SP指针的内容先自动加1,然后再把数据存入到SP指针指向的单元;出栈时,先把SP指针指向的单元的数据取出,然后再把SP指针的内容自动减1。复位时,SP的初值为07H,因此堆栈实际上从08H开始存放数据。3.一般RAM区30H—7FH是一般RAM区,也称为615.特殊功能寄存器特殊功能寄存器(SFR)也称专用寄存器,专门用于控制、管理片内算术逻辑部件、并行I/O口、串行口、定时/计数器、中断系统等功能模块的工作,用户在编程时可以给其设定值,但不能移作它用。分布在80H—FFH地址空间,与片内数据存储器统一编址,除PC外,51子系列有18个特殊功能寄存器,其中3个为双字节,共占用21个字节;52子系列有21个特殊寄存器,其中5个为双字节,共占用26个字节。它们的分配情况如下:CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈指针SP(81H),数据指针DPTR(82H、83H)。并行接口:P0~P3(80H、90H、A0H、B0H)。串行接口:串口控制寄存器SCON(98H),串口数据缓冲器SBUF(99h),电源控制寄存器PCON(87H)。5.特殊功能寄存器特殊功能寄存器(SFR)也称专用寄存器,62定时/计数器:方式寄存器TMOD(89H),控制寄存器TCON(88H),初值寄存器TH0、TL0(8CH、8AH)/TH1、TL1(8DH、8BH)。中断系统:中断允许寄存器IE(A8H),中断优先级寄存器IP(B8H)。定时/计数器2相关寄存器:定时/计数器2控制寄存器T2CON(CBH),定时/计数器2自动重装寄存器RLDL、RLDH(CAH、CBH),定时/计数器2初值寄存器TH2、TL2(CDH、CCH)。(仅52子系列有)特殊功能寄存器名称符号地址位地址与位名称D7D6D5D4D3D2D1D0P0口P080H8786858483828180堆栈指针SP81H数据指针低字节DPL82H数据指针高字节DPH83H定时/计数器控制TCON88HTF18FTR18ETF08DTR08CIE18BIT18AIE089IT088定时/计数器方式TMOD89HGATEC/TM1M0GATEC/TM1M0定时/计数器:方式寄存器TMOD(89H),控制寄存器TCO63定时/计数器0低字节TL08AH定时/计数器0高字节TH08BH定时/计数器1低字节TL18CH定时/计数器1高字节TH18DHP1口P190H9796959493929190电源控制PCON97HSMODGF1GF0PDIDL串行口控制SCON98HSM09FSM19ESM09DREN9CTB89BRB89ATI99RI98串行口数据SBUF99HP2口P2A0HA7A6A5A4A3A2A1A0中断允许控制IEA8HEAAFET2ADESACET1ABEX1AAET0A9EX0A9定时/计数器0低字节TL08AH定时/计数器0高字节TH0864P3口P3B0HB7B6B5B4B3B2B1B0中断优先级控制IPB8HPT2BDPSBCPT1BBPX1BAPT0B9PX0B8定时/计数器2控制T2CONC8HTF2CFEXF2CERCLKCDTCLKCCEXEN2CBTR2CAC/T2C9CP/RL2C8定时/计数器2重装低字节RLDLCAH定时/计数器2重装高字节RLDHCBH定时/计数器2低字节TL2CCH定时/计数器2高字节TH2CDH程序状态寄存器PSWD0HCD7ACD6F0D5RS1D4RS0D3OVD2D1PD0累加器AE0HE7E6E5E4E3E2E1E0寄存器BBF0HF7F6F5F4F3F2F1F0P3口P3B0HB7B6B5B4B3B2B1B0中断优先级控65在表中,带有位名称或位地址的特殊功能寄存器,既能按字节方式处理,也能够按位方式处理。2.片外数据存储器MCS-51单片机片内有128字节或256字节的数据存储器,当这些数据存储器不够时,可在外部扩展外部数据存储器,扩展的外部数据存储器最多64KB,地址范围为0000H—0FFFFH,通过DPTR作指针间接方式访问,对于低端的256字节,可用两位十六进制地址编址,地址范围为00H—0FFH,可通过R0和R1间接方式访问。另外,扩展的外部设备占用片外数据存储器空间,通过用访问片外数据存储器的方法访问。说明:第一,64K的程序存储器和64K的片外数据存储器地址空间都为0000H—0FFFFH,地址空间是重叠的,它们如何区分呢?MCS-51单片机是通过不同的信号来对片外数据存储器和程序存储器进行读、写的,片外数据存储器的读、写通过RD和WR信号来控制,而程序存储器的读通过PSEN信号控制,通过用不同的指令来实现,片外数据存储器用MOVX指令,程序存储器用MOVC指令。和在表中,带有位名称或位地址的特殊功能寄存器,既能按字节方式处66第二,片内数据存储器和片外数据存储器的低256字节的地址空间是重叠的,它们如何区分呢?片内数据存储器和片外数据存储器的低256字节通过不同的指令访问,片内数据存储器用MOV指令,片外数据存储器用MOVX指令。因此在访问时不会产生混乱。2.2.5MCS-51系列单片机的输入/输出接口MCS-51系列单片机有4个8位的并行I/O接口:P0、P1、P2和P3口。它们是特殊功能寄存器中的4个。这4个口,既可以作输入,也可以作输出,既可按8位处理,也可按位方式使用。输出时具有锁存能力,输入时具有缓冲功能。第二,片内数据存储器和片外数据存储器的低256字节的地址空间67一.P0口P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用的I/O接口。它包括一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成,它的一位结构如图:21&DQCLK锁存器读锁存器写锁存器内部总线读引脚地址控制VccGNDP0.xV2V134MUX一.P0口P0口是一个三态双向口,可作为地址/数据分时复用口68当控制信号为高电平“1”,P0口作为地址/数据分时复用总线用。这时可分为两种情况:一种是从P0口输出地址或数据,另一种是从P0口输入数据。控制信号为高电平“1”,使转换开关MUX把反相器4的输出端与V1接通,同时把与门3打开。如果从P0口输出地址或数据信号,当地址或数据为“1”时,经反相器4使V1截止,而经与门3使V2导通,P0.x引脚上出现相应的高电平“1”;当地址或数据为“0”时,经反相器4使V1导通而V2截止,引脚上出现相应的低电平“0”,这样就将地址/数据的信号输出。如果从P0口输入数据,输入数据从引脚下方的三态输入缓冲器进入内部总线。当控制信号应为低电平“0”,P0口作为通用I/O口使用。控制信号为“0”,转换开关MUX把输出级与锁存器Q端接通,在CPU向端口输出数据时,因与门3输出为“0”,使V2截止,此时,输出级是漏极开路电路。当写入脉冲加在锁存器时钟端CLK上时,与内部总线相连的D端数据取反后出现在Q端,又经输出T1反相,在P0引脚上出现的数据正好是内部总线的数据。当要从P0口输入数据时,引脚信号仍经输入缓冲器进入内部总线当控制信号为高电平“1”,P0口作为地址/数据分69当P0口作通用I/O接口时,应注意以下两点:(1)在输出数据时,由于V2截止,输出级是漏极开路电路,要使“1”信号正常输出,必须外接上拉电阻。(2)P0口作为通用I/O口输入使用时,在输入数据前,应先向P0口写“1”,此时锁存器的Q端为“0”,使输出级的两个场效应管V1、V2均截止,引脚处于悬浮状态,才可作高阻输入。因为,从P0口引脚输入数据时,V2一直处于截止状态,引脚上的外部信号既加在三态缓冲器1的输入端,又加在V1的漏极。假定在此之前曾经输出数据“0”,则V1是导通的,这样引脚上的电位就始终被箝位在低电平,使输入高电平无法读入。因此,在输入数据时,应人为地先向P0口写“1”,使V1、V2均截止,方可高阻输入。另外,P0口的输出级具有驱动8个LSTTL负载的能力,输出电流不大于800A
当P0口作通用I/O接口时,应注意以下两点:70二.P1口P1口是准双向口,它只能作通用I/O接口使用。P1口的结构与P0口不同,它的输出只由一个场效应管V1与内部上拉电阻组成,如图21DQCLK锁存器读锁存器写锁存器内部总线读引脚VccGNDP1.xV1内部上拉电阻输入输出原理特性与P0口作为通用I/O接口使用时一样,当其输出时,可以提供电流负载,不必像P0口那样需要外接上拉电阻。P1口具有驱动4个LSTTL负载的能力。二.P1口P1口是准双向口,它只能作通用I/O接口71三.P2口P2口也是准双向口,它有两种用途:通用I/O接口和高8位地址线。它的1位的结构如图2.8,与P1口相比,它只在输出驱动电路上比P1口多了一个模拟转换开关MUX和反相器3。21DQCLK锁存器读锁存器写锁存器内部总线读引脚地址控制VccGNDP2.xV1MUX内部上拉电阻3三.P2口P2口也是准双向口,它有两种用途:通用72当控制信号为为高电平“1”,转换开关接右侧,P2口用作高8位地址总线使用时,访问片外存储器的高8位地址A8~A15由P2口输出。如系统扩展了ROM,由于单片机工作时一直不断地取指令,因而P2口将不断的送出高8位地址,P2口将不能作通用I/O口用。如系统仅仅扩展RAM,这时分几种情况:当片外RAM容量不超过256字节,在访问RAM时,只须P0口送低8位地址即可,P2口仍可作为通用I/O口使用;当片外RAM容量大于256字节时,需要P2口提供高8位地址,这时P2口就不能作通用I/O接口使用。当控制信号为为高电平“0”,转换开关接左侧,P2口用作当作为准双向通用I/O接口。控制信号使转换开关接左侧,其工作原理与P1相同,只是P1口输出端由锁存器Ō接V1,而P2口是由锁存器Q端经反相器3接V1,也具有输入、输出、端口操作三种工作方式,负载能力也与P1相同。当控制信号为为高电平“1”,转换开关接右侧,P2口73四.P3口P3口1位的结构如图2.9。它的输出驱动由与非门3、V1组成,输入比P0、P1、P2口多了一个缓冲器4。21DQCLK锁存器读锁存器写锁存器内部总线读引脚VccGNDP3.xV1内部上拉电阻&34第二功能输入第二功能输出四.P3口P3口1位的结构如图2.9。它的输出驱动由与非门374P3口除了作为准双向通用I/O口使用外,它的每一根线还具有第二种功能。P3口第二功能P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2INT0外部中断0请求输入端,低电平有效P3.3INT1外部中断1请求输入端,低电平有效P3.4T0定时/计数器0外部计数脉冲输入端P3.5T1定时/计数器0外部计数脉冲输入端P3.6WR外部数据存储器写信号,低电平有效P3.7RD外部数据存储器读信号,低电平有效P3口除了作为准双向通用I/O口使用外,它的每一根线还具有第75当P3口作为第二功能时,锁存器的Q输出端必须为高电平,否则V1管导通,引脚将被箝位在低电平,无法实现第二功能。当锁存器Q端为高电平,P3口的状态取决于第二功能输出线的状态。单片机复位时,锁存器的输出端为高电平。P3口第二功能中输入信号RXD、INT0、INT1、T0、T1经缓冲器4输入,可直接进入芯片内部。当P3口作为通用I/O接口时,第二功能输出线为高电平,与非门3的输出取决于锁存器的状态。这时,P3是一个准双向口,它的工作原理、负载能力与P1、P2口相同。当P3口作为第二功能时,锁存器的Q输出端必须为高762.3MCS-51系列单片机的外部引脚及片外总线2.3.1外部引脚P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VpdP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL2XTAL1VssVccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0123456789101112141516171819204039383736353433323130292827262524232221803180518751RXDTXDINT0INT1T0T1WRRDP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业子公司管理准则
- 办公楼配电房升级改造协议
- 校领导在军训总结大会上的感想5篇
- 离职员工工作交接清单制度
- 质量检测员合同范本
- 儿童教育技术合同指南
- 房地产行政人事合同
- 办公园区维修合同
- 云计算中心施工合同
- 建筑照明单项施工合同
- 由冷变热(课堂PPT)
- 网球比赛计分表(共2页)
- Y2系列电机外形及安装尺寸(共2页)
- 地锚抗拔力计算
- 补偿收缩混凝土应用技术规程JGJT1782009
- 豆类食物营养成分表
- 儿童福利机构设备配置标准
- 智慧树知到《配位化学本科生版》章节测试答案
- 最新实用培训技巧与方法课件PPT
- 羊头岗村拆迁安置住宅—3#楼工程试验方案
- 大同煤业股份有限公司会计信息披露存在的问题和对策研究论文设计
评论
0/150
提交评论