第2章MCS-51单片机硬件组成(1)._第1页
第2章MCS-51单片机硬件组成(1)._第2页
第2章MCS-51单片机硬件组成(1)._第3页
第2章MCS-51单片机硬件组成(1)._第4页
第2章MCS-51单片机硬件组成(1)._第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

1、汽车与交通工程学院汽车与交通工程学院Email:主讲:陈林林主讲:陈林林第二章:单片机硬件组成第二章:单片机硬件组成本章重点: MCS-51的基本组成(内部资源) I/O口结构 存储器、堆栈与特殊功能寄存器 单片机的基本工作方式以及单片机的基本时序 单片机的引脚通过本章的学习,应该对单片机的整体结构和工作原理有全面的了解,上述内容是学习和使用单片机指令系统以及设计单片机控制系统的基础。 MCS51单片机单片机不同的不同的具体型号具体型号,可能在以,可能在以下方面有所不同下方面有所不同片内数据存储器容量不同片内数据存储器容量不同片内程序存储器片内程序存储器容量和器件类型不同容量和器件类型不同定时

2、器数量不同定时器数量不同串口数量不同串口数量不同回顾MCS-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!ATEML89C系列(常用型)1051(1K)/ 2051(2K)/

3、 4051(4K)(20条引脚DIP封装)1282151589C51(4K)/ 89C52(8K)(40条引脚DIP封装)128/2562/33215/6MCS-51MCS-51的基本组成的基本组成MCS-51单片机内部资源8 8 位的位的 CPUCPU, 片内有振荡器和时钟电路片内有振荡器和时钟电路, ,工作频率为工作频率为 1 112MHz12MHz(Atmel 89CxxAtmel 89Cxx为为0 024MHz24MHz)片内有片内有 128/256128/256字节字节 RAMRAM片内有片内有 0K/4K/8K0K/4K/8K字节字节 程序存储器程序存储器ROMROM可寻址片外可寻

4、址片外 64K64K字节字节 数据存储器数据存储器RAMRAM可寻址片外可寻址片外 64K64K字节字节 程序存储器程序存储器ROMROM片内片内 21/2621/26个个 特殊功能寄存器特殊功能寄存器(SFRSFR)4 4个个8 8位位 的并行的并行I/OI/O口口(PIOPIO)1 1个个 全双工串行口全双工串行口(SIO/UARTSIO/UART)2/32/3个个1616位位 定时器定时器/ /计数器计数器(TIMER/COUNTERTIMER/COUNTER)可处理可处理 5/65/6个个中断源,中断源,两级两级中断优先级中断优先级内置内置1 1个个布尔处理器布尔处理器和和1 1个个布

5、尔累加器布尔累加器(CyCy)MCS-51MCS-51指令集含指令集含 111111条指令条指令MCS51单片机的内部组成MCS51单片机的单片机的P0、P2和和P3并行接口在并行接口在CPU控制下,可构成地址、数据和控制总线,控制下,可构成地址、数据和控制总线,用于外部设备扩展,用于外部设备扩展,MCS51单片机可以扩单片机可以扩展:展:片外数据存储器单元和片外数据存储器单元和I/O接口地址共接口地址共64KB64KB片外程序存储器片外程序存储器 MCS-51单片机的中央处理器单片机的单片机的CPUCPU字长为字长为8 8位,即对数据的处理、传输位,即对数据的处理、传输均按均按8 8位二进制

6、数位二进制数( (一个字节一个字节) )进行进行MCSMCS5151系列单片机是系列单片机是8 8位机位机MCSMCS5151系列单片机的系列单片机的CPUCPU由由运算器运算器、控制器控制器及相及相应的应的专用寄存器专用寄存器组成组成运算器运算器以算术运算器以算术/ /逻辑部件逻辑部件( (ALU-ALU-具有加、减、具有加、减、逻辑运算和移位功能逻辑运算和移位功能) )为核心,加上累加器为核心,加上累加器ACCACC、暂存寄存器、程序状态字寄存器暂存寄存器、程序状态字寄存器PSWPSW以及布尔处理以及布尔处理器、器、BCDBCD码运算调整电路等构成。码运算调整电路等构成。运算器的功能包括:

7、运算器的功能包括:算术运算算术运算逻辑运算逻辑运算位操作位操作控制器控制器是CPU的指挥调度中枢,它包括:定时控制逻辑定时控制逻辑指令寄存器指令寄存器指令译码器指令译码器数据指针数据指针DPTR程序计数器程序计数器PC堆栈指针堆栈指针SP地址寄存器地址寄存器地址缓冲器等地址缓冲器等运行时控制器对运行时控制器对指令进行译码指令进行译码,然后通,然后通过定时和控制电路在规定时刻发出所需的内、过定时和控制电路在规定时刻发出所需的内、外部控制信号,协调各部分的工作,完成指外部控制信号,协调各部分的工作,完成指令规定的操作。令规定的操作。 MCS51控制器示意图程序计数器PC(Program Count

8、er) 为了保证程序能够连续地执行下去,为了保证程序能够连续地执行下去,CPUCPU必须必须具有某些手段来确定下一条指令的地址。而程具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为序计数器正是起到这种作用,所以通常又称为指令计数器指令计数器程序计数器程序计数器PCPC是是1616位位的寄存器,用来存放的寄存器,用来存放即将即将要执行的指令地址要执行的指令地址, ,当当CPUCPU按照按照PCPC指示的地址取指示的地址取出一条指令后,出一条指令后,PCPC值将自动增加值将自动增加,指向下一条,指向下一条指令的首字节地址指令的首字节地址在程序开始执行前,必须将它的起

9、始地址,即在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入程序的一条指令所在的内存单元地址送入PCPC,因此程序计数器(因此程序计数器(PCPC)的内容即是从内存提取)的内容即是从内存提取的第一条指令的地址。当执行指令时,的第一条指令的地址。当执行指令时,CPUCPU将将自动修改自动修改PCPC的内容,以便使其保持的总是将要的内容,以便使其保持的总是将要执行的下一条指令的地址执行的下一条指令的地址由于大多数指令都是由于大多数指令都是按顺序按顺序来执行的,所以修来执行的,所以修改的过程通常只是简单的对改的过程通常只是简单的对PCPC加加1 1。程序计数器PC(Prog

10、ram Counter) 数据指针DPTR( DATA POINTER)数据指针数据指针DPTRDPTR是一个是一个1616位位专用寄存器,由两个八专用寄存器,由两个八位寄存器位寄存器DPHDPH和和DPLDPL组成。组成。DPHDPH为高八位字节,为高八位字节,DPLDPL为低八位字节。为低八位字节。DPTRDPTR主要用来保存主要用来保存1616位地址,当对位地址,当对64KB64KB外部数据外部数据存储器空间寻址时,可作为存储器空间寻址时,可作为间接寄存器间接寄存器使用。在使用。在访问程序存储器时,访问程序存储器时,DPTRDPTR可作为可作为基址寄存器基址寄存器。 DPTRDPTR是一

11、个是一个1616位的寄存器,所以位的寄存器,所以寻址寻址范围是范围是0-0-64K64K。那么就可以通过它来间接寻址访问内部或。那么就可以通过它来间接寻址访问内部或外部的存储器(不管是程序存储器,还是数据储外部的存储器(不管是程序存储器,还是数据储存器)存器)。 堆栈指针堆栈指针SPSP在片内在片内RAM128BRAM128B中开辟栈区,并随中开辟栈区,并随时跟踪栈顶地址时跟踪栈顶地址它是按它是按“先进后出先进后出”的原则存取数据。开机复的原则存取数据。开机复位后,初始位后,初始地址地址为为07H07H主要用来保存主要用来保存临时数据临时数据,局部变量局部变量和中断和中断/ /子子程序的返回地

12、址程序的返回地址(保护现场(保护现场/ /恢复现场)恢复现场)堆栈指针总是指向栈顶。所以数据入栈的时候,堆栈指针总是指向栈顶。所以数据入栈的时候,堆栈指针先加堆栈指针先加1 1,再压栈。出栈的时候先弹出,再压栈。出栈的时候先弹出数据,堆栈指针再减数据,堆栈指针再减1 1。堆栈指针SP指令寄存器 指令寄存器用来存放指令代码指令寄存器用来存放指令代码CPUCPU执行指令时,由程序存储器中读取的执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经指令译码器指令代码送入指令寄存器,经指令译码器译码后由定时与控制电路发出相应的控制译码后由定时与控制电路发出相应的控制信号,完成指令功能信号,完成指令

13、功能 单片机的单片机的I/OI/O引脚结构引脚结构众多功能各异的I/O引脚源于它结构的不同由软件控制由软件控制写写1时时高电平高电平,三极管,三极管导通导通写写0时时低电平,低电平,三极管三极管断开断开当三极管截止当三极管截止时输出电压?时输出电压?输出输出输入输入当开关断开时当开关断开时输出电压?输出电压?输出输出1时时开关断开开关断开0时时开关接通开关接通集电极集电极oc开路(漏极开路开路(漏极开路od)输出结构)输出结构当开关断开时,则输出端悬空了,即高当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻态。这时电平状态未知,如果后面一个电阻负载(即使很小的负载)到

14、地,那么输出阻负载(即使很小的负载)到地,那么输出端的电平就被负载拉到低电平,所以这个电端的电平就被负载拉到低电平,所以这个电路是不能输出高电平。路是不能输出高电平。补充当开关断开时当开关断开时输出电压?输出电压?输出输出1时时开关断开开关断开0时时开关接通开关接通输出输出+5V1Kohm上拉上拉电阻电阻 如果如果开关闭合开关闭合,则有电流从,则有电流从1k1k电阻及开关上流过,但由于开关闭电阻及开关上流过,但由于开关闭和时电阻为和时电阻为0 0(方便我们的讨论,(方便我们的讨论,实际情况中开实际情况中开 关电阻不为关电阻不为0 0,另外,另外对于三极管还存在饱和压降),所对于三极管还存在饱和

15、压降),所以在开关上的电压为以在开关上的电压为0 0,即输出电,即输出电平为平为0 0。 如果如果开关断开开关断开,则由于开关电,则由于开关电阻为无穷大(同上,不考虑实际中阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为的漏电流),所以流过的电流为0 0,因此在因此在1k 1k 电阻上的压降也为电阻上的压降也为0 0,所,所以输出端的电压就是以输出端的电压就是5v5v,这样就能,这样就能输出高电平。输出高电平。 输出输出+5V1Kohm上拉上拉电阻电阻但是这个输出的内阻是比较但是这个输出的内阻是比较大的(即大的(即1kohm1kohm),如果接一个电),如果接一个电阻为阻为r r的负

16、载,通过分压计算,就的负载,通过分压计算,就可以算得最后的输出电压为可以算得最后的输出电压为5 5* *r/(r+1000)r/(r+1000)伏,即伏,即5/(1+1000/r)5/(1+1000/r)伏。所以,如果要达到一定的电压伏。所以,如果要达到一定的电压的话,的话,r r就不能太小。如果就不能太小。如果r r 真的真的太小,而导致输出电压不够的话,太小,而导致输出电压不够的话,那我们只有通过减小那个那我们只有通过减小那个1k1k的上拉的上拉电阻来增加驱动能力。但是,上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开

17、关能闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合因此要综合这些电流考虑来选择合适的上拉电阻。适的上拉电阻。输出输出+5V1Kohm上拉上拉电阻电阻上拉电阻阻值的上拉电阻阻值的选择原则选择原则包括:包括: 从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。电流小。 从确保足够的驱动电

18、流考虑应当足够小;电阻小,电流大。从确保足够的驱动电流考虑应当足够小;电阻小,电流大。 对于高速电路,过大的上拉电阻可能边沿变平缓。对于高速电路,过大的上拉电阻可能边沿变平缓。 综合考虑以上三点,通常在综合考虑以上三点,通常在1k1k到到10k10k之间之间选取。对下拉选取。对下拉电阻也有类似道理。电阻也有类似道理。上拉就是将不确定的信号通过一个电阻钳位在高电平!上拉就是将不确定的信号通过一个电阻钳位在高电平!电阻同时起限流作用!下拉同理!电阻同时起限流作用!下拉同理! 上拉是对器件注入电流,下拉是输出电流。上拉是对器件注入电流,下拉是输出电流。 如果电平用如果电平用OC(OC(集电极开路,集

19、电极开路,TTL)TTL)或或OD(OD(漏极开路漏极开路,CMOS)CMOS)输出,那么不用上拉电阻是不能工作的,输出,那么不用上拉电阻是不能工作的, 这个很容易理解,管子没有电源就不能输出高电这个很容易理解,管子没有电源就不能输出高电平。平。 如果输出电流比较大,输出的电平就会降低(电如果输出电流比较大,输出的电平就会降低(电路中已经有了一个上拉电阻,但是电阻太大,压路中已经有了一个上拉电阻,但是电阻太大,压降太高),就可以用上拉电阻降太高),就可以用上拉电阻提供电流分量提供电流分量, 把把电平电平“拉高拉高”。(就是并一个电阻在。(就是并一个电阻在ICIC内部的上内部的上拉电阻上,拉电阻

20、上, 让它的压降小一点)。当然管子按需让它的压降小一点)。当然管子按需要该工作在线性范围的上拉电阻不能太小。当然要该工作在线性范围的上拉电阻不能太小。当然也会用这个方式来实现门电路电平的匹配。也会用这个方式来实现门电路电平的匹配。单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时寻址外部程序存储器时分时分时作为作为双向双向8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口复用口;不接外部程序存储器不接外部程序存储器时可时可作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21

21、DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34Vcc多路转换开关多路转换开关T1T23态缓冲器态缓冲器控制控制=0 时时,此脚作,此脚作I/O口口(作输出口时,输出高电平需要外接上拉电阻;(作输出口时,输出高电平需要外接上拉电阻;作输入口时事先必须对它写作输入口时事先必须对它写“1”使使T2截止。)截止。)21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X3400100截截止止截截止止=0Vcc单片机的引脚(P0口)lP0.0P0.0P0.7:

22、P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X3400100截截止止截截止止=0Vcc需要需要注意注意的是,的是,P0口某位作输入前如果曾经输出过口某位作输入前如果曾经输出过“0”,则,则T2处于导通状态

23、,会将外部的高电平信号钳位为处于导通状态,会将外部的高电平信号钳位为“0”,不能,不能读入读入“1”状态。因此,作输入口时事先必须对它写状态。因此,作输入口时事先必须对它写“1”使使T2截止,保证输出正确。截止,保证输出正确。这种要作输入必须先输出某一状态,而不能无条件任意改变这种要作输入必须先输出某一状态,而不能无条件任意改变输入输入/输出功能的输出功能的“双向双向”口称为口称为准双向口准双向口。输出输出+5V1Kohm单片机单片机P0.Xu 除了读取外部信号的状除了读取外部信号的状态,态,CPUCPU有时还需要将以前有时还需要将以前的输出状态读回来,以决的输出状态读回来,以决定下一步的操作

24、。如输出定下一步的操作。如输出方波。方波。u 如果直接读引脚有可能如果直接读引脚有可能会因输出的高电平被外部会因输出的高电平被外部电路拉成低电平而引起误电路拉成低电平而引起误操作。操作。u MCS-51 MCS-51设置了读锁存器设置了读锁存器功能,即通过功能,即通过“读锁存器读锁存器”信号,将锁存器信号,将锁存器Q Q端的状态端的状态读回读回CPUCPU进行判别。进行判别。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(1)输出地址输出地址/

25、数据数据 =0 时时1011=0导导通通截截止止=0Vcc单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址

26、/数据数据复用口复用口:(2)输出地址输出地址/数据数据 =1 时时1100=1截截止止导导通通=1Vcc单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0

27、.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(2)输出地址输出地址/数据数据 =1 时时1100=1截截止止导导通通=1Vcc注意:注意:P0口内部不用上拉电阻,而将口内部不用上拉电阻,而将T1、T2两个场两个场效应管设计成拉推输出电路,是为了效应管设计成拉推输出电路,是为了P0口在作地址口在作地址/数据信息输出时具有较强的输出驱动能力。数据信息输出时具有较强的输出驱动能力。单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向

28、8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口: (3)输入输出数据时,输入输出指令将使引脚与内部总输入输出数据时,输入输出指令将使引脚与内部总线直通线直通Vcc截截止止21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制

29、控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口: (3)输入输出数据时,输入输出指令将使引脚与内部总输入输出数据时,输入输出指令将使引脚与内部总线直通线直通Vcc截截止止注意:注意:P0口作为数据线时,在读入数据前口作为数据线时,在读入数据前CPU会会自自动动向锁存器写向锁存器写1,截止场效应管,截止场效应管T2,这种情况下,这种情况下,P0口是一个口是一个真正的双向口真正的双向口。单片机的引脚(P1口)lP1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口口(内置内置了上拉电阻)了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在

30、作输入口输入口用时要先对其用时要先对其 写写“1 1”。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 1 时时110截截止止=1单片机的引脚(P1口)lP1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口口(内置内置了上拉电阻)了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。21DQCK/Q读引脚读引

31、脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 0 时时001=0导导通通单片机的引脚(P1口)lP1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口(口(内置内置了上拉电阻了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。输输入入数据时,要先对其写数据时,要先对其写“1”21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻110截截止止单片机的引脚单片机的引脚(P1P1口)

32、口)lP1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口(口(内置内置了上拉电阻了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。简单测控实例原理图P1.3作输入端口光路通畅,光路通畅,R亮亮 2K 光路阻断,光路阻断,R暗暗 400K R亮亮 250K JOB3: CLR P1.1 ;亮绿灯REDO: SETB P1.3 ;P1.3作输入口必先置1CHECK:JNB P1.3,CHECK ;检测通道是否被阻断?LOOP: ;有入侵者,报警!AJMP REDO ;再跳回去检测任务三:红外防盗报警P1.3口用于输入状态

33、检测的语句: R亮250K ,红外线光路阻断时,P1.3端高电平单片机的引脚(P2口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外不接外部程序存储器时可部程序存储器时可作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制引脚引脚 P2.X3内部上拉电阻内部上拉电阻Vcc单片机的引脚(P2口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I

34、/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外不接外部程序存储器时可部程序存储器时可作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输入口输入口:110截截止止3内部上拉电阻内部上拉电阻11Vcc=1=0输输入入数据时,要先对其写数据时,要先对其写“1”21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址

35、高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输出口输出口: 输出输出=1时时110截截止止3内部上拉电阻内部上拉电阻11Vcc=1=0单片机的引脚(P2口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制

36、控制=0时,此脚作通用时,此脚作通用输出口输出口:输出输出=0时时001导导通通3内部上拉电阻内部上拉电阻00Vcc=0=0单片机的引脚单片机的引脚(P2P2口)口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制=1 引脚引脚P2.X控制控制=1 时,此脚

37、作时,此脚作高高8位地址位地址A8A15输出口:输出口:当当输出输出 =1 时时10截截止止3内部上拉电阻内部上拉电阻1=1Vcc=1单片机的引脚(P2口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制=1 引脚引脚P2.X01导导通通3内部上拉电阻内部上

38、拉电阻0=0Vcc=0控制控制=1 时,此脚作时,此脚作高高8位地址位地址A8A15输出口:输出口:当当输出输出 =0 时时单片机的引脚单片机的引脚(P2P2口)口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位位准双向准双向I/OI/O口口使用。使用。单片机的引脚(P3口)lP3.0P3.0P3.7: P3.7: 双功能口双功能口(内置了上拉电阻)(内置了上拉电阻) 它它具有特定的第二功能具有特定的第二

39、功能。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普通的通用准双向通用准双向I/OI/O口口。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二功能输出引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc第二功能输入第二功能输入4=021DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二功能输出(WRWR,RDRD,TxDTxD)引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc4第二功能输出时,内部自动第二功能输出时,内部自动 D=1D=1111反相器反相器单片机的引脚(P3口)lP3.0P3.

40、0P3.7: P3.7: 双功能口双功能口(内置了上拉电阻)(内置了上拉电阻) 它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普通的通用准双向通用准双向I/OI/O口口。=021DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线此端自动此端自动1 1引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc 第二功能输入第二功能输入(RxDRxD,T0T0,T1T1,INT0INT0,INT1INT1)4第二功能输入时,信号经第二功能输入时,信号经缓冲器缓冲器4 4 直接进入内总线直接进入内总线1 11 11 10 0截

41、截止止单片机的引脚(P3口)lP3.0P3.0P3.7: P3.7: 双功能口双功能口(内置了上拉电阻)(内置了上拉电阻) 它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普通的通用准双向通用准双向I/OI/O口口。P3口第二功能表引引 脚脚第第 二二 功功 能能 P3.0P3.0RxDRxD: : 串行口接收数据输入端串行口接收数据输入端P3.1P3.1TxDTxD: : 串行口发送数据输出端串行口发送数据输出端P3.2P3.2INT0:INT0: 外部中断申请输入端外部中断申请输入端 0 0P3.3P3.3INT1:INT1: 外部

42、中断申请输入端外部中断申请输入端 1 1P3.4P3.4T0:T0: 外部计数脉冲输入端外部计数脉冲输入端 0 0P3.5P3.5T1:T1: 外部计数脉冲输入端外部计数脉冲输入端 1 1P3.6P3.6WR:WR: 写外设控制信号输出端写外设控制信号输出端P3.7P3.7RD:RD: 读外设控制信号输出端读外设控制信号输出端51单片机的4个8位的I/O口P0.0P0.0P0.7:P0.7:8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口复用口 ( (复用时是复用时是双向口双向口;不复用时也是;不复用时也是准双向口准双向口) )P1.0P1.0P1.7: P1.7: 通用通用I/

43、OI/O口口(准双向口)(准双向口)P2.0P2.0P2.7:P2.7: 输出高输出高8 8位地址位地址(用于寻址时是(用于寻址时是输出口;输出口;不寻址时是不寻址时是准双向口准双向口)P3.0P3.0P3.7: P3.7: 具有特定的第二功能具有特定的第二功能(准双向口)(准双向口)注意:注意:在不外扩在不外扩ROM/RAMROM/RAM时,时,P0P0P3P3均可作通用均可作通用I/OI/O口使用,而且口使用,而且都是都是准双向准双向I/OI/O口口( (例如例如: :AT89C51AT89C51) )! 小结小结复位复位后,后,3232个引脚均为高电平,故在初始化时应考个引脚均为高电平,

44、故在初始化时应考虑是否满足虑是否满足外接电路外接电路的要求。的要求。P3口第二功能表引引 脚脚第第 二二 功功 能能 P3.0P3.0RxDRxD: : 串行口接收数据输入端串行口接收数据输入端P3.1P3.1TxDTxD: : 串行口发送数据输出端串行口发送数据输出端P3.2P3.2INT0:INT0: 外部中断申请输入端外部中断申请输入端 0 0P3.3P3.3INT1:INT1: 外部中断申请输入端外部中断申请输入端 1 1P3.4P3.4T0:T0: 外部计数脉冲输入端外部计数脉冲输入端 0 0P3.5P3.5T1:T1: 外部计数脉冲输入端外部计数脉冲输入端 1 1P3.6P3.6W

45、R:WR: 写外设控制信号输出端写外设控制信号输出端P3.7P3.7RD:RD: 读外设控制信号输出端读外设控制信号输出端 小结小结存储器、堆栈、SFR数据存储器数据存储器RAMRAM(Random Access MemoryRandom Access Memory)程序存储器程序存储器ROMROM(Read Only MemoryRead Only Memory)闪速存储器闪速存储器Flash MemoryFlash MemoryEPROMEPROM(UVUV)Erazible Programmable ROMErazible Programmable ROMEEPROM/EEEPROM/E

46、2 2PROMPROMElectrical Erasable Electrical Erasable Programmable ROM Programmable ROM静态存储器静态存储器 SRAMSRAMStatic RAMStatic RAM (动态存储器(动态存储器 DRAMDRAMDynamic RAMDynamic RAM)按字节寻址:每个字节按字节寻址:每个字节(8(8个位个位) )占一个地址占一个地址按位寻址:有的存储器每一个位就有一个地址按位寻址:有的存储器每一个位就有一个地址单片机的存储器几个有关的概念:MCS-51单片机存储器配置l片内片内RAMRAM 128 128字节(

47、字节(00H00H7FH7FH);); 片内片内RAMRAM前前3232个单元是工作寄存器区个单元是工作寄存器区(00H(00H1FH)1FH) 片内片内RAMRAM有有128128个可按位寻址的位,占个可按位寻址的位,占1616个单元。个单元。 位地址编号为:位地址编号为:00H00H7FH7FH,分布在,分布在20H20H2FH2FH单元单元l片内片内2121个特殊功能寄存器个特殊功能寄存器( (SFRSFR) )中:地址号能被中:地址号能被 8 8整除的整除的 SFRSFR中的各位中的各位也可也可按位寻址按位寻址(P.33-34P.33-34)l可寻址片外可寻址片外RAMRAM 64K

48、64K字节字节 (0000H0000HFFFFHFFFFH)l可寻址片外可寻址片外ROMROM 64K 64K字节字节 (0000H0000HFFFFHFFFFH)l片内片内 Flash Flash ROMROM 4K 4K字节字节 (000H000HFFFHFFFH)存储器配置(片内RAM)l片内片内RAMRAM 128128字节字节(00H00H7FH7FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中9

49、2个位个位可位寻址可位寻址80H80HFFHFFH所有的所有的RAMRAM区区( (包括包括位位寻址区、工作寄存器寻址区、工作寄存器区)都可以用于存放区)都可以用于存放数据,故也称为数据,故也称为数据数据缓存寄存器缓存寄存器8051 128128字节字节l片内片内RAMRAM前前3232个单元是个单元是工作寄存器区工作寄存器区 (00H(00H1FH)1FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区存储器配置(片内RAM)00H00H20H20

50、H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区00FH10H17H18Hl片内片内RAMRAM前前3232个单元是个单元是工作寄存器区工作寄存器区 (00H(00H1FH)1FH)存储器配置(片内RAM)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H

51、80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区l片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :00H00H7FH 7FH 分布在分布在: :20H20H2FH2FH单元单元存储器配置(片内RAM)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05

52、04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位l片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :0

53、0H00H7FH 7FH 分布在分布在: :20H20H2FH2FH单元单元存储器配置(片内RAM)l可寻址片外可寻址片外RAM 64KRAM 64K字节字节 (0000H0000HFFFFHFFFFH););l可寻址片外可寻址片外ROM 64KROM 64K字节字节 (0000H0000HFFFFHFFFFH););l片内片内 Flash ROM 4KFlash ROM 4K字节字节 ( 000H000H FFFH FFFH););FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H可寻址可寻

54、址片内片内 Flash Flash ROMROM4K 字节字节89C5189C517FH00H片内片内 RAMRAM 128字节字节FFH80H存储器配置(片内RAM)堆栈: 在在片内片内RAMRAM中,常常要指定一个专门的区域来中,常常要指定一个专门的区域来存放某些存放某些特别的特别的数据数据, ,它遵循它遵循顺序存取顺序存取和和后进后进先出先出(LIFO/FILO(LIFO/FILO)的原则的原则, ,这个这个RAMRAM区区叫叫堆栈堆栈。功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务时时CPUCPU自动将当前自动将当前PCPC 值值压栈保存,返回时自动将压栈保存,返回时自动

55、将PCPC值弹栈。值弹栈。2 2)保护现场)保护现场/ /恢复现场恢复现场3 3)数据传输)数据传输00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据将存在此数据数据进栈进栈已经进栈的数已经进栈的数据存放在此据存放在此初始初始 SP复位后复位后 SP=07HSP=07H,数据进栈时:数据进栈时:首先首先SP+1SP+1指向指向08H08H单元,第一个放进堆栈单元,第一个放进堆栈的数据将放进的数据将放进

56、08H08H单元,然后单元,然后SPSP再自再自动增动增 1 1,仍指着栈顶,仍指着栈顶堆栈区由特殊功能寄存器堆栈区由特殊功能寄存器堆栈指针堆栈指针SPSP管理管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶0

57、0H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶当前要出栈的数据当前要出栈的数据数据数据出栈出栈SP-1指向下一个指向下一个将要出栈的数据将要出栈的数据初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。从堆栈取出数

58、据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SP-1 指向新的栈指向新的栈顶顶,也就是下一个也就是下一个将要出栈的数据将要出栈的数据数据数据出栈出栈初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置

59、,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。8051特殊功能寄存器(SFR)特殊功能寄存器特殊功能寄存器SFRSFR(专用寄存器)(专用寄存器)专用于专用于控制、选择、管理、存放控制、选择、管理、存放单片机内部各部分单片机内部各部分的工作的工作方式、条件、状态、结果方式、条件、状态、结果的寄存器的寄存器。不同的不同的SFRSFR管理不同的硬件模块,负责不同的功管理不同的硬件模块,负责不同的功能能各司其职各司其职换言之:要让单片机实现预订的功能,必须有相应换言之:要让单片

60、机实现预订的功能,必须有相应的硬件和软件,的硬件和软件,而软件中最重要的一项工作就是对而软件中最重要的一项工作就是对SFRSFR写命令(要求)写命令(要求)。程序计数器程序计数器PCPC(Program CounterProgram Counter)PCPC 不是不是一个特殊功能寄存器一个特殊功能寄存器SFRSFR,但其作,但其作 用又用又十分重要和特殊十分重要和特殊!特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器计数器一切一切分支分支/ /跳转跳转/ /调用调用/ /中断中断/ /复位复位 等操作的等操作的本质本质就是就是: :改变改变 PC PC 值值总指

温馨提示

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

评论

0/150

提交评论