版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章MCS-51系列单片机的片内接口及中断5.1并行I/O接口及其应用5.2定时器/计数器及其应用5.3中断系统及其应用5.4串行接口及其应用5.1并行I/O接口及其应用5.1.1并行I/O接口的功能5.1.2并行I/O接口的结构5.1.3并行I/O接口的应用5.1并行I/O接口及其应用5.1.1并行I/O接口的功能
4个8位的并行I/O接口P0、P1、P2和P3的映像位地址或字节地址如下表所示。接口名映像字节地址映像位地址P080H80H~87HP190H90H~97HP2A0HA0H~A7HP3B0HB0H~B7HP0~P3口均可作为一般的双向输入/输出口运用,此外P0、P2和P3口具有其次功能。P0口:在系统扩展时作为低8位地址与数据分时复用总线。P2口:在系统须要进行片外扩展时供应系统所需的高8位地址。P3口:当作为其次功能运用时,为串行通信、外部中断、定时器功能供应输入输出信号线。5.1.2并行I/O接口的结构(1)P1口的位结构P1口是51系列单片机中惟一的一个单功能端口,其位结构如下图所示。输出时向锁存器写1,输入时该位的锁存器必需置“1”。(2)P2口的位结构P2口既可作为一般输入/输出口运用,也可作为系统扩展时的地址总线口,输出高8位地址A8~A15,其位结构如下图所示。其输出驱动电路多一个多路电子开关MUX,用于实现P2口两种功能的切换。(3)P0口的位结构P0口可作为一般输入/输出口运用,还可在系统扩展时作为地址/数据复用总线口,分时输出低8位地址A0~A7与8位数据D0~D7,位结构如下图所示。(4)P3口的位结构P3口的位结构如下图所示,P3口比P1口多一个输入缓冲器和一个与非门,其输出驱动电路与P2口相同。P3口具有其次功能,运用时只须将锁存器置1,在内部硬件限制作用下该位将具有相应的其次功能。5.1.3并行I/O接口的应用例:电路结构如下图所示,欲利用发光二极管LED显示开关K的状态,即开关闭合时LED亮,开关K断开时LED熄灭,试编程实现。参考程序如下:CLRP1.0 ;给LED一个初态,熄灭BACK:SETBP1.7 ;对输入位P1.7写“1”JBP1.7,BACK1;K断开,转BACK1SETBP1.0 ;K闭合,LED亮SJMPBACKBACK1:CLRP1.0 ;K断开,LED灭SJMPBACK例:电路结构如下图所示。要求当图中Ki闭合时与之对应的LEDi亮,Ki断开时LEDi熄灭。试编程实现。参考程序如下:ORG0000HLJMPMAIN;跳转到主程序ORG0100HMAIN:MOVP1,#00H ;8位LED全灭MOVP0,#0FFH ;P0置1,准备进行输入操作BACK:MOVA,P0;读P0口开关状态,并送入累加器ACPLA ;对累加器A求反MOVP1,A ;从P1口输出SJMPBACK;循环执行5.2定时器/计数器及其应用5.2.1定时器/计数器的结构和工作原理5.2.2定时器/计数器的工作方式5.2.3定时器/计数器的编程5.2.4定时器/计数器的应用5.2定时器/计数器及其应用5.2.1定时器/计数器的结构和工作压力(1)定时器/计数器的结构MCS-51系列单片机的定时器/计数器T0、T1的结构完全相同,如下图所示。(2)定时器/计数器的工作原理MCS-51系列单片机的定时器/计数器实质上是一个加1计数器,可以工作于定时方式,也可以工作于计数方式,两者都是对输入脉冲进行计数。定时器/计数器的核心部件是一个加1计数器,它每接收到一个输入脉冲,该加1计数器便在预置计数初值N的基础上加1,当计数器的计数初值N被加为0(即产生进位)时,将使计数器的溢出中断标记TFi置1。通过中断或查询方式可了解TFi是否为1,从而达到了解计数器是否完成本次定时或计数的目的。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。工作过程及启/停方式与方式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可用做串行口的波特率发生器,但不能运用中断方式。5.2.3定时器/计数器的编程MCS-51系列单片机内的定时器/计数器T0、T1,均为可编程的功能部件,相关限制寄存器介绍如下。(1)工作方式寄存器TMODTMOD的格式如下图所示。TMOD的高、低4位分别为定时器T1、T0的方式选择限制位,其中,GATE:门限制位。用作启、停操作方式的选择。C/T:定时器/计数器方式选择位。该位置0选定时方式,置1选计数方式。M1、M0:方式选择位,用以选择定时器/计数器的4种不同工作方式。GATEC/TC/TGATEM1M1M0M0T1T0(2)计数初值N定时器/计数器在定时和计数方式下,计数初值N的计算方法各不相同。定时方式:(2n-N)×t=tOV其中,t=12/fosc,为机器周期;tOV为所需定时的时间;n为计数器的位数,取值与具体工作方式相关。计数方式:N=2n-X其中,X为要求计数的次数;n同上。(3)限制寄存器TCON限制字TCON的格式如下图所示。TF1TR1IT1IE1TF0IE0TR0IT0其低4位与中断有关,不在此介绍,高4位为定时器的运行限制位和溢出中断标记,具体定义如下:TF1:定时器T1溢出中断标记;TR1:定时器T1的运行限制位;TF0:定时器T0溢出中断标记;TR0:定时器T0的运行限制位。(4)编程举例例:要求①T0为计数工作方式,工作在方式0下,由TR0位干脆限制T0的启停,计数100个脉冲;②T1为定时工作方式,工作在方式1下,由TR1位干脆限制T1的启停,定时20ms,请完成相关初始化编程。参考程序段如下:MOVTMOD,#14HMOVTH1,#0D8HMOVTL1,#0F0HMOVTH0,#0FCHMOVTL0,#1CHSETBTR1SETBTR05.2.4定时器/计数器的应用例:电路如下图所示,欲使图中LED以200ms为周期闪烁,其定时时间由定时器T0完成,设fosc=6MHz,试编程实现。参考程序如下:ORG0000HLJMPMAINORG0100HMAIN:SETBP1.0MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBTR0 BACK:JBCTF0,BACK1SJMPBACK BACK1:MOVTH0,#3CHMOVTL0,#0B0H CPLP1.0SJMPBACK例:电路如下图所示,欲测量图中INT0(P3.2)引脚上出现的正脉冲宽度N,并将结果存入70H和71H两个单元中,请编程实现(设fosc=12MHz)。INT0P3.2N单片机参考程序如下:ORG0000HLJMPMAINORG0100HMAIN:MOVTMOD,#09HMOVTH0,#00HMOVTL0,#00HBACK1:JBP3.2,BACK1 SETBTR0 BACK2:JNBP3.2,BACK2BACK3:JBP3.2,BACK3 CLRTR0 MOV70H,TL0MOV71H,TH0 SJMP$END5.3中断系统及其应用5.3.1中断系统结构5.3.2中断处理过程5.3.3中断的应用5.3中断系统及其应用5.3.1中断系统结构MCS-51系列单片机的中断系统结构如下图所示。(1)中断源与中断向量MCS-51系列单片机有5个中断源,供应两个中断优先级,可实现二级中断嵌套。5个中断源可分为外部中断源、定时中断源、串行口接收/发送中断源。各中断源与各对应中断向量的关系如下: 中断源 中断向量 INT0 0003H T0 000BH INT1 0013H T1 001BHRI或TI 0023H(2)中断的限制MCS-51对中断的限制主要通过中断优先级限制寄存器IP、中断允许寄存器IE以及中断源寄存器TCON和SCON。①中断允许寄存器IEIE寄存器的地址为A8H,各位的定义如下:INT0中断允许/屏蔽位INT1中断允许/屏蔽位T0中断允许/屏蔽位T1中断允许/屏蔽位串行口中断允许/屏蔽位定时器/计数器T2中断允许/屏蔽位增强型(52)系列才有CPU中断允许/屏蔽位EAESET2EX1ET1EX0ET0IEPSPT2PX1PT1PX0PT0INT0中断优先级设定位INT1中断优先级设定位T0中断优先级设定位T1中断优先级设定位串行口中断优先级设定位T2中断优先级设定位增强型(52)系列才有IP②中断优先级限制寄存器IPIP寄存器的地址为B8H,统一管理中断源的中断优先级。当IP中某位设定为1时,相应的中断源为高优先级中断;某位设定为0时,相应的中断源为低优先级中断。单片机复位时,IP各位初始化为0.IP寄存器各位的定义如下:③中断源寄存器TCON和SCONTCON为定时器/计数器的限制寄存器,地址为88H,它也锁存外部中断恳求标记,与中断标记位有关的格式如下:TF1IT1IE1TF0IE0IT0SCON是串行口限制寄存器,地址为98H,它锁存的中断恳求标记只有两位,其格式如下:TIRI5.3.2中断处理过程一个完整的中断处理过程包括中断恳求、中断响应、中断处理和中断返回部分,前面已经介绍了中断恳求与限制,下面将介绍其他几部分内容。(1)中断响应当有中断恳求且满足中断响应条件时,CPU便会响应中断,其响应过程如下:①将相应的优先级状态触发器置1,以禁止同级或低级的中断嵌套;②将当前程序计数器PC的内容压入堆栈保存,并将相应的中断服务程序入口地址送入PC,以实现程序的转移;③执行中断服务程序。响应过程的前两步由硬件自动完成的,中断服务程序须要用户编写。5.3.3中断应用例:电路结构如下图所示,欲使与P1.0引脚相连的LED以2秒为周期闪烁,试编程实现。功能实现分析如下:由电路图可知,欲使LED按2秒为周期闪烁,事实上就是限制LED以1秒的频率变更其亮、灭的状态。要使LED亮,则P1.0输出“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,且有0<N<65536us。参考程序如下:ORG0000HLJMPMAINORG0003HLJMPINT0ORG0100HMAIN:MOVTMOD,#09HMOVTH0,#00HMOVTL0,#00HBACK1:JBP3.2,BACK1 SETBTR0SETBIT0SETBEX0SETBEASJMP$ORG0200HINT0:CLRTR0MOV70H,TL0MOV71H,TH0RETI5.4串行接口及其应用5.4.1串行口的结构5.4.2串行口的工作方式5.4.3串行口的运用5.5.4串行口的应用5.4串行接口及其应用5.4.1串行口的结构MCS-51系列单片机内的串行接口是一个可编程的全双工串行通讯接口,通过软件编程,既可作为通用异步接收和发送器UART(通用异步收发器),也可作为同步移位寄存器。其结构框图如下图所示。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位异步通讯方式)方式2和方式3的操作过程与方式1基本相同,主要区分在于方式2和方式3有第9位数据,该位数据的主要作用是用作数据的奇偶效验位,或在多机通讯中作为地址/数据的特征位,该位数据保存在RB8(接收时)或TB8(发送时)中。方式2的波特率只有两种,即fosc/64和fosc/32,方式3的波特率则可通过编程进行多种设置。5.4.3串行口的运用(1)与串行口有关的特殊功能寄存器①SBUFSBUF为串行口接收/发送数据缓冲器,其地址为99H,通过SBUF寄存器可实现对串行数据的输入/输出操作。TIRISM0SM1SM2RENTB8RB8SCON接收中断标志发送中断标志接收数据第9位发送数据第9位接收控制0:禁止接收1:允许接收多机通信0:单机对单机1:多机通信SM0SM1工作方式00方式001方式110方式211方式3工作方式控制位②SCONSCON是串行口限制寄存器,特地用以设定串行口的工作方式、接收/发送限制以及相关标记的状态。其格式及各位功能如下:③PCONPCON是电源限制寄存器,地址为87H。它主要是为CHMOS型单片机的电源限制而设置的专用寄存器,与串行口初始化编程相关的只有最高位SMOD(波特率选择位)。当串行口工作在方式1、方式2和方式3下时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。当SMOD=0时,波特率不变。复位时,SMOD=0。(2)串行口波特率的选择不同的工作方式,其波特率的取值也各异,具体内容参见教材相关部分。(3)串行通信结束的查询与中断串行通讯可以通过查询方式或中断方式实现接收数据和发送数据,具体流程图参见教材相关部分。5.4.4串行口的应用(1)利用方式0扩展并行I/O口例:利用51单片机的串行口外接74LS164扩展8位并行输出口。电路图如下图所示,8位并行输出口的各位分别接一个发光二极管,要求发光二极管按从左到右的依次,以确定的时间间隔依次循环发光,试编程实现。参考程序如下:ORG0000HLJMPMAINORG2000HMAIN:CLRP1.0MOVSCON,#00HSETBP1.0MOVA,#80H BACK1:MOVSBUF,ABACK2:JNBTI,BACK2CLRTILCALLDELAYRRA SJMPBACK1(2)利用方式1实现点对点的异步通信例:编程将甲机片内RAM50H~5FH单元中的数据向乙机发送,在发送之前将数据块长度N发送给乙机,当发送完N个字节后,再发送一个累加效验和。乙机接收数据进行累加和校验,假如和发送方的累加和一样,发送数据“00”,表示接收正确,假如不一样,发数据FFH,甲机再重发,乙机接收的数据存入片内70H~7FH单元中。设波特率为2400,fosc=6MHz,试编程实现。参考程序如下:甲机发送程序TRT:MOVTMOD,#20HMOVTH1,#0F3HMOVTL1,#0F3HSETBTR1MOVSCON,#50HRPT:MOVR0,#50HMOVR2,#10HMOVR3,#00HMOVSBUF,R2BACK1:JNBTI,BACK1CLRTIBACK2:MOVA,@R0MOVSBUF,AADDA,R3MOVR3,AINC R0BACK3:JNBTI,BACK3CLRTIDJNZR2,BACK2MOVSBUF,R3MOVR3,#0BACK4:JNBTI,BACK4CLRTIBACK5:JNBRI,BACK5CLRRIMOVA,SBUF JNZRPT RET 乙机接收程序RSU:MOVTMOD,#20HMOVTH1,#0F3HMOVTL1,#0F3HSETBTR1MOVSCON,#50HBACK:MOVR0,#70HBACK1:JNBRI,BACK1CLRRIMOVA,SBUF MOVR2,AMOVR3,#00HBACK2:JNBRI,BACK2CLRRIMOVA,SBUF MOV@R0,AINCR0 ADDA,R3MOVR3,A DJNZR2,BACK2BACK3:JNBRI,BACK3CLRRI MOVA,SBUFXRLA,R3MOVR3,#00HJZBACK5M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年故障预警系统的设计与实现
- 2026年无人驾驶技术与自动化控制
- 2026年微型机械设计的新概念
- 2026年电气工程中的虚拟现实培训应用
- 2026浙江深泓水利工程有限公司招聘第一批项目制用工人员6人备考题库(含答案详解)
- 2026山东临沂职业学院引进高层次人才63人备考题库附答案详解(预热题)
- 2026河北石家庄城市建设发展集团招聘10人备考题库含答案详解(综合卷)
- 2026广东中山市绩东二社区见习生招聘备考题库及答案详解【新】
- 飞机模线样板移型工岗前技术理论考核试卷含答案
- 2026重庆市南岸区海棠溪街道办事处公益性岗位招聘14人备考题库带答案详解
- (高清版)DZT 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼
- 有关锂离子电池安全的基础研究课件
- 人工智能与计算机视觉
- 口腔材料学课件
- 盐酸凯普拉生片-临床用药解读
- 中建综合支架专项施工方案
- 医院财务制度专家讲座
- 2023年北京市中国互联网投资基金管理有限公司招聘笔试题库含答案解析
- 中控ECS-700学习课件
- 2023年上海市杨浦区中考一模(暨上学期期末)语文试题(含答案解析)
- 甲状腺病变的CT诊断
评论
0/150
提交评论