第2章mcs-51单片机硬件组成(1)

上传人:今*** 文档编号:109983195 上传时间:2019-10-28 格式:PPT 页数:93 大小:2.12MB
返回 下载 相关 举报
第2章mcs-51单片机硬件组成(1)_第1页
第1页 / 共93页
第2章mcs-51单片机硬件组成(1)_第2页
第2页 / 共93页
第2章mcs-51单片机硬件组成(1)_第3页
第3页 / 共93页
第2章mcs-51单片机硬件组成(1)_第4页
第4页 / 共93页
第2章mcs-51单片机硬件组成(1)_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《第2章mcs-51单片机硬件组成(1)》由会员分享,可在线阅读,更多相关《第2章mcs-51单片机硬件组成(1)(93页珍藏版)》请在金锄头文库上搜索。

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

2、TMEL的AT89C2051/51/52等MCU!,MCS-51的基本组成,MCS-51单片机内部资源,8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 112MHz(Atmel 89Cxx为024MHz) 片内有 128/256字节 RAM 片内有 0K/4K/8K字节 程序存储器ROM 可寻址片外 64K字节 数据存储器RAM 可寻址片外 64K字节 程序存储器ROM 片内 21/26个 特殊功能寄存器(SFR) 4个8位 的并行I/O口(PIO) 1个 全双工串行口(SIO/UART) 2/3个16位 定时器/计数器(TIMER/COUNTER) 可处理 5/6个中断源,两级中断优

3、先级 内置1个布尔处理器和1个布尔累加器(Cy) MCS-51指令集含 111条指令,MCS51单片机的内部组成,MCS51单片机的P0、P2和P3并行接口在CPU控制下,可构成地址、数据和控制总线,用于外部设备扩展,MCS51单片机可以扩展: 片外数据存储器单元和I/O接口地址共64KB 64KB片外程序存储器,MCS-51单片机的中央处理器,单片机的CPU字长为8位,即对数据的处理、传输均按8位二进制数(一个字节)进行 MCS51系列单片机是8位机 MCS51系列单片机的CPU由运算器、控制器及相应的专用寄存器组成,运算器,运算器以算术/逻辑部件(ALU-具有加、减、逻辑运算和移位功能)为

4、核心,加上累加器ACC、暂存寄存器、程序状态字寄存器PSW以及布尔处理器、BCD码运算调整电路等构成。,运算器的功能包括: 算术运算 逻辑运算 位操作,控制器,控制器是CPU的指挥调度中枢,它包括: 定时控制逻辑 指令寄存器 指令译码器 数据指针DPTR,程序计数器PC 堆栈指针SP 地址寄存器 地址缓冲器等,运行时控制器对指令进行译码,然后通过定时和控制电路在规定时刻发出所需的内、外部控制信号,协调各部分的工作,完成指令规定的操作。,MCS51控制器示意图,程序计数器PC(Program Counter),为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计

5、数器正是起到这种作用,所以通常又称为指令计数器 程序计数器PC是16位的寄存器,用来存放即将要执行的指令地址,当CPU按照PC指示的地址取出一条指令后,PC值将自动增加,指向下一条指令的首字节地址,在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址 由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。,程序计数器PC(Program Counter),数据指针DPTR( DATA POINTER

6、),数据指针DPTR是一个16位专用寄存器,由两个八位寄存器DPH和DPL组成。DPH为高八位字节,DPL为低八位字节。 DPTR主要用来保存16位地址,当对64KB外部数据存储器空间寻址时,可作为间接寄存器使用。在访问程序存储器时,DPTR可作为基址寄存器。 DPTR是一个16位的寄存器,所以寻址范围是0-64K。那么就可以通过它来间接寻址访问内部或外部的存储器(不管是程序存储器,还是数据储存器)。,堆栈指针SP在片内RAM128B中开辟栈区,并随时跟踪栈顶地址 它是按“先进后出”的原则存取数据。开机复位后,初始地址为07H 主要用来保存临时数据,局部变量和中断/子程序的返回地址(保护现场/

7、恢复现场) 堆栈指针总是指向栈顶。所以数据入栈的时候,堆栈指针先加1,再压栈。出栈的时候先弹出数据,堆栈指针再减1。,堆栈指针SP,指令寄存器,指令寄存器用来存放指令代码 CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经指令译码器译码后由定时与控制电路发出相应的控制信号,完成指令功能,单片机的I/O引脚结构,众多功能各异的I/O引脚源于它结构的不同,集电极oc开路(漏极开路od)输出结构,当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很小的负载)到地,那么输出端的电平就被负载拉到低电平,所以这个电路是不能输出高电平。,补充,上拉电阻,如果开

8、关闭合,则有电流从1k电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开 关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。 如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1k 电阻上的压降也为0,所以输出端的电压就是5v,这样就能输出高电平。,上拉电阻,但是这个输出的内阻是比较大的(即1kohm),如果接一个电阻为r的负载,通过分压计算,就可以算得最后的输出电压为5*r/(r+1000)伏,即5/(1+1000/r)伏。所以,如果要达到一定的电压的话,r就不能太小。如果r 真的太小,而导

9、致输出电压不够的话,那我们只有通过减小那个1k的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合适的上拉电阻。,上拉电阻,上拉电阻阻值的选择原则包括: 从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。 从确保足够的驱动电流考虑应当足够小;电阻小,电流大。 对于高速电路,过大的上拉电阻可能边沿变平缓。 综合考虑以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理。,上拉就是将不确定的

10、信号通过一个电阻钳位在高电平!电阻同时起限流作用!下拉同理! 上拉是对器件注入电流,下拉是输出电流。,如果电平用OC(集电极开路,TTL)或OD(漏极开路,CMOS)输出,那么不用上拉电阻是不能工作的, 这个很容易理解,管子没有电源就不能输出高电平。 如果输出电流比较大,输出的电平就会降低(电路中已经有了一个上拉电阻,但是电阻太大,压降太高),就可以用上拉电阻提供电流分量, 把电平“拉高”。(就是并一个电阻在IC内部的上拉电阻上, 让它的压降小一点)。当然管子按需要该工作在线性范围的上拉电阻不能太小。当然也会用这个方式来实现门电路电平的匹配。,单片机的引脚(P0口),P0.0P0.7: 双向I

11、/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,多路转换开关,T1,T2,3态缓冲器,控制=0 时,此脚作I/O口(作输出口时,输出高电平需要外接上拉电阻; 作输入口时事先必须对它写“1”使T2截止。),单片机的引脚(P0口),P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,需要注意的是,P0口某位作输入前如果曾经输出过“0”,则T2处于导通状态,会将外部的高电平信号钳位为“

12、0”,不能读入“1”状态。因此,作输入口时事先必须对它写“1”使T2截止,保证输出正确。 这种要作输入必须先输出某一状态,而不能无条件任意改变输入/输出功能的“双向”口称为准双向口。,除了读取外部信号的状态,CPU有时还需要将以前的输出状态读回来,以决定下一步的操作。如输出方波。 如果直接读引脚有可能会因输出的高电平被外部电路拉成低电平而引起误操作。 MCS-51设置了读锁存器功能,即通过“读锁存器”信号,将锁存器Q端的状态读回CPU进行判别。,单片机的引脚(P0口),P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外

13、部程序存储器时可作为8位准双向I/O口使用。,单片机的引脚(P0口),P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,注意:P0口内部不用上拉电阻,而将T1、T2两个场效应管设计成拉推输出电路,是为了P0口在作地址/数据信息输出时具有较强的输出驱动能力。,单片机的引脚(P0口),P0.0P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,注意:P0口作为数据线时

14、,在读入数据前CPU会自动向锁存器写1,截止场效应管T2,这种情况下,P0口是一个真正的双向口。,单片机的引脚(P1口),P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。,单片机的引脚(P1口),P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。,单片机的引脚(P1口),P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。,输入数据时,要先对其写“1”,单片机的引脚(P1口),P1.0P1.7: 准双向I/O口(内置了上拉电阻)

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

16、时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,单片机的引脚(P2口),P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,单片机的引脚(P2口),P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,单片机的引脚(P2口),P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,单片机的引脚(P2口),P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,单片机的引脚(P2口),P2.0P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号