单片机原理及应用第5章.ppt

上传人:得****1 文档编号:79185375 上传时间:2023-03-20 格式:PPT 页数:53 大小:998.50KB
返回 下载 相关 举报
单片机原理及应用第5章.ppt_第1页
第1页 / 共53页
单片机原理及应用第5章.ppt_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《单片机原理及应用第5章.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用第5章.ppt(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第5 5章章 MCS-51MCS-51系列单片机的片内接口及系列单片机的片内接口及中断中断5.1 5.1 5.1 5.1 并行并行并行并行I/OI/OI/OI/O接口及其应用接口及其应用接口及其应用接口及其应用5.2 5.2 5.2 5.2 定时器定时器定时器定时器/计数器及其应用计数器及其应用计数器及其应用计数器及其应用5.3 5.3 5.3 5.3 中断系统及其应用中断系统及其应用中断系统及其应用中断系统及其应用5.4 5.4 5.4 5.4 串行接口及其应用串行接口及其应用串行接口及其应用串行接口及其应用5.1 5.1 5.1 5.1 并行并行并行并行I/OI/OI/OI/O接口及其应

2、用接口及其应用接口及其应用接口及其应用 5.1.1 5.1.1 5.1.1 5.1.1 并行并行并行并行I/OI/OI/OI/O接口的功能接口的功能接口的功能接口的功能 5.1.2 5.1.2 5.1.2 5.1.2 并行并行并行并行I/OI/OI/OI/O接口的结构接口的结构接口的结构接口的结构 5.1.3 5.1.3 5.1.3 5.1.3 并行并行并行并行I/OI/OI/OI/O接口的应用接口的应用接口的应用接口的应用5.1 5.1 5.1 5.1 并行并行并行并行I/OI/OI/OI/O接口及其应用接口及其应用接口及其应用接口及其应用5.1.1 5.1.1 并行并行I/OI/O接口的功

3、能接口的功能 4个8位的并行I/O接口P0、P1、P2和P3的映像位地址或字节地址如下表所示。接口名映像字节地址映像位地址P080H80H87HP190H90H97HP2A0HA0HA7HP3B0HB0HB7H P0P3口均可作为一般的双向输入/输出口使用,此外P0、P2和P3口具有第二功能。P0口:在系统扩展时作为低8位地址与数据分时复用总线。P2口:在系统需要进行片外扩展时提供系统所需的高8位地址。P3口:当作为第二功能使用时,为串行通信、外部中断、定时器功能提供输入输出信号线。5.1.2 5.1.2 并行并行I/OI/O接口的结构接口的结构(1)P1口的位结构 P1口是51系列单片机中惟

4、一的一个单功能端口,其位结构如下图所示。输出时向锁存器写1,输入时该位的锁存器必须置“1”。(2)P2口的位结构 P2口既可作为一般输入/输出口使用,也可作为系统扩展时的地址总线口,输出高8位地址A8A15,其位结构如下图所示。其输出驱动电路多一个多路电子开关MUX,用于实现P2口两种功能的切换。(3)P0口的位结构 P0口可作为一般输入/输出口使用,还可在系统扩展时作为地址/数据复用总线口,分时输出低8位地址A0A7与8位数据D0D7,位结构如下图所示。(4)P3口的位结构 P3口的位结构如下图所示,P3口比P1口多一个输入缓冲器和一个与非门,其输出驱动电路与P2口相同。P3口具有第二功能,

5、使用时只须将锁存器置1,在内部硬件控制作用下该位将具有相应的第二功能。5.1.3 5.1.3 并行并行I/OI/O接口的应用接口的应用例:电路结构如下图所示,欲利用发光二极管LED显示开关K的状态,即开关闭合时LED亮,开关K断开时LED熄灭,试编程实现。参考程序如下:CLR P1.0 ;给LED一个初态,熄灭BACK:SETB P1.7 ;对输入位P1.7写“1”JB P1.7,BACK1 ;K断开,转BACK1 SETB P1.0 ;K闭合,LED亮 SJMP BACKBACK1:CLR P1.0 ;K断开,LED灭 SJMP BACK例:电路结构如下图所示。要求当图中Ki闭合时与之对应的

6、LEDi亮,Ki断开时LEDi熄灭。试编程实现。参考程序如下:ORG 0000H LJMP MAIN ;跳转到主程序ORG 0100HMAIN:MOV P1,00H;8位LED全灭 MOV P0,#0FFH;P0置1,准备进行输入操作BACK:MOV A,P0 ;读P0口开关状态,并送入累加器A CPL A;对累加器A求反 MOV P1,A ;从P1口输出 SJMP BACK ;循环执行5.2 5.2 5.2 5.2 定时器定时器定时器定时器/计数器及其应用计数器及其应用计数器及其应用计数器及其应用 5.2.1 5.2.1 5.2.1 5.2.1 定时器定时器定时器定时器/计数器的结构和工作原

7、理计数器的结构和工作原理计数器的结构和工作原理计数器的结构和工作原理 5.2.2 5.2.2 5.2.2 5.2.2 定时器定时器定时器定时器/计数器的工作方式计数器的工作方式计数器的工作方式计数器的工作方式 5.2.3 5.2.3 5.2.3 5.2.3 定时器定时器定时器定时器/计数器的编程计数器的编程计数器的编程计数器的编程 5.2.4 5.2.4 5.2.4 5.2.4 定时器定时器定时器定时器/计数器的应用计数器的应用计数器的应用计数器的应用5.2 5.2 5.2 5.2 定时器定时器定时器定时器/计数器及其应用计数器及其应用计数器及其应用计数器及其应用5.2.1 5.2.1 定时器

8、定时器/计数器的结构和工作压力计数器的结构和工作压力(1)定时器/计数器的结构 MCS-51系列单片机的定时器计数器T0、T1的结构完全相同,如下图所示。(2)定时器/计数器的工作原理 MCS-51系列单片机的定时器计数器实质上是一个加1计数器,可以工作于定时方式,也可以工作于计数方式,两者都是对输入脉冲进行计数。定时器/计数器的核心部件是一个加1计数器,它每接收到一个输入脉冲,该加1计数器便在预置计数初值N的基础上加1,当计数器的计数初值N被加为0(即产生进位)时,将使计数器的溢出中断标志TFi置1。通过中断或查询方式可了解TFi是否为1,从而达到了解计数器是否完成本次定时或计数的目的。5.

9、2.2 5.2.2 定时器定时器/计数器的工作方式计数器的工作方式 定时器计数器共有4种工作方式。(1)方式0(13位计数器)THi提供高8位,TLi提供低5位的计数初值(TLi的高3位未用),最大计数值为213。C/T=0时,工作于定时方式,计数器对晶体振荡器12分频后的脉冲进行计数;C/T=1时,工作于计数方式,计数器对外部脉冲输入端Ti输入的脉冲进行计数。GATE=0时,由TRi位为1启动计数,为0停止计数;GATE=1时,只有当TRi和INTi同时为1才能启动定时器/计数器工作。(2)方式1(16位计数器)由THi和TLi寄存器各提供8位计数初值,最大计数值为216。工作过程及启/停方

10、式与方式0完全一样,惟一区别是当由THi、TLi共同构成的16位计数器计满溢出时,置位中断溢出标志TFi,并向CPU发出中断请求。(3)方式2(8位计数器)方式2是8位的可自动重装计数初值的定时计数方式,最大计数值为28。其工作过程及启/停方式与方式0、1基本相同,但结构上略有不同,具体结构如下图所示。(4)方式3(8位计数器)定时器T0被分成两个独立的计数器TL0和TH0,如下图所示。TL0可做定时器/计数器,占用T0的所有控制位(GATE、C/T、TR0、INT0和TF0);TH0只能做定时器使用,占用T1的TR1和TF1,此时TH0控制着定时器T1的中断。在这种情况下,T1可用做串行口的

11、波特率发生器,但不能使用中断方式。5.2.3 5.2.3 定时器定时器/计数器的编程计数器的编程 MCS-51系列单片机内的定时器/计数器T0、T1,均为可编程的功能部件,相关控制寄存器介绍如下。(1)工作方式寄存器TMOD TMOD的格式如下图所示。TMOD的高、低4位分别为定时器T1、T0的方式选择控制位,其中,GATE:门控制位。用作启、停操作方式的选择。C/T:定时器/计数器方式选择位。该位置0选定时方式,置1选计数方式。M1、M0:方式选择位,用以选择定时器/计数器的4种不同工作方式。GATEC/TC/TGATEM1M1M0M0T1T0(2)计数初值N 定时器/计数器在定时和计数方式

12、下,计数初值N的计算方法各不相同。定时方式:(2nN)t=tOV其中,t=12/fosc,为机器周期;tOV为所需定时的时间;n为计数器的位数,取值与具体工作方式相关。计数方式:N=2nX其中,X为要求计数的次数;n同上。(3)控制寄存器TCON 控制字TCON的格式如下图所示。TF1TR1IT1IE1TF0IE0TR0IT0 其低4位与中断有关,不在此介绍,高4位为定时器的运行控制位和溢出中断标志,具体定义如下:TF1:定时器T1溢出中断标志;TR1:定时器T1的运行控制位;TF0:定时器T0溢出中断标志;TR0:定时器T0的运行控制位。(4)编程举例例:要求T0为计数工作方式,工作在方式0

13、下,由TR0位直接控制T0的启停,计数100个脉冲;T1为定时工作方式,工作在方式1下,由TR1位直接控制T1的启停,定时20ms,请完成相关初始化编程。参考程序段如下:MOV TMOD,#14H MOV TH1,#0D8H MOV TL1,#0F0H MOV TH0,#0FCH MOV TL0,#1CH SETB TR1 SETB TR05.2.4 5.2.4 定时器定时器/计数器的应用计数器的应用例:电路如下图所示,欲使图中LED以200ms为周期闪烁,其定时时间由定时器T0完成,设fosc=6MHz,试编程实现。参考程序如下:ORG 0000H LJMP MAINORG 0100HMAI

14、N:SETB P1.0 MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB TR0BACK:JBC TF0,BACK1 SJMP BACKBACK1:MOV TH0,#3CH MOV TL0,#0B0H CPL P1.0 SJMP BACK例:电路如下图所示,欲测量图中INT0(P3.2)引脚上出现的正脉冲宽度N,并将结果存入70H和71H两个单元中,请编程实现(设fosc=12MHz)。INT0P3.2N单单片片机机参考程序如下:ORG 0000H LJMP MAINORG 0100HMAIN:MOV TMOD,#09H MOV TH0,#00H MO

15、V TL0,#00HBACK1:JB P3.2,BACK1 SETB TR0BACK2:JNB P3.2,BACK2BACK3:JB P3.2,BACK3 CLR TR0 MOV 70H,TL0 MOV 71H,TH0 SJMP$END5.3 5.3 5.3 5.3 中断系统及其应用中断系统及其应用中断系统及其应用中断系统及其应用 5.3.1 5.3.1 5.3.1 5.3.1 中断系统结构中断系统结构中断系统结构中断系统结构 5.3.2 5.3.2 5.3.2 5.3.2 中断处理过程中断处理过程中断处理过程中断处理过程 5.3.3 5.3.3 5.3.3 5.3.3 中断的应用中断的应用中

16、断的应用中断的应用5.3 5.3 5.3 5.3 中断系统及其应用中断系统及其应用中断系统及其应用中断系统及其应用5.3.1 5.3.1 中断系统结构中断系统结构 MCS-51系列单片机的中断系统结构如下图所示。(1)中断源与中断向量 MCS-51系列单片机有5个中断源,提供两个中断优先级,可实现二级中断嵌套。5个中断源可分为外部中断源、定时中断源、串行口接收/发送中断源。各中断源与各对应中断向量的关系如下:中断源中断向量INT0 0003H T0 000BHINT1 0013H T1 001BH RI或TI 0023H(2)中断的控制 MCS-51对中断的控制主要通过中断优先级控制寄存器IP

17、、中断允许寄存器IE以及中断源寄存器TCON和SCON。中断允许寄存器IE IE寄存器的地址为A8H,各位的定义如下:INT0中断允许/屏蔽位INT1中断允许/屏蔽位T0中断允许/屏蔽位T1中断允许/屏蔽位串行口中断允许/屏蔽位定时器/计数器T2中断允许/屏蔽位增强型(52)系列才有CPU中断允许/屏蔽位EAESET2EX1ET1EX0ET0IEPSPT2PX1PT1PX0PT0INT0中断优先级设定位INT1中断优先级设定位T0中断优先级设定位T1中断优先级设定位串行口中断优先级设定位T2中断优先级设定位增强型(52)系列才有IP 中断优先级控制寄存器IP IP寄存器的地址为B8H,统一管理

18、中断源的中断优先级。当IP中某位设定为1时,相应的中断源为高优先级中断;某位设定为0时,相应的中断源为低优先级中断。单片机复位时,IP各位初始化为0.IP寄存器各位的定义如下:中断源寄存器TCON和SCON TCON为定时器/计数器的控制寄存器,地址为88H,它也锁存外部中断请求标志,与中断标志位有关的格式如下:TF1IT1IE1TF0IE0IT0 SCON是串行口控制寄存器,地址为98H,它锁存的中断请求标志只有两位,其格式如下:TIRI5.3.2 5.3.2 中断处理过程中断处理过程 一个完整的中断处理过程包括中断请求、中断响应、中断处理和中断返回部分,前面已经介绍了中断请求与控制,下面将

19、介绍其他几部分内容。(1)中断响应 当有中断请求且满足中断响应条件时,CPU便会响应中断,其响应过程如下:将相应的优先级状态触发器置1,以禁止同级或低级的中断嵌套;将当前程序计数器PC的内容压入堆栈保存,并将相应的中断服务程序入口地址送入PC,以实现程序的转移;执行中断服务程序。响应过程的前两步由硬件自动完成的,中断服务程序需要用户编写。5.3.3 5.3.3 中断应用中断应用例:电路结构如下图所示,欲使与P1.0引脚相连的LED以2秒为周期闪烁,试编程实现。功能实现分析如下:由电路图可知,欲使LED按2秒为周期闪烁,实际上就是控制LED以1秒的频率改变其亮、灭的状态。要使LED亮,则P1.0

20、输出“1”,否则输出“0”。1秒的延时时间利用定时器/计数器来实现,设单片机的振荡频率为6MHz,则其机器周期为2us,根据前面所学知识可知,仅仅只利用定时器T0或T1无法实现1秒的定时,要定时1秒需定时器T0和T1共同配合使用来达到目的。可通过使T0定时50ms,在P1.3引脚上输出一个周期为100ms的方波,计数器T1对该脉冲进行计数,计满10个,便达到定时1秒的目的。以1秒为周期对P1.0引脚状态求反,便能实现题目的要求。例:利用中断实现例5.5测量INT0引脚上的正脉冲宽度的功能。设待测脉冲的宽度为N,且有0N65536us。参考程序如下:ORG 0000H LJMP MAINORG

21、0003H LJMP INT0ORG 0100HMAIN:MOV TMOD,#09H MOV TH0,#00H MOV TL0,#00HBACK1:JB P3.2,BACK1 SETB TR0 SETB IT0 SETB EX0 SETB EA SJMP$ORG 0200HINT0:CLR TR0 MOV 70H,TL0 MOV 71H,TH0 RETI5.4 5.4 5.4 5.4 串行接口及其应用串行接口及其应用串行接口及其应用串行接口及其应用 5.4.1 5.4.1 5.4.1 5.4.1 串行口的结构串行口的结构串行口的结构串行口的结构 5.4.2 5.4.2 5.4.2 5.4.2

22、串行口的工作方式串行口的工作方式串行口的工作方式串行口的工作方式 5.4.3 5.4.3 5.4.3 5.4.3 串行口的使用串行口的使用串行口的使用串行口的使用 5.5.4 5.5.4 5.5.4 5.5.4 串行口的应用串行口的应用串行口的应用串行口的应用5.4 5.4 5.4 5.4 串行接口及其应用串行接口及其应用串行接口及其应用串行接口及其应用5.4.1 5.4.1 串行口的结构串行口的结构 MCS-51系列单片机内的串行接口是一个可编程的全双工串行通讯接口,通过软件编程,既可作为通用异步接收和发送器UART(通用异步收发器),也可作为同步移位寄存器。其结构框图如下图所示。5.4.2

23、 5.4.2 串行口的工作方式串行口的工作方式 可编程的串行口有4种工作方式,可通过SCON中的SM0、SM1进行设置。(1)方式0(移位寄存器的输入输出方式)该方式下,数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。该方式多用于外接移位寄存器以扩展I/O端口,波特率固定为fosc/12。(2)方式1(波特率可变10位异步通讯方式)该方式为标准的异步通讯方式,其通讯格式为:起始位1位,数据位8位,停止位1位。工作在全双工方式下,以TXD为串行数据的发送端,RXD为串行数据的接收端,波特率由定时器T1的溢出率和SMOD位的状态确定。(3)方式2,3(11位异步通

24、讯方式)方式2和方式3的操作过程与方式1基本相同,主要区别在于方式2和方式3有第9位数据,该位数据的主要作用是用作数据的奇偶效验位,或在多机通讯中作为地址/数据的特征位,该位数据保存在RB8(接收时)或TB8(发送时)中。方式2的波特率只有两种,即fosc/64和fosc/32,方式3的波特率则可通过编程进行多种设置。5.4.3 5.4.3 串行口的使用串行口的使用(1)与串行口有关的特殊功能寄存器 SBUF SBUF为串行口接收/发送数据缓冲器,其地址为99H,通过SBUF寄存器可实现对串行数据的输入/输出操作。TIRISM0SM1SM2RENTB8RB8SCON接收中断标志发送中断标志接收

25、数据第9位发送数据第9位接收控制0:禁止接收1:允许接收多机通信0:单机对单机1:多机通信SM0 SM1 工作方式0 0 方式00 1 方式11 0 方式21 1 方式3工作方式控制位 SCON SCON是串行口控制寄存器,专门用以设定串行口的工作方式、接收/发送控制以及相关标志的状态。其格式及各位功能如下:PCON PCON是电源控制寄存器,地址为87H。它主要是为CHMOS型单片机的电源控制而设置的专用寄存器,与串行口初始化编程相关的只有最高位SMOD(波特率选择位)。当串行口工作在方式1、方式2和方式3下时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。当SMOD=0时,波特率

26、不变。复位时,SMOD=0。(2)串行口波特率的选择 不同的工作方式,其波特率的取值也各异,详细内容参见教材相关部分。(3)串行通信结束的查询与中断 串行通讯可以通过查询方式或中断方式实现接收数据和发送数据,具体流程图参见教材相关部分。5.4.4 5.4.4 串行口的应用串行口的应用(1)利用方式0扩展并行I/O口例:利用51单片机的串行口外接74LS164扩展8位并行输出口。电路图如下图所示,8位并行输出口的各位分别接一个发光二极管,要求发光二极管按从左到右的顺序,以一定的时间间隔依次循环发光,试编程实现。参考程序如下:ORG 0000H LJMP MAINORG 2000HMAIN:CLR

27、 P1.0 MOV SCON,#00H SETB P1.0 MOV A,#80HBACK1:MOV SBUF,ABACK2:JNB TI,BACK2 CLR TI LCALL DELAY RR A SJMP BACK1(2)利用方式1实现点对点的异步通信例:编程将甲机片内RAM 50H5FH单元中的数据向乙机发送,在发送之前将数据块长度N发送给乙机,当发送完N个字节后,再发送一个累加效验和。乙机接收数据进行累加和校验,如果和发送方的累加和一致,发送数据“00”,表示接收正确,如果不一致,发数据FFH,甲机再重发,乙机接收的数据存入片内70H7FH单元中。设波特率为2400,fosc=6MHz,

28、试编程实现。参考程序如下:甲机发送程序甲机发送程序TRT:MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H SETB TR1 MOV SCON,#50HRPT:MOV R0,#50H MOV R2,#10H MOV R3,#00H MOV SBUF,R2BACK1:JNB TI,BACK 1 CLR TIBACK2:MOV A,R0 MOV SBUF,A ADD A,R3 MOV R3,A INC R0BACK3:JNB TI,BACK 3 CLR TI DJNZ R2,BACK 2 MOV SBUF,R3 MOV R3,#0BACK4:JNB TI,BACK

29、4 CLR TIBACK5:JNB RI,BACK5 CLR RI MOV A,SBUF JNZ RPT RET乙机接收程序乙机接收程序RSU:MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H SETB TR1 MOV SCON,#50HBACK:MOV R0,#70HBACK1:JNB RI,BACK1 CLR RI MOV A,SBUF MOV R2,A MOV R3,#00HBACK2:JNB RI,BACK2 CLR RI MOV A,SBUF MOV R0,A INC R0 ADD A,R3 MOV R3,A DJNZ R2,BACK 2BACK3:

30、JNB RI,BACK3 CLR RI MOV A,SBUF XRL A,R3 MOV R3,#00H JZ BACK5 MOV SBUF,#0FFHBACK4:JNB TI,BACK4 CLR TI AJMP BACKBACK5:MOV SBUF,#00HBACK6:JNB TI,BACK6 CLR TI RET(3)利用方式2、方式3与多机通信 串行口控制寄存器SCON中的SM2位为方式2、方式3的多机通讯控制位。在多机通讯中起着非常重要的作用。一个典型的多机通讯系统硬件连接如下图所示。当串行口以方式2、方式3发送时,数据的第9位是可编程位,即可以通过程序改变TB8的状态,以区分当前所发送

31、的是地址还是数据,TB8=1时发送地址,TB8=0时发送数据。发送方发送的第9位TB8,将被接收方的第9位,即RB8所接收。接收时,如果接收方的SM2=1,则只有接收到的RB8=1,即传送的是地址时,才能激活RI,接收数据才有效。如果接收方的SM2=0,则无论接收到的RB8的状态如何,均能激活RI,接收到的数据有效。利用串行口方式2、方式3的这个特点便可以实现多机通讯。上图为一主多从结构的多机通讯系统,主机和从机应设置成相同的方式,使用相同的波特率。其工作通讯过程简单描述如下:主机发出要求与之通讯的从机地址信号,并使TB81。将所有从机的SM2都置为1,将接收到的第9位的状态送入从机的RB8,

32、使RB81。所有满足SM21、RB8=1条件的从机都能激活RI,进入各自的中断服务程序,在从机的中断服务程序中判断主机发出的地址信号是否与本从机号相同,若相同则将其SM2设为0,并将本机地址发回主机作为应答,否则不动作。主机发出需传送的数据。并使TB8=0。所有从机均接收到该数据帧,其第9位进入RB8,即RB8=0。对于地址号与主机发出的地址不相符的那些从机,由于其SM2=1,而接收到的第9位使它们的RB8都为0,因此都不能激活RI,使得接收到的数据自然丢失。地址号与主机发出的地址相同的那台从机SM20,这就使得不管接收到的第9位为何值,都能激活RI,接收到的数据有效。通过以上6步,可完成主机与从机的一对一通讯。当主机需与其他从机联系时,则正与主机通讯的这台从机应恢复SM2=1,主机可再发出地址帧寻址其他从机。

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

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com