单片机应用实战培训(与“地址”有关的共87张)_第1页
单片机应用实战培训(与“地址”有关的共87张)_第2页
单片机应用实战培训(与“地址”有关的共87张)_第3页
单片机应用实战培训(与“地址”有关的共87张)_第4页
单片机应用实战培训(与“地址”有关的共87张)_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

单片机应用实战培训1第一页,共87页。单片机基础知识2第二页,共87页。3第三页,共87页。单片机是用于控制用的.(使用相当广泛,它属于一种低端的计算机的控制,高端为嵌入式)对于计算机而言,操作系统要学UNIX,而控制用则学单片机;单片机是面向具体机器的,不同的CPU有不同的指令系统,但基本兼容.4第四页,共87页。单片机的发展历史和发展趋势一、单片机的发展历史第一阶段(1974~1976):单片机采用双片形式,即需另加其它外围电路才能构成完整的微型计算机。eg:仙童公司的F8+3851第二阶段(1976~1978):低性能的单片机阶段。单片机由一片芯片构成,性能低。eg:MCS-48(Intel);8048,8035(I/O少,存贮器容量小);5第五页,共87页。第三阶段(1978~):高性能单片机阶段。CPU、并行口、串行口、定时器、RAM、ROM、A/D、多级中断处理,RAM、ROM容量大,I/O种类数量多,寻址范围大。

eg:MCS-51—8031、Motorona—6801、Zilog—Z8第四阶段(1982~)8位单片机巩固发展及16位单片机推出。

eg:MCS-51—8031,MCS-96—8096(8098)6第六页,共87页。二、单片机的发展趋势(一)CPU功能的增强(二)内部资源增多

1、加大存贮容量。1、双CPU提高处理能力。2、增加数据总线宽度。NEC

PD—7800系列,内部采用16位数据总线。3、采用流水线结构。指令以队列形式出现在CPU中。4、串行总线。SPI、I2C用三条数据总线代替8位数据总线,减少引线,降低成本。7第七页,共87页。2、片内EPROM开始EEPROM化。鉴于EEPROM中数据写入后就能永久保存,因此,有的单片机将它作为片内RAM使用,有的甚至作片内通用寄存器。3、I/O数量、能力增强(驱动能力,传输速度、控制能力)(四)低功耗化(三)外围电路内装化8第八页,共87页。单片机的应用与选择一、单片机的特点

(1)小巧灵活、成本低、易于产品化(2)可靠性高、适用的温度范围宽(3)易扩展、控制功能强(4)指令系统相对简单,较易掌握二、单片机的应用领域

(1)在智能仪表中的应用(2)在机电一体化中的应用(3)在实时控制中的应用(4)在军工领域的应用(5)在分布式多机系统中应用(6)民用电子产品中的应用9第九页,共87页。三、单片机应用系统的结构1、基本系统2、扩展系统复位时钟单片机输入输出设备单片机+输入/输出设备无扩展的ROM,RAM,I/O等。

单片机内部资源有限,要求较高的单片机系统需外扩展ROM、RAM、I/O,甚至A/D、D/A等。复位时钟电源单片机ROMRAMA/D串行接口并行接口D/ABUS10第十页,共87页。单片机的特点:即在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O接口电路。由于把上述功能均集成在一块芯片上,故它的稳定性高,适合于工业控制。11第十一页,共87页。2、8051的结构框图VCCVSSXTAL1XTAL2微处理器(运算部件)CPU

控制部件数据存贮器RAM128BP0口P2口P3口程序存贮器4KB特殊功能寄存器(SFR)中断系统定时器0定时器1串行口P1口ROM/EPROM外部中断8888PSENEAALERESETB图1-18031、8051及8751结构框图12第十二页,共87页。8位CPU;片内振荡器及时钟电路;外部RAM和ROM存贮器的寻址范围为64KB;128字节内部RAM数据存贮器;2个16位的定时器/计数器;1个全双工的异步串行口,4个8位并行I/O口;5个中断源、2级中断优先级的中断控制器;

13第十三页,共87页。常用的单片机产品目前生产单片机的厂商主要有Intel公司、Motorola公司、Philips公司、ATMEL公司、WinBond公司、Microchip公司、AMD公司、Zilog公司等,产品型号规格众多,性能各具特色。型号ROM/EPROMRAM时钟速度(MHz)I/O线定时器/计数器串行口中断源PCA通道A/D通道保密位省电方式8031AH

128B123221500

8051AH4KB128B1232215000

8751BH4KB128B1232215002

8032AH

256B123231600

8052AH8KB256B1232316000

8752BH8KB256B1232316002

87C514KB128B12

2432215003√80C32

256B12

243231600

√80C528KB256B12

2432316001√87C528KB256B12

2432316003√80C5416KB256B12

2432316001√87C5416KB256B12

2432316003√87C5832KB256B12

2432316003√80C51GB

256B12,16483115108

√87C51GB8KB256B12,164831151083√14第十四页,共87页。

MCS

51系列单片机的所有产品都含有8051除程序存贮器外的基本硬件,都是在8051的基础上增减部分资源(程序存贮器、数据存贮器、I/O口、定时/计数器及一些其它特殊部件)。

微处理器(运算部件)CPU

控制部件数据存贮器128BRAMP0口P2口P3口程序存贮器4KB特殊功能寄存器(SFR)中断系统定时器0定时器1串行口P1口ROM/EPROM外部中断888PSENEAALERESETBXTAL1XTAL2VCCVSS图2-2MCS-51系列单片机结构框图定时器2特殊I/O特殊部件128BRAMnKB8二、MCS-51系列单片机的一般结构15第十五页,共87页。1。28051内部结构单片机内部可分为:CPU、存储器、并行口、串行口、定时器/计算器和中断逻辑这几个部分。16第十六页,共87页。1。2。1中央处理器1。8051中央处理器由运算器和控制逻辑构成,其中包括若干个特殊功能寄存器。在寄存器中进行加、减、乘、除、和逻辑运算。R0~R7,acc,b等。17第十七页,共87页。D7D6D5D4D3D2D1D0CyACF0RS1RS0OVF1PPSW

Cy(PSW.7):进位标志,又是布尔处理机的累加器C。在执行某些算术和逻辑指令时,数据操作结果最高位有进位输出(加法时)或借位输入(减法时),则置位Cy,否则清Cy。

AC(PSW.6):辅助进位标志,又称半进位标志。当进行加减法操作而产生由低4位向高4位进位(加法)或借位(减法)时,则置位AC,否则清AC。

F0、F1(PSW.5、PSW.1):用户标志。18第十八页,共87页。OV(PSW.2):溢出标志。溢出标志位常用于补码运算,当有符号的两个数运算结果超出了目的寄存器所能表示的带符号数的范围(

128~+127)时置位OV。即当操作结果有进位进入最高位但最高位没有产生进位,或者最高位产生进位而低位没有向最高位进位,则置位OV,否则清OV。D7D6D5D4D3D2D1D0CyACF0RS1RS0OVF1PPSW01111111+011111111111111001111000+011001001101110010000000+1000000010000000010001000+10011100100100100方法:如果位6有进位输出而位7没有或者位7有进位输出而 位6没有则置位OV。19第十九页,共87页。eg:(A)=05H 00000101

P=0

(A)=85H10000101

P=1P(PSW.0):寄偶标志。表示累加器ACC的值二进制表示时1的个数,若1的个数为寄数,则置位P,否则清P。eg:(A)=00001110B

P=1注意:ACC中1的个数为奇数并不能表示ACC的值为奇数。20第二十页,共87页。RS1RS0工作寄存器组RS1RS0工作寄存器组000组(00H~07H)102组(10H~17H)011组(08H~0FH)113组(18H~1FH)21第二十一页,共87页。1)8051的时钟单片机的时钟产生方法有内部时钟方式和外部时钟方式两种,大多数单片机应用系统采用内部时钟方式。它控制着计算机的节奏。MCS-51单片机内有一个反相放大器组成的振荡器,振荡频率主要由外接的石英晶振确定。一般石英晶振的振荡频率为12MHz或11.059MHz;1.2MHz~12MHz。一般:C01、C02均为30pF(20~80pF);fosc:12,11.059MHzNMOS、CMOS型单片机22第二十二页,共87页。NMOS型单片机外部时钟电路输入接线图CMOS型单片机外部时钟电路输入接线图23第二十三页,共87页。2)MCS

51CPU基本时序周期振荡周期:一般指石英晶体的振荡周期;时钟周期:(称S周期)为振荡周期的2倍;机器周期:一个机器周期含6个时钟周期(S周期);指令周期:完成一条指令占用的全部时间。一般由1~4个机器周期组成。CPU的工作是不断地取指令和执行指令,以完成数据的处理、传送和输入/输出操作。CPU取出一条指令至该指令执行完所需的时间称为指令周期。指令周期是以机器周期为基本单位的,是机器周期的整数倍。一个机器周期包含12个时钟周期(S1P1、S1P2、S2P1、S2P2、

、S6P1、S6P2)。

时钟周期:

时钟脉冲的间隔。

24第二十四页,共87页。一般情况下算术逻辑操作发生在时相P1期间,而寄存器至寄存器之间的数据传送发生在时相P2期间。引脚ALE输出信号为MCS

51扩展系统的外部存贮器地址低8位的锁存信号,在访问外部程序存贮器的周期内,ALE信号有效两次(S1P2至S2P1和S4P2至S5P1输出两个正脉冲);而在访问外部数据存贮器的机器周期内,ALE信号有效一次(只在S1P2和S2P1期间产生一个正脉冲)。25第二十五页,共87页。26第二十六页,共87页。3)指令部件程序计数器PC:是16位的计数器,寻址64KB;指令寄存器IR:用来存放当前正在执行的指令;指令译码器:对IR中内容进行分析解释;数据指针DPTR:为16位地址寄存器,主要用于外部寻址,寻址范围为64KB。27第二十七页,共87页。

51单片机的存贮器MCS

51单片机的存贮器的特点为程序存储区与数据存储区是分开的MCS—51系列单片机有五个独立的存贮空间:64KB程序存贮器空间(0~0FFFFH)64KB外部数据存贮空间(0~0FFFFH)256B内部RAM(0~0FFH);128B内部特殊功能寄存器(80~0FFH)位寻址空间(0~0FFH)包含位寻址地址一、程序存贮器地址指针为16位的程序计数器PC,64KB地址空间,包含内部程序存贮器和外部程序存贮器两部分。特殊功能寄存器只能用直接寻址方式,内部数据存贮器区80H~0FFH单元只能用寄存器间接寻址方式。地址重叠问题MOVC,MOVX28第二十八页,共87页。EA=1(VCC5V),PC值大于某值(由容量决定)为访问外部程序存贮器;PC值小于某值为访问内部程序存贮器。EA=0(VSS地),内部程序存贮器被忽略。29第二十九页,共87页。二、外部RAM和I/OMCS

51的外部数据存贮器(RAM/IO)空间为64KB字节(地址为0000H~0FFFFH),一般通过16位的数据指针DPTR来访问,且外部RAM和外部I/O的地址安排是统一编址的,CPU对其有相同的操作功能。00H7FH80HFFH0000HFFFFH内部WRRDSFR外部30第三十页,共87页。三、内部RAM数据存贮器内部RAM数据存贮器可划分为三个区域:工作寄存区00H~1FH(R0~R7)

位寻址区20H~2FH

堆栈和数据缓冲区30H~7FH

PSW.3PSW.4000区00H~07H0 11区08H~0FH1 02区10H~17H1 13区18H~1FH

CPU当前使用的工作寄存器区由程序状态字PSW的3、4位决定。位寻址区16个单元的每一位都有一个位地址(16*8)。在实际应用中,往往需要一个后进先出(LIFO)的RAM缓冲器用于保护CPU的现场,这种后进先出的缓冲器称之为堆栈。堆栈的栈顶位置由堆栈指针SP确定。31第三十一页,共87页。五、特殊功能寄存器MCS—51内部的I/O口锁存器以及定时器、串行口、中断等各种控制寄存器和状态寄存器都称为特殊功能寄存器。地址80H~0FFH

见特殊功能寄存器地址表。32第三十二页,共87页。表2

5特殊功能寄存器列表标示符名称地址ACCBPSWSPDPTRP0P1P2P3IPIETMODTCON*T2CONTH0TL0TH1TL1*TH2*TL2*RLDH*RLDLSCONSBUFPCON累加器B寄存器程序状态字堆栈指针数据指针(包括DPH和DPL)I/O口0I/O口1I/O口2I/O口3中断优先级控制中断允许控制定时器/计数器工作方式控制定时器/计数器控制定时器/计数器2控制定时器/计数器0定时常数(高位字节)定时器/计数器0定时常数(低位字节)定时器/计数器1定时常数(高位字节)定时器/计数器1定时常数(低位字节)定时器/计数器2定时常数(高位字节)定时器/计数器2定时常数(低位字节)定时器/计数器2自动再装载(高位字节)定时器/计数器2自动再装载(低位字节)串行口控制串行数据接收、发送缓冲器电源控制0E0H0F0H0D0H81H83H和82H80H90H0A0H0B0H0B8H0A8H89H88H0C8H8CH8AH8DH8BH0CDH0CCH0CBH0CAH98H99H87H33第三十三页,共87页。六、位存贮器

20H~2FH单元以及特殊功能寄存器中地址为8的倍数的特殊功能寄存器可以位寻址。其每一位都有一个字节地址。地址位地址D7D6D5D4D3D2D1D020H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH07H0FH17H1FH27H2FH37H3FH47H4FH57H5FH67H6FH77H7FH06H0EH16H1EH26H2EH36H3EH46H4EH56H5EH66H6EH76H7EH05H0DH15H1DH25H2DH35H3DH45H4DH55H5DH65H6DH75H7DH04H0CH14H1CH24H2CH34H3CH44H4CH54H5CH64H6CH74H7CH03H0BH13H1BH23H2BH33H3BH43H4BH53H5BH63H6BH73H7BH02H0AH12H1AH22H2AH32H3AH42H4AH52H5AH62H6AH72H7AH01H09H11H19H21H29H31H39H41H49H51H59H61H69H71H79H00H08H10H18H20H28H30H38H40H48H50H58H60H68H70H78H34第三十四页,共87页。

51单片机的外部引脚制造工艺为HMOS的系列单片机大都采用40条引脚的双列直插式封装(DIP).

P0I/OP2I/OI/OP1I/OP3VccALEPSENEARSTXTAL1XTAL2Vss图2

3b逻辑符号803180518751图2

3aMCS-51引脚图P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31322P2.121P2.023P2.230ALE/PROG35第三十五页,共87页。输入/输出接口是CPU外设间信息的桥梁,它可以制成一块单独的大规模集成电路,也可以和CPU集成在同一块芯片上,单片机中就是后一种结构。内部并行I/O端口8031有四个并行端口,分别命名为P0、P1、P2和P3。这四个并行I/O端口的内部位结构如图所示,每个端口皆有八位。由图可见,每个位结构都有一个输出锁存器和一个输入缓冲器。输出锁存器,用于存放需要输出的数据。36第三十六页,共87页。每个端口的八位输出锁存器构成一个特殊功能寄存器,且冠名与端口相同。输入缓冲器用于对端口引脚上输入数据进行缓冲,因此各引脚上输入的数据必须一直保持到CPU把它读走为止。P0、P1、P2和P3端口的电路形式不同,其功能也不同。下面结合电路结构就其功能加以说明。一、P0口

在访问外部存储器时,P0口是一个真正的双向数据口,并分时送出地址的8位和送出(接收)相应存储单元的数据。37第三十七页,共87页。图1

1(a)是P0口的位结构图,它包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。&MUX锁存器DQCPQ读锁存器内部总线写入读引脚地址/数据控制vccP0.x(a)p0口电路逻辑38第三十八页,共87页。

当从P0口输出地址或数据时,控制信号应为高电平1,模拟转换开关(MUX)把地址/数据信息经反相器和下拉场效应管接通,同时与门打开。输出的地址或数据既通过与门去驱动上拉场效应管,又通过反相器去驱动下拉场效应管。例如,若地址/数据信息为“0”,该“0”信号一方面通过与门使上拉场效应管截止,另一方面经反相器使下拉场效应管导通,从而使引脚上输出相应的“0”信号,反之,若地址/数据信息为“1”,将会使上拉场效应管导通而下拉场效应管截止,引脚上将出现相应的“1”信号。39第三十九页,共87页。若P0口作为一般I/O口使用,在CPU向端口输出数据时,对应的输出控制信号应为0,模拟转换开关将把输出级与锁存器Q端接通。同时,因与门输出为0,使上拉场效应管处于截止状态,因此输出级是漏极开路电路。这样,当写脉冲加在触发器时针端CP上时,则与内部总线相连的D端数据取反后就出现在Q端,再经场效应管反相,在P0引脚上出现的数据正好是内部总线的数据。不难看出,P0口在输出地址/数据信息和作为一般I/O口输出数据时,其输出驱动电路的工作状态是有差别的。40第四十页,共87页。一般P0口的输出级能驱动8个LSTTL输入,但对NMOS输入而言,P0口做地址/数据总线口使用时,不必外加提升电阻。而作一般I/O口使用时,由于输出驱动电路工作于开漏状态,故需外接上拉电阻。当P0口引脚上输入数据,此时上拉FET应一直处于截止状态。引脚上的外部信号即加在下面一个三态缓冲器的输入端,又加在下拉FET的漏极,假定在此之前曾输出锁存过数据0,则FET是导通的,这样引脚上的电位就始终被钳位在0电平,使输入高电平无法读入。因此作为一般I/O口使用时,P0口是一个准双向口,即输入数据时,应先向口写“1”,使两个FET均截止,然后方可作高阻抗输入。41第四十一页,共87页。但在P0口连接外部存储器时,由于访问外部存储器期间,CPU会自动向口0的锁存器写入0FFH,所以,对用户而言,P0口用作地址/数据总线时,则是一个真正的双向口。上面所述为数据由引脚输入的情况,称为“读引脚”操作。但在有些情况下,例如用一根口线去驱动一个晶体管的基极,则向此口线写“1”时,晶体管导通,并把引脚上的电平拉低,这时若从引脚上读取数据,会把此数据错读为0。为了避免错读引脚上电平的可能性,单片机中还提供了另一类所谓“读锁存器”操作。42第四十二页,共87页。这类操作的特点是:先读口,随之可对读入的数据进行修改,然后再写到端口上。例如执行指令ORLP0,A时,则先把P0上的内容读入CPU,然后与A累加器内容按位进行逻辑“或”操作,最后把“或”的结果送回P0口。能使单片机产生这种读-修改-写操作的指令,其目的操作数一般为某I/O口或口的某一位,这些指令是:ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ,MOVPX·Y,C,CLRPX·Y和SETBPX·Y等,它们的含义详见指令系统一章的说明。43第四十三页,共87页。综上所述,P0口既可作地址/数据总线口,这时它是真正的双向口,也可作通用I/O口,但只是一个准双向口。一般情况下,P0口已当作地址/数据口使用时,就不能再作通用I/O口使用。P2口的位结构如图1-1(b)所示,它与P0口基本相同,只有输出部分略有不同,在输出FET的漏极接有上拉电阻,这种结构不必外接上拉电阻就可驱动任何MOS输入电路,且能驱动四个LSTTL输入。P2口常用作外部存储器的高八位地址口。当不用作地址口时,P2口亦可作通用I/O口,这时它也是一个准双向I/O口。

二、P2口44第四十四页,共87页。

vccP2X地址(b)p2口电路逻辑MUX锁存器DQCPQ读锁存器内部总线写入读引脚控制45第四十五页,共87页。三、P1口(c)p1口电路逻辑锁存器DQCPQ读锁存器内部总线写入读引脚vccP1XP1口的位结构如图5-1(c)所示,它与P2口基本相同,只是少了一个转换器(MUX)和一个反相器,且为使逻辑上的一致将锁存器的Q与输出FET相连。P1口常用作通用I/O口,它是一个标准的准双向口,即作输入口使用时必须先给锁存器置1。46第四十六页,共87页。四、P3口P3口是一个双功能口,第一功能和P2口一样可作为通用I/O口。P3口工作于第二功能时,各位的定义如下:P3·0RxD(串行输入通道)P3·1TxD(串行输出通道)P3·2INT0(外中断0)P3·3INT1(外中断1)P3·4T0(定时器0外部输入)P3·5T1(定时器1外部输出)P3·6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)

47第四十七页,共87页。&锁存器DQCPQ读锁存器内部总线写入读引脚第二输出功能(d)p3口电路逻辑第二输入功能vccP3.x48第四十八页,共87页。

由图1-1(d)P3口位结构可以看出,实现第一功能作通用I/O输出口时,选择输出功能端应保持高电平,使与非门对锁存器Q端是畅通的。同理,实现第二功能做专用信号输出时,则该位的锁存器应置1,使与非门对选择输出功能端是畅通的。对输入而言,无论该位是作通用输入口还是作第二功能输入口,其输出锁存器和选择输出功能端都应置1,即使FET截止。

由于所有口锁存器在上电复位时均置为1,自然满足了上述条件,所以用户不必做任何工作,就可以直接使用P3口的第二功能。至于第一功能,应在确信某一引脚第二功能提供的信号不用时,该引脚才可作I/O线使用,使用方法同与一般准双向口相同。

49第四十九页,共87页。1.MCS

51单片机的串行口

MCS

51系列单片机的串行口是全双工的,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。50第五十页,共87页。在串行口中可供用户使用的是它的寄存器,因此了解其寄存器结构对用户来说是十分重要的。一、串行口寄存器结构发送SBUF(99H)接收SUBF(99H)输入移位寄存器TI(发送中断)TXD串行输出8051内部总线RXD串行输入RI(接收输入)移位时钟图1-23MCS-51串行口寄存器结构51第五十一页,共87页。2。定时器/计数器

MCS

51单片机内部有两个可编程的定时器/计数器,分别称为定时器/计数器0和定时器/计数器1。它们都是16位加法计数结构,分别由TH0和TL0及TH1和TL1两个8位计数器组成。52第五十二页,共87页。

一、计数功能计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。MCS

51芯片有T0(P3.4)和T1(P3.5)两个信号引脚,分别是这两个计数器的输入端。外部输入的脉冲为负跳变时有效,进行计数器加1。单片机在每个机器周期的S5P2拍节对外部计数脉冲进行采样。如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效脉冲。在下一个机器周期的S3P1进行计数。可见采样计数脉冲是在2个机器周期进行的。因此,计数脉冲的频率不能高于震荡脉冲频率的1/24。外部输入脉冲高电平和低电平时间必须在一个机器周期以上。53第五十三页,共87页。

二、定时功能定时功能也是通过定时器/计数器的计数来实现的。不过此时的计数脉冲来自单片机内部,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的初值。54第五十四页,共87页。

3.MCS-51中断系统与控制MCS

51的51子系列(8031、8051、8751等)有5个中断源,52子系列(8032、8052等)有6个中断源,它们均有两个优先级,通过4个中断控制器(IE、IP、TCON、SCON)进行中断管理8051单片机的5个中断源分为两种类型:一类是外部中断源,包括INT0和INT1;另一类是内部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的发送/接收中断。55第五十五页,共87页。

51单片机的外部引脚制造工艺为HMOS的系列单片机大都采用40条引脚的双列直插式封装(DIP).

P0I/OP2I/OI/OP1I/OP3VccALEPSENEARSTXTAL1XTAL2Vss图1

8b逻辑符号803180518751图1

8aMCS-51引脚图P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31322P2.121P2.023P2.230ALE/PROG56第五十六页,共87页。一、电源及时钟引脚Vcc(40脚):接+5V电源;

Vss(20脚):接地;

XTAL1(19脚):接外部晶体的一个引脚;

XTAL2(18脚):接外部晶体的另一端;时钟引脚(18、19脚)外接晶体时与片内的反相放大器构成一个振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。

图2

3aMCS-51引脚图P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31321P2.022P2.123P2.230ALE/PROG57第五十七页,共87页。二、控制引脚

RST/VPD(9脚)当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位(RST);

ALE/PROG(30脚)当单片机访问外部存贮器时,ALE(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存贮器,ALE端仍有周期性正脉冲输出,其频率为振荡器频率的1/6;

PSEN(29脚)此输出为访问外部程序存贮器的读选通信号;

30ALE/PROG23P2.222P2.121P2.0图2

3aMCS-51引脚图P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31358第五十八页,共87页。30ALE/PROG23P2.222P2.121P2.0图2

3aMCS-51引脚图P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.313

EA/Vpp(31脚)当EA端保持高电平时,单片机访问的是内部程序存贮器(对8051、8751来说),但当PC(程序计数器)值超过某值(如8751内部含有4KBEPROM,值为0FFFH)时,将自动转向执行外部程序存贮器内的程序。当EA端保持低电平时,则不管是否有内部程序存贮器而只访问外部程序存贮器。59第五十九页,共87页。三、输入/输出引脚

P0口(P0.0~P0.7)为双向8位三态I/O口,当作为I/O口时,可直接连接外部I/O设备。它是地址总线低8位及数据总线分时复用口,可驱动8个TTL负载。一般作为扩展时地址/数据总线;

P1口(P1.0~P1.7)为8位准双向I/O口,可定义为输入线或输出线(作为输入时,口锁存器必须置1),可驱动4个TTL负载;30ALE/PROG23P2.222P2.121P2.0图2

3aMCS-51引脚图P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31360第六十页,共87页。P2口(P2.0~P2.7)为8位准双向I/O口,当作为I/O口时,可直接连接外部I/O设备。它是与地址总线高8位复用,可驱动4个TTL负载。一般作为扩展时地址总线的高8位,可驱动4个TTL负载。

P3口(P3.0~P3.7)为8位准双向I/O口,是双功能复用口,可驱动4个TTL负载。

30ALE/PROG23P2.222P2.121P2.0图2

3aMCS-51引脚图P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31361第六十一页,共87页。(a)1。MCS

51单片机的复位方式复位电路:使CPU和系统中的其它部件都处于一个确定的初始状态,并从这个初始状态开始工作。上电复位电路上电复位和开关电路系统复位电路(b)复位原理:使RST引脚为足够长的高电平时间。62第六十二页,共87页。3。MCS-51单片机的单步工作方式单步工作方式,即单步执行:就是由外来脉冲控制程序的执行,使之达到来一个脉冲就执行一条指令的目的。而外来脉冲是通过按键产生的,因此实际上单步执行就是按一次键执行一条指令。

假定利用外部中断0来实现程序的单步执行,为此应事先作好两项准备工作:①

建立单步执行的外部控制电路;②编写外部中断0的中断服务程序。

63第六十三页,共87页。+5V1K

单脉冲电路

8031

INT0利用中断实现单步操作

CLRIT0;设置外部中断0为电平触发SETBEA ;CPU开中断SETBPX0 ;置外部中断0为高优先级SETBEX0 ;外部中断0开中断其初始化程序如下:JBP3.2,$ ;INT0=1则原地踏步JNBP3.2,$;INT0=0则原地踏步RETI ;返回主程序

外部中断0的中断服务程序如下:

注意:MCS

51的中断机制有这样的特点,即从中断服务程序返回主程序后,至少要执行一条指令,然后才能再响应新的中断。64第六十四页,共87页。4。低功功耗操作方式。65第六十五页,共87页。1.1MCS

51并行扩展总线MCS

51系统单片机(8031、8032除外)尽管是一功能完全的单片机,但因其内部资源(RAM、ROM、I/O、A/D、D/A等)不足,在实际应用中不加以扩展直接用其基本系统的情况较少,一般情况下需扩展。一、MCS

51并行扩展 总线方法

MCS

51可以扩展64KB的程序存贮器和64KB的数据存贮器或输入/输出口。

803180518751P2ALEP0PSENWRRDD0~D7A0~A7A8~A15地址总线数据总线控制总线地址锁存器66第六十六页,共87页。P0、P2口可以直接作为输入输出使用,其更重要的用途是用来扩展总线口使用。

P0口作为地址(地址低8位)/数据(D0~D7)总线口。

P2口作为地址总线口(地址高8位)。803180518751P2ALEP0PSENWRRDD0~D7A0~A7A8~A15地址总线数据总线控制总线地址锁存器67第六十七页,共87页。PSENMCS—51P2,P0 RD WR外部程序存贮器扩展RAM并行I/O接口串行I/O接口A/D转换D/A转换定时器计数器外部数据存贮器扩展并行I/O设备串行I/O设备模拟量输入模拟量输出扩展总线外部程序存贮器用PSEN作为读选通信号外部数据存贮器用RD和WR作为读/写选通信号★

68第六十八页,共87页。69第六十九页,共87页。70第七十页,共87页。MCS

51访问外部存贮器时序波形可以看出,输出的地址当ALE上升以后有效,当ALE下降以后消失,因此可以用ALE的负跳变将地址打入地址锁存器,即当ALE由高变低时,将出现在P0口的地址信号低8位锁存到外部地址锁存器中(如图6

1所示),直到下一次ALE变高时,地址才发生变化。用74LS373作地址锁存器D0...D7Q0...Q7锁存器三态门(a)74LS373逻辑符号GEINOUT19A716A69A35A12A0D0.0D0.1D0.2D0.3D0.4D0.5D0.6D0.78D7D6D5D4D3D2D1D321834143317351336837738439315A512A46A28Q7Q6Q5Q4Q3Q2Q1QGALE+5V20GND11074LS37330803180518751(b)MCS

51地址扩展电路Vcc11EN71第七十一页,共87页。二、地址译码方法

(一)线选法一般片选端(CS、CE等)低电平有效,只要连接片选信号端的引线状态为低电平,就表示选中该芯片。在确定地址时,该芯片未用到的地址线为1,用到的地址线由所访问的芯片和单元确定。线选法有可能产生地址重叠:若片选线中除和存贮芯片CS相连的以外还存在悬空的片选线,则存贮单元的地址就有重叠现象;否则,存贮单元的地址就是唯一的。72第七十二页,共87页。(二)全地址译码法全地址译码就是将系统中未用到的全部高位地址作为译码信号的输入端,由此产生的译码输出信号作为选片信号的一种译码方式。在全地址译码法中,存贮器每个存贮单元只有唯一的一个CPU地址和它一一对应,只要单片机发出这个地址就可选中该存贮单元工作,故不存在地址重叠现象。73第七十三页,共87页。(三)部分地址译码法部分地址译码法是指单片机片选线中只有一部分参加了译码,其余部分是悬空的,在实际应用中这种使用方式不太多。当使用部分地址译码法时,无论CPU使悬空片选地址线上电平如何变化,都不会影响它对存贮单元的选址,故存贮器每个存贮单元的地址不是唯一的,必然会有一个以上的CPU地址和它对应(既地址有重叠)。采用部分地址译码法时必须把程序和数据放在基本地址范围内(即悬空片选地址线全为低电平时存贮芯片的地址范围),以避免因地址重叠引起程序运行的错误。74第七十四页,共87页。1.2MCS

51存贮器的扩展对于用内部无ROM的芯片8031,8032来建立系统,则必须外部扩展程序存贮器。对于仅靠内部ROM,其ROM容量不能满足要求的情况,则可外部扩展程序存贮器。程序存贮器的作用:用于存贮程序代码或程序常数。75第七十五页,共87页。1、程序存贮器扩展的基本原理(二)MCS—51程序存贮器的扩展方法“某一值”由内部程序存贮器的容量决定。PC≤某一值,CPU从内部存贮器中取指令PC>某一值,CPU从外部存贮器中取指令EA=1EA=0CPU

温馨提示

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

评论

0/150

提交评论