版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 80C51单片机的硬件结构,2.1 8051单片机的内部机构(1课时) 2.2 8051的外部引脚及功能(1课时) 2.3 8051的存储器配置(2课时) 2.4 并行I/O接口电路(2课时) 2.5 8051的中断系统(2课时) 2.6 8051的定时器/计数器(2课时) 2.7 8051的串行通信(2课时) 2.8 8051的外围电路(1课时),1,优质内容,本章讲述的是单片机系统的硬件基础知识,是课程的重点章节之一。 难点: 1、8051单片机的内部数据存储器 2、4个并行I/O的不同特点和用途 3、8051的中断控制 4、定时器/计数器控制 5、串口通信,2,优质内容,2.4
2、并行输入输出接口电路,在MCS-51单片机的四个I/O口都是具有输出锁存功能的双向端口,这些锁存器的位置都在SFR中,其地址分别为:80H、90H、A0H 、B0H.出于系统的考虑,在硬件设计上对每一个端口都有不同的要求,所以每一个端口又具有不同的特点.,2.4.1 P0口,P0口的位结构图,P0口的工作原理,2.4.2 P1口,2.4.3 P2口,2.4.4 P3口,2.4.5 并行端口在使用时应 注意的几个问题,单片机与继电器等大电流负载的接口,继续,MCS-51逻辑图,3,优质内容,2.4.1 P0口:,特点:“通用数据I/O端口”和“地址、数据复用总线”端口. 1,在作为通用数据I/O
3、端口时,具有较强的驱动能力(8个TTL负载),与MOS负载连接时,需要外接一个上拉电阻。 2,作为“地址、数据复用总线”使用时,P0口首先输出外部存储器的低八位地址,然后再变为数据总线进行数据的输入或输出.此时,P0口不能再作为通用I/O口。,返回,4,优质内容,P0口的位结构图,D Q 锁存器 CL /Q,P0.x 引脚,Vcc,地址/数据 1/0,控制(=0时),读锁存器,读引脚,内部总线,写锁存器,MUX (控制=0时),硬件组成: 1,一个输出锁存器(D型触发器); 2,二个三态门(控制读引脚或读锁存器); 3,与门和MUX等元件组成的输出控制电路; 4,一对场效应晶体管FET构成的输
4、出驱动电路.,Vcc,返回,返回前一次,1,P0口的I/O操作;,2,P0口的总线方式,5,优质内容,1、P0口的I/O操作(通用I/O端口),在P0口作为通用I/O端口时,控制电路中的“控制”为“0”电平,多路开关MUX接入下方的锁存器的/Q端。 由于与门的一个输入端为“0”,所以它使上端的FET截止.这就是P0口在做I/O口时输出为“漏极开路”的结构原因. 输出操作: 若总线向口送“0”时,锁存器的/Q=1,使下端的FET导通(上面的FET仍然截止),这样端口呈现“0”电平. 送“1”时,/Q=“0”,使下端的FET截止.这样出现输出极的两个FET全部截止.在这种情况下必须在端口线上外加上
5、拉电阻.这样在上拉电阻的作用下,使端口为高电平.,返回结构图,6,优质内容,输入操作(读引脚,读锁存,输入前写一) A、读引脚:读外部送到端口引脚的电平,即通常所说的输入操作(如:MOV A,P0).此时,单片机控制“读引脚”的三态门,使引脚处的外部电平经三态门送入内部总线. B、读锁存器:将进行读锁存器并进行处理,最后再写回锁存器的操作称之为: “读修改写”操作。在这种情况下, 读入的数据不是来自引脚,而是端口内部的锁存器的内容。 如: ORL P0,A ; P0 A P0,结构图,P0. X,7,优质内容,C、输入时应先写“1”:在端口电路中,可以发现一个问题:端口在输入(读引脚)时,原来
6、锁存器的状态可能要影响引脚电平的输入.例如:原来锁存器的状态为“0”态,既输出极的下端FET是饱和状态,这样如果外电路向引脚输入高电平时,电路将不能正确读入.要解决的方法就是让下端的FET截止(高阻态),既事先向端口写一个“1”. 请注意下面的一段程序: MOV A,#0FFH;0FFH送累加器A MOV P0,A ;向P0口“写1” MOV A,P0 ;从P0口输入数据到A 你能正确的分析出指令的操作吗?,返回结构图,8,优质内容,2、P0口的总线方式(系统使用外存储器时),控制电路的“控制”=1,此时与门打开,MUX接向“地址/数据”信号.在这种情况下,输出极的两个FET都处于正常的工作状
7、态 。 访问外部存储器的指令movx、movc ,就是使用P0口来输出外部存储器的低八位地址和输入、输出存储器的数据。 在进行单片机的硬件系统的设计中,如果使用了外部存储器(或使用movx指令来访问外部接口电路)时,P0口成为整个系统的地址/数据复用总线。换句话,P0口不能再作为通用的I/O端口的形式直接与外部连接。,返回结构图,9,优质内容,1、 做通用数据I/O端口时,输出级上端的FET处于截止状态,所以与MOS器件连接时,必须外接“上拉电阻”,否则不能正确的输出高电平; 2、在输入操作前,为了保证输入正确,必须先向端口“写1”; 3、“读引脚”与“读锁存器”是不同的两个数据通道。凡是“读
8、修改写” 的操作,CPU读的都是端口锁存器中的数据。 4、为了提高电路的可靠性,端口引脚不要直接与三极管一类的器件直接连接,应加隔离电路或与三极管之间加一个电阻. 5、在总线方式时,P0口不能再做通用的I/O端口。它分时输出地址、数据总线的信息(此时引脚不用外接上拉电阻)。,返回,返回结构图,P0口特点小结:,10,优质内容,特点:单纯的通用I/O端口,负载能力为4个TTL输入。与P0口的区别在于内部具有上拉电阻,所以输出时不用外接上拉电阻。,2.4.2 P1口,D Q 锁存器 CL /Q,P1.x 引脚,Vcc,读锁存器,读引脚,内部总线,写锁存器,内部上拉电阻,返回,返回前一次,11,优质
9、内容,2.4.3 P2口,D Q 锁存器 CL /Q,P2.x 引脚,Vcc,地址 1/0,控制,读锁存器,读引脚,内部总线,写锁存器,MUX (地址=0),内部上拉电阻,返回上一次,特点:“通用数据I/O端口”和“高八位地址总线”端口,12,优质内容,与P0口一样,P2口在系统使用外部存储器时,做高八位的地址总线。 应当注意的是:仅使用外部数据存储器时,P2口分两种情况: 1,仅仅使用256B的外部RAM时,既使用movx a,R0指令访问外部RAM,此时用8位的寄存器R0或R1作间址寄存器,这时P2口无用,所以在这种情况下,P2口仍然可以做通用I/O端口。 2,如果访问外部ROM或使用大于
10、256BRAM时,P2口必须作为外存储器的高八位地址总线。 如:movx a,dptr ;访问外部数据存储器 movc a,a+dptr ;访问外部程序存储器 这里使用了16位的寄存器DPTR,上一页,返回,13,优质内容,2.4.4 P3口,在第二功能情况下,P3口分别作为串行口、外中断输入、外部计数输入和系统扩展时使用的WR和RD信号的端口。在这种情况下,锁存器Q端为“1”电平以保证与门是打开的。 在通用I/O模式下,“第二功能输出”端为“1”电平,以保证与门打开。,D Q 锁存器 CL /Q,P3.x 引脚,第二功能输出,读锁存器,读引脚,内部总线,写锁存器,第二功能输入,Vcc,返回,
11、特点:通用I/O端口、第二功能,14,优质内容,2.4.5 并行端口在使用时应注意的几个问题,“拉电流”还是“灌电流”-与大电流负载的连接 (我们以美国ATMEL公司生产的AT8951为例) 1, 使用灌电流的方式与电流较大的负载直接连接时, 端口可以吸收约20mA的电流而保证端口电平不高于0.45V(见右上图)。 2,采用拉电流方式连接负载时,AT89C51所能提供“拉电流”仅仅为80A,否则输出的高电平会急剧下降.如果我们采用右下图的方式,向端口输出一个高电平去点亮LED,会发现,端口输出的电平不是“1”而是“0”! 当然,不是所有的单片机都是这样,PIC单片机就可以提供30mA的拉电流和
12、灌电流。但对于大多数IC电路,最好还是使用“灌电流”去推动负载。,Px.y,Vdd,Px.y,Vdd,Vdd,灌电流方式 输出”0”点 亮LED,拉电流方式 输出高电平 点亮LED,返回,15,优质内容,单片机与继电器等大电流负载的接口,我们知道:AT89C51的端口可以吸收约20mA的电流.对于继电器等大于20mA的负载,单片机可以采用右图的接法,用一个三极管来承担负载所需的大电流. 对于负载电流易造成干扰单片机的环境,应采用右下图”光电隔离”的方式.其中: A 、 B两处没有 任何电的联系.,Px.y,J,Vcc,Vdd,负载,Vcc,Px.y,A,B,返回,16,优质内容,2.5 80C
13、51的中断系统,中断: CPU打断正在运行的程序,转向为外部设备服务的过程称为中断。当完成中断后,CPU再回到原来的“断点”继续原来的程序。 中断源具有随机性、不可知性。,主程序,断点,中断响应,中断返回,中断服务程序,17,优质内容,外部中断,外部中断:由外部信号引起,共有二个外部中断,它们的中断请求信号分别从引脚INT0 (P3.2) 和INT1 (P3.3) 上引入。 外部中断请求有二种信号触发方式,即电平有效方式和跳变有效方式,可通过设置有关控制位进行定义。 当设定为电平有效方式时,若INT0或INT1引脚上采样到有效的低电平,则向CPU提出中断请求; 设定为跳变有效方式时,若INT0
14、或INT1引脚上采样到有效负跳变,则向CPU提出中断请求。,18,优质内容,定时中断和串行中断,定时中断:为满足定时或计数的需要而设置。当计数器发生计数溢出时,表明设定的定时时间到或计数值已满,这时可以向CPU申请中断。由于定时器/计数器在单片机芯片内部,所以定时中断属于内部中断。 2个定时中断源: TF0 T0(P34)溢出中断。 TF1 T1(P35)溢出中断。 串行中断:为串行数据传送的需要而设置。 每当串行口发送或接收一组串行数据时,就产生一个中断请求。 RI 串行接收中断。 TI 串行发送中断。,19,优质内容,MCS-51的中断系统结构图,MCS-51单片机共有5个中断源(如图所示
15、)。,/ int0,T0,/ int1,T1,ES,中断源 标识符,高优先级 中断请求,中断矢量,中断源 标识符,低优先级 中断请求,中断矢量,中断请求 寄存器,中断允许寄存器,中断优先级 寄存器,源允许,总允许EA,返回前一次,20,优质内容,2.5.3中断源矢量地址,当CPU响应中断时,由硬件直接产生一个固定的地址,即矢量地址。 由矢量地址指出每个中断源的中断服务程序的入口,这种方法通常称为固定入口式中断。,21,优质内容,定时器控制寄存器TCON,IE0:外部中断0请求标志位。IE0=1,外部中断0向CPU请求中断,当CPU响应外部中断0时,IE0由硬件清0(边沿触发方式下)。 IT0:
16、外部中断0触发方式控制位。IT0=0电平触发方式(低电平有效);IT0=1边沿触发方式(下跳沿有效)。,返回前一次,22,优质内容,TF0:定时器T0的溢出中断申请位。 TF0=1,表明T0计数器产生溢出,向CPU请求中断,CPU响应中断后由硬件清0。 TRO:定时器 /计数器0的启动停止位。 TR0=0,停止工作。 TR0=1,启动定时器/计数器工作。 软件置位和复位。,23,优质内容,串行口控制寄存器SCON,RI:串行口接收中断申请标志位 TI:串行口发送中断申请标志位 RI和TI逻辑“或”以后作为内部的一个中断源。当串行口发送或接收完一帧数据时,将SCON中的TI或RI位置1,向CPU
17、申请中断。 在CPU响应串行口的中断时,并不清零TI和RI中断标志,TI和RI必须由软件清0。,24,优质内容,中断允许寄存器IE(0A8H),EA:总允许位。EA=0,禁止一切中断; EA=1,中断开放。 ES:串行口中断允许位。ES=1:允许RI、TI引发中 断;ES=0:禁止中断。 ET1、ET0:定时器T1、T0允许位。ET=1允许, ET=0禁 止。 EX1、EX0:外中断 int1、int0允许位。 EX =1允许, EX=0禁止。 复位后,(IE)=00H,禁止中断状态。软件设置。,25,优质内容,中断优先级寄存器IP(0B8H),PS:串行口中断优先级设定位; PT1、PT0:
18、定时器T1、T0中断优先级设定位; PX1、PX0:外中断 int1、0中断优先级设定位; 0:低优先级 1:高优先级 软件设置,26,优质内容,优先级结构,由于IP寄存器的设定,将5个中断源分为两个级别。中断的发生将遵循下面的3条基本原则: 1,低级中断在响应执行中,可以被高级中断所中断,反之则不能。 2,一个中断(不论是什么优先级)一旦得到响应,与它同级的中断则不能再中断它。 3,当CPU同时收到几个同一级别的中断要求时,CPU响应哪个中断源取决于硬件的查询顺序(见图)。,转IP寄存器,27,优质内容,如何改变中断源的优先级顺序,从中断系统的硬件结构图可以清楚地看出同一级别中5个中断源的查
19、询顺序。很明显,要改变这种顺序只能通过IP的设置。 如:要想将串行口的级别设为最高时,将IP中的PS置1。 既使用指令:setb ip.ps 或 mov 0b8h,#10h 完成对IP设置。,IP寄存器,28,优质内容,中断应用举例,利用外部中断0向CPU申请中断。 程序设计: ORG0000H AJMPMAIN ;转向主程序 ORG0003H;外部中断0入口地址 AJMPWINT;指向中断服务程序 ORG0100H;主程序 MAIN:SETBIT0;选择边沿触发方式 SETBPX0;设为高优先级 SETBEX0;允许外部中断0 SETBEA;CPU允许中断 HERE:AJMPHERE;主程序
20、踏步,29,优质内容,2.5.5 外部中断的采样,在边沿触发方式中,在相邻的两个机器周期,如果第一次采集是高电平,第二次采集是低电平时,则TCON中的标志IE0或IE1置位。所以,在边沿触发方式时:外部设备发出的边沿信号(高电平和低电平)的时间应大于一个机器周期,否则信号将可能漏检。 如果采用“电平”触发方式,CPU采集到INT0或INT1的引脚为低电平时将激活标志IE0或IE1。所以在这种触发方式中,外部的低电平至少应保留一个机器周期。,30,优质内容,中断查询与响应协议,在每一个机器周期中,所有的中断源都要按照其顺序检查一遍,到S6状态时,就查找到所有被激活的中断申请并排好优先权。在下一个机器周期的S1状态,只要不受阻断,就开始响应高级中断。 如果发生下列情况,中断将被阻止: 1,同级或高级中断正在执行时; 2,当前的机器周期不是指令的最后一个机器周期; 3,CPU正在执行的指令是RETI或访问IE、IP寄存器时,CPU是不会响应中断,而且要等到该指令的下一条指令执行完后中断才能响应。,31,优质内容,CPU查询到某一中断源后,使相应的“优先级激活”触发器置位用以阻断同级或低级中断。在硬件的控制下,程序自动转向对应的矢量单元,执行其服务程序。 CPU响应中断时,将当时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论