《第一章 单片机的基础知识.ppt》由会员分享,可在线阅读,更多相关《第一章 单片机的基础知识.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章第一章 单片机的基础知识单片机的基础知识1 概要概要单片机系统:硬件系统和软件系统单片机:CPU、ROM、RAM、T/C、I/O口和中断等。本章以8051型单片机为主线,介绍MCS-51型单片机的组成、管脚功能、存储器的组织结构、并行I/O口的工作原理等。2第一节第一节 单片机的基本组成单片机的基本组成 一、单片机的内部结构一、单片机的内部结构MCS-51单片机的功能模块框图3-1.CPU单片机的核心2.片内RAM(数据存储器)用来存放随机存取的数据和中间结果。容量为256字节/128字节。3.片内ROM(程序存储器)用来存放程序、原始数据和表格。8051型单片机容量为4KB。4.定时器
2、/计数器用来实现定时或计数。两个16位寄存器。45.并行I/O口4个8位口,P0、P1、P2、P3口。用作输入/输出。6.串行口用作串行数据的传送。7.中断控制系统5个中断源,用以实现中断控制功能。8.时钟电路为单片机产生时钟脉冲序列。5=-二、单片机的管脚功能二、单片机的管脚功能40脚双列直插式封装MCS-51单片机管脚图单片机管脚图6-1.电源(2个)UCC(40脚)和USS(20脚)2.时钟信号(2个)XTAL1(19脚)和XTAL2(18脚)3.控制线(4个)(1)RST/UPd(9脚):RST为复位信号输入端,高电平复位。UPd为备用电源输入端,起掉电保护的作用。7(2)ALE/PR
3、OG(30脚):ALE为地址锁存允许输出信号,PROG为编程脉冲输入端(8751型)。(3)PSEN(29脚):外部程序存储器读选通信号。(4)EA/Upp(31脚):EA为访问内外程序存储器的选择信号,Upp为外接编程电压(1225V)端(8751型)。EA为低电平时(EA=0),限定在外部ROM。EA为高电平时(EA=1),先访问内部ROM再访问外部ROM。84.输入/输出口线(32个)P0口(P0.0P0.7)P1口(P1.0P1.7)P2口(P2.0P2.7)P3口(P3.0P3.7)P3口有第二功能(见表1-1-1)9第二节第二节 并行并行I/O口电路及存储器口电路及存储器 一、并行
4、一、并行 I/O口电路的结构口电路的结构 4个8位双向端口,包含:锁存器(D触发器)输出驱动电路输入缓冲器多路转换电子开关MUX10锁存器当CP端出现上升沿时当D=0时,Q=0、Q=1当D=1时,Q=1、Q=011输入缓冲器EYAE为控制端,A为输入端,Y为输出端当E=1时Y=A,即A=0时,Y=0;A=1时,Y=1当E=0时,呈高阻态12多路转换电子开关MUX当控制端为0时,MUX接A端,当控制端为1时,MUX接上档BBA13 1.P0口口CPU外设外设P0口位结构图14一般情况下可直接读引脚这种情况下必须读锁存器15作一般的作一般的I/O口使用口使用(1)作通用输出口这时,内部控制端为低电
5、平,封锁与门,T1截止,MUX接Q端。当D=0时,Q=1,T2饱和导通,P0.X=0。当D=1时,Q=0,T2截止,在外接电阻情况下,P0.X=1。(2)作通用输入口有读锁存器和读引脚两种。16P0口作地址口作地址/数据线使用时数据线使用时这时,内部控制信号为高电平,MUX接上档位置,P0口分时复用。(1)P0口作为输出地址/控制总线在扩展系统中,从P0口管脚输出低8位地址或数据信息。(2)由P0口输入数据这种情况是在“读管脚”信号有效时打开输入缓冲器使数据进入内部总线。P0口作为地址/数据总线使用时,无须外接上拉电阻。172.P1口口作通用的输入/输出口使用。P1口位结构图18 3.P2口口
6、作通用的I/O口使用;作高8位地址线使用。P2口位结构图19 4.P3口口作通用的I/O口使用;以第二功能为主。P3口位结构图20 二、存储器的组织结构二、存储器的组织结构程序存储器(ROM)数据存储器(RAM)从物理上划分4个地址空间:内ROM、外ROM、内RAM和外RAM从逻辑上划分3个地址空间:内外ROM、内RAM低128B和外RAM、内高128B特殊功能寄存器(SFR)218051型单片机存储器地址空间分配图221.程序存储器程序存储器(ROM)程序存储器用于存放调试好的应用程序和表格常数。8051/8751型单片机有4KB内部程序存储器,编址为0000H0FFFH。其内外ROM的选择
7、,是由EA信号来控制的。(1)EA=1时,8051程序计数器PC在0000H0FFFH范围内执行片内ROM程序,当指令地址超过0FFFH后,就自动地转向片外ROM取指令。(2)当EA=0时(接地),8051片内ROM失效,CPU只能从片外ROM中取指令,地址从0000H开始。23 2.数据存储器数据存储器(RAM)内RAM共256字节,地址范围为00HFFH分低128B(00H7FH)和高128B(80HFFH)外RAM容量为64KB,地址范围0000HFFFFH内部低128BRAM可划分为3个区间为:工作寄存器、位寻址区、数据缓冲区24内部数据存储器地址空间的分配25(1)工作寄存器区()工
8、作寄存器区(00H1FH)分为四组地址为:0组00H07HR0R71组08H0FHR0R72组10H17HR0R73组18H1FHR0R7选择工作寄存器组由PSW来定,系统复位后选中第0组工作寄存器。用来放置操作数和运算的中间结果。便于增加编程的灵活性和程序运行速度。26 (2)位寻址区()位寻址区(20H2FH)字节寻址:CPU对字节单元进行访问。位寻址:CPU能直接寻址位。共16个字节单元,168位=128位,其位地址为00H7FH。27(3)数据缓冲区(数据缓冲区(30H7FH)一般RAM区,放置随机数据和运算的中间结果。常把堆栈开辟在其中。28 3.特殊功能寄存器(特殊功能寄存器(80
9、HFFH)8051单片机中共22个SFR,也称为专用寄存器。离散地分布在内RAM的高128B中。其中,程序计数器PC不占据RAM单元,在物理上是独立的,不可寻址。部分专用寄存器可位寻址。见表1-2-2和1-2-3所示。29专用寄存器中的位地址空间SFR名称字节地址D7位地址空间D0BF0HF7HF6HF5HF4HF3HF2HF1HF0HAE0HE7HE6HE5HE4HE3HE2HE1HE0HPSWD0HD7HD6HD5HD4HD3HD2HD1HD0HP080H87H86H85H84H83H82H81H80HP190H97H96H95H94H93H92H91H90HP2A0HA7HA6HA5HA
10、4HA3HA2HA1HA0HP3B0HB7HB6HB5HB4HB3HB2HB1HB0HIPB8HBCHBBHBAHB9HB8HIEA8HAFHACHABHAAHA9HA8HTCON88H8FH8EH8DH8CH8BH8AH89H88HSCON98H9FH9EH9DH9CH9BH9AH99H98H30(1)累加器)累加器 ACC(简记为简记为A)累加器在大部分的操作运算中存放着某个操作数和运算结果。寄存器中的核心。(2)B寄存器寄存器B寄存器主要用于与累加器A配合执行乘法和除法指令的操作,对其它指令也可作为暂存寄存器。31(3 3)程序状态字)程序状态字PSWPSWPSW是一个8位寄存器,用来存
11、放程序状态信息。某些指令的执行结果会自动影响PSW的有关状态标志位,有些状态位可用指令来设置。PSW寄存器各位的定义如下:CYACF0RS1 RS0 OV/P32CY(PSW.7):进位标志。AC(PSW.6):半进位标志。F0(PSW.5):用户标志位。RS1、RS0(PSW.4、PSW.3):工作寄存器组选择控制位。RS1RS0=00时0组011组102组113组33有符号数运算时有溢出OV置1;无溢出,OV清0。OV(PSW.2):溢出标志位。P(PSW.0):奇偶标志位。累加器A中1的个数为奇数,P置1,否则清0。例:96H+87H=11DH10010110+1000011110001
12、1101结果AC=0、CY=1、OV=1、P=0、(A)=1DH。34(4)堆栈指针寄存器)堆栈指针寄存器SP SP是一个8位的特殊功能寄存器,用来存放堆栈的栈顶地址。1)堆栈的概念 堆栈是一种数据结构。所谓堆栈,就是数据只允许在其一端进出的一段存储空间。数据写入堆栈称为入栈或压栈,对应指令的助记符为PUSH。数据从堆栈中读出则称为出栈或弹出,对应指令的助记符为POP。35 2)堆栈区域设定)堆栈区域设定MCS-51型系列单片机复位后,SP初值自动设为07H。但由于内RAM07H单元的后继区域分别为工作寄存器和位寻址区。通常这两个区域在程序中有重要用途,所以在用户程序设计的开始,一般都将堆栈设
13、在内部RAM的30H7FH的地址空间的高端,而不设在工作寄存器区和位寻址区。363)堆栈的功能)堆栈的功能堆栈是为程序调用和中断操作而设立的。具体功能是保护现场和断点地址。37 4)堆栈的类型及原则)堆栈的类型及原则堆栈有两种类型:向上生长型和向下生长型。所谓向上生长型是指随着数据的不断入栈,栈顶地址不断增大。反之,随着数据的不断出栈,栈顶地址不断缩小。所谓向下生长型式指随着数据的不断入栈,栈顶地址不断减小。反之,随着数据的不断出栈,栈顶地址不断增大。uMCS-51系列单片机属于向上生长型堆栈,其栈底在低地址单元。38堆栈类型示意图395)堆栈的操作)堆栈的操作建栈操作:通过指令给SP赋初值。
14、例如:MOVSP,#32H进栈操作:首先(SP)+1,然后写入数据。指令:PUSH形式。出栈操作:首先读出数据,然后(SP)-1指令:POP形式。40指令:MOVA,#56HMOVSP,#32HPUSHACCPOPB堆栈操作示意图41 (5)数据指针寄存器)数据指针寄存器DPTRDPTR是一个16位特殊功能寄存器,它由DPH和DPL两个8位的特殊功能寄存器组成,是一个对片外RAM及扩展I/O口进行存取用的地址指针。也可分成两个8位寄存器进行操作。42(6)程序寄存器)程序寄存器PCPC是一个16位的寄存器,用于存放将要执行的指令地址。CPU每读取指令的一个字节PC值便自动加一,指向本指令的下一
15、个字节或下一条指令。PC没有地址,因此是不可寻址的。用户无法对其进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。43第三节第三节 时钟电路及时序时钟电路及时序时钟电路用来产生单片机工作所需的时钟信号;CPU的时序是指令执行中各控制信号在时间上的相互关系。单片机本身就如同一个复杂的同步时序电路,为了确保同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。441一、时钟电路一、时钟电路 1.内部时钟方式内部时钟方式内部时钟方式 电容C1、C2对频率有微调作用,其容量的选择通常为30pF10pF,振荡频率的选择范围为1.212MHz,一般常用6MHz或12M
16、Hz。452.外部时钟方式外部时钟方式 外部时钟方式 常用于多块8051同时工作,以便同步工作,晶体振荡信号从XTAL2端输出到片内的时钟发生器上。外部时钟方式4621 时钟发生器是一个二分频触发器电路,它将振荡器的信号频率(fosc)除以2,向CPU提供了两相时钟信号P1和P2。外接晶体振荡信号47二、二、CPU的时序的时序 1.振荡周期振荡周期P振荡周期又称为拍,是为单片机提供定时信号的振荡源的周期。是MCS-51中最小时序单位。1P=1/fosc(fosc为振荡器频率)2.时钟周期时钟周期S也称为状态周期,用S表示。是单片机中最基本的时间单位,在一个时钟周期内,CPU完成一个最基本的动作
17、。通常把一个状态的前后两个振荡脉冲用P1、P2来表示。1S=2P=P1+P248 3.机器周期机器周期完成某种基本操作所需要的时间称为一个机器周期。一个机器周期有6个状态(12个振荡脉冲),分别用S1S6来表示。这样,一个机器周期的12个振荡周期就可以表示为S1P1、S1P2、S2P1、S2P2、.、S6P2。当fosc=12MHz时,机器周期为=6S=12P=12/fosc=12/12MHz=1s494.指令周期指令周期 完成一条指令所需的时间称为指令周期。MCS-51的指令周期含14个机器周期,其中多数为单机器周期指令、双机器周期指令和四机器周期指令。50MCS-51单片机各种周期的相互关
18、系51访问外部访问外部RAM相应的时序相应的时序52三、单片机的复位三、单片机的复位任何单片机上电时必须复位。对于MCS-51系列单片机,只要在RST管脚出现10ms以上时间的高电平,单片机就实现复位状态。1.复位信号和复位状态复位信号和复位状态8051的单片机系统的复位管脚一般接成上电复位方式,系统上电后,单片机就复位。53复位后,片内各特殊功能寄存器的状态为:PC0000H(意义?)A00HB00HPSW00H(意义?)SP07H(含义)DPTR0000HP0P3FFH542.常用的复位电路常用的复位电路上电复位电路手动按键复位电路AA55 小结小结 1.单片机的组成部件和功能2.单片机芯片引脚功能3.P0P3口功能4.存储器组织结构(1)片内RAM低128B中三个区、外RAM(2)高128单元SFR中的A、B、SP、PC、PSW、DPTR(3)片内外ROM5.单片机的时钟电路和四个时序定时单位6.单片机的复位电路形式,复位后寄存器的值56Any Question?57