单片机专题七io口定时器计数器

上传人:tia****nde 文档编号:66524555 上传时间:2019-01-04 格式:PPT 页数:81 大小:1.86MB
返回 下载 相关 举报
单片机专题七io口定时器计数器_第1页
第1页 / 共81页
单片机专题七io口定时器计数器_第2页
第2页 / 共81页
单片机专题七io口定时器计数器_第3页
第3页 / 共81页
单片机专题七io口定时器计数器_第4页
第4页 / 共81页
单片机专题七io口定时器计数器_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《单片机专题七io口定时器计数器》由会员分享,可在线阅读,更多相关《单片机专题七io口定时器计数器(81页珍藏版)》请在金锄头文库上搜索。

1、计算机硬件技术基础,专题六外部中断源的扩展(三) 专题七MCS51内部的I/O和定时器(一) 第12讲,主讲教师:赵晓安,重点、难点,重点: 1) MCS-51内部并行I/O口及应用 2) 定时器/计数器的组成 3) 定时器/计数器的控制、工作方式 难点: 1) 中断嵌套程序设计,教 学 要 求,1掌握: MCS-51内部并行I/O口及其应用程序设计 MCS-51的中断嵌套程序设计 3) MCS-51定时器/计数器的组成、控制、工作方式 2. 熟悉: 1) 内部I/O口兼作对外扩展的三总线 3.了解: 中断源的扩展 使用硬件申请软件查询法扩展外部中断源,讲 课 进 程,专题五 输入输出和中断(

2、三) 5.5 MCS-51对中断源的扩展 5.5.1 借用定时器溢出中断扩展外部中断源 5.5.2 硬件申请软件查询法扩展外部中断源 专题六MCS-51内部的I/O口、定时器及其应用 6.1 MCS-51内部并行I/O口及应用 6.1.1 P0口 6.1.2 P1口 6.1.3 P2口 6.1.4 P3口 6.1.5 MCS-51内部并行I/O口的应用 1. “读锁存器”和“读引脚”的指令 2. P0 、P2、 P3口复用作为片外扩展系统的系统总线 3. 直接输入/输出(例6-1) 4. 补充 P1 中断方式输入输出, /INT1 定义为高级,/INT0为低级。,6.2 MCS-51定时器/计

3、数器 6.2.1 定时器/计数器的组成 1.定时方式 2.计数方式 6.2.2 定时器/计数器的控制 1.TMOD 2. TCON 6.2.3 定时器/计数器的工作方式 1.方式0 2.方式1,作 业,思考题: P173 5-16 5-17 5-18 5-19 5-20 P228 6-1 6-4,55 MCS-51对外部中断源的扩展,通常MCS-51扩展外部中断源有三种方法: 1、借用定时器/计数器溢出中断扩展外部中断源; 2、采用硬件申请软件查询法扩展外部中断源; 3、采用8259A扩展外部中断源。 这里介绍前面两种比较简单可行的方法。,1、借用定时器/计数器溢出中断扩展外部中断源,MCS-

4、51单片机内部的定时器/计数器是16位的,当定时器从全“1”变为全“0”时,会向CPU发出溢出中断请求。 根据这一原理,可把内部不用的定时器/计数器借给外部中断使用,以达到扩展一个(或二个)外部中断源的目的。,2、采用硬件申请软件查询法扩展外部中断源,如果MCS-51需要扩展的外部中断源较多时,借用定时器/计数器溢出中断来扩展外部中断源已不能满足实际外部设备的需要,此时可用硬件申请软件查询法来扩展外部中断源。 硬件申请软件查询法,原则上可处理任意多个外部中断源,现举例说明。,专题七MCS-51内部的I/O口、定时器及其应用,6.1 MCS-51内部并行I/O口及应用 6.1.1 P0口 6.1

5、.2 P1口 6.1.3 P2口 6.1.4 P3口 6.1.5 MCS-51内部并行I/O口的应用 6.2 MCS-51定时器/计数器 6.2.1 定时器/计数器的组成 6.2.2 定时器/计数器的控制 6.2.3 定时器/计数器的工作方式 6.3 MCS-51串行I/O口及串行通信,本专题重点内容和要求,本章重点讨论MCS-51单片机内部的资源的原理及其应用 并行I/O口 定时器/计数器 串行I/O 口,基本要求: 掌握 P0P3的特性及其应用 掌握T/C的原理、工作方式、程序设计方法及应用 学会综合运用 了解串行口的原理、制式,63 MCS-51串行I/O口及串行通信,第六章 MCS-5

6、1内部的I/O口、定时器及其应用,6. 1 MCS-51内部的并行I/O口及应用,62 MCS-51的定时器/计数器,611 P0口 612 P1口 613 P2口 614 P3口 615 MCS-51内部并行I/O口的应用,6.1 MCS-51内部的并行I/O口及应用,621 定时器/计数器的组成 622 定时器/计数器的控制 6. 2. 3 定时器的四种工作方式 624 T/C的初始化 625 定时器/计数器的溢出校准和实时读取 626 应用举例,62 MCS-51的定时器/计数器,63 MCS-51串行I/O口及串行通信,631 串行通信基础知识,一、并行通信与串行通信,二、异步通信和同

7、步通信,三、串行通信的制式,8051单片机内部有四个8位并行I/O口: P0、P1、P2和P3 P0P3这4个并行I/O口都可以作准双向通用I/O口 P0、P2和P3口还有复用的第二功能 每个口都包含: 一个(8位)锁存器(即特殊功能寄存器P0P3) 一个输出驱动器 和两个三态缓冲器,6.1 MCS-51内部的并行I/O口及应用,6.1.1 P0口,功能: 控制=0: P0口可作通用I/O口,是漏级开路的。因此必须外接上拉电阻,以保证“1”信号正常输出。 控制=1: P0口分时作为地址/数据总线使用。 内部结构:如图所示,当外部扩展存储器或I/O口时,由EA、PC指针从外部程序存储器取指令码、

8、执行指令MOVC、MOVX时,控制信号=1,使MUX与反向器3连通,作分时地址/数据总线。,6.1.2 P1口,功能: P1口作通用I/O口 P1口也是一个“准双向”口,作输入口时要先将输出驱动管截止。 即先执行一条指令 MOV P1,#0FFH 内部结构:如图所示,6.1.3 P2口,功能: 控制=0: P2口用作通用I/O口 与P1口类似 控制=1: P2口用作高8位地址总线 内部结构: 如图所示,6.1.4 P3口,615 MCS-51内部并行I/O口的应用,“读锁存器”和“读引脚”的指令,P0、P2、P3口复用作片外扩展系统的系统总线,输入/输出,一、“读锁存器”和“读引脚”的指令 1

9、“读锁存器”的指令 P0P3作目的操作数的指令,能实现“读修改写”口锁存器的操作,这类指令有: (1)字节操作指令 (2) 位操作指令 ANL Px, JBC PX.Y,rel ORL Px, CPL PX.Y XRL Px, CLR PX.Y DEC Px SETB PX.Y DJNZ Px , rel MOV PX.Y,C INC Px 其中:X是口的序号03,Y是位的序号07,P0P3编程和使用的方法,2 “读引脚”的指令 “读引脚”指令的特点是:P0P3 作为源操作数出现在指令中,但在读引脚数据之前,必须对所读的口或口位的D锁存器写入“1” . 要正确读引脚数据,必须先写一条MOV P

10、X,#0FFH指令或能对所读的口或口位的D锁存器写入“1”的指令,而后紧接着写下面的指令 : (1) 字节操作指令 MOV A,Px ANL A,PX MOV direct,Px ORL A,PX XCH A,PX XRL A,PX PUSH PX ANL direct,PX ADD A,PX ORL direct,PX ADDC A,PX XRL direct,PX SUBB A,PX,引脚信号,(2)位操作指令 同理,必须先写一条SETB PX.Y或能对所读口位的D锁存器写入“1”的指令,在其后再紧跟如下指令。 MOV C, PX.Y ANL C,PX.Y ORL C,PX.Y JNB P

11、X.Y,rel JB PX.Y,rel,P0、P2、P3口复用作片外扩展系统的系统总线,无条件输入/输出程序 查询输入/输出程序 中断输入/输出程序,三、直接输入/输出,例6-1 简单开关量的输入/输出,1) P1.7P1.4并行输出程序 通过驱动P1.7P1.4输出,使LED3LED0巡回显示,程序如下: ORG 0000H MAIN1:MOV SP,#6FH MOV A,#0FFH MOV P1,A ANL A,#0EFH LOOP: MOV P1,A ;P1.4=0 ACALL DLY RL A JB ACC.0, LOOP MOV A,#0EFH SJMP LOOP,;延时子程序 DL

12、Y: MOV R6,#0FH DLY1: MOV R5,#0FFH DLY2: MOV R4,#0FFH DLY3: DJNZ R4,DLY3 DJNZ R5,DLY2 DJNZ R6,DLY1 RET END,LED “0”亮 “1”灭,(2) 查询输入/输出程序 读入P3.0引脚上的开关K4的预置状态,若P3.0=1,则驱动P1.7输出使LED3闪亮一段时间;否则,查询等待。参考程序如下: ORG 0200H MAIN3: MOV SP,#60H SETB P1.7 WAIT: JNB P3.0,WAIT MOV R7,#0FH LOOP: CPL P1.7 ACALL DLY DJNZ

13、R7,LOOP SJMP WAIT END,621 定时器/计数器的组成 622 定时器/计数器的控制 6. 2. 3 定时器的四种工作方式 624 T/C的初始化 625 定时器/计数器的溢出校准和实时读取 626 应用举例,62 MCS-51的定时器/计数器,62 MCS-51的定时器/计数器,在单片机实时应用系统中,需要定时和对外部事件计数的功能 。 定时:对周期已知的脉冲信号计数 计数:对外部事件计数,对周期未知的外来脉冲信号计数 定时方法: 采用软件延时占用CPU的时间,降低了CPU的使用效率; 定时或计数方法: 采用专门的硬件电路,参数调节不便; 采用可编程的定时器/计数器是最好的

14、方法。 可以方便灵活地修改定时或计数的参数或方式 与CPU并行工作,大大提高了CPU的工作效,6.2.1 定时器/计数器的组成 Timer/ Counter,MCS-51单片机内部有二个16位的可编程的定时器/计数器: 定时器/计数器0(T/C0) 定时器/计数器1(T/C1) 它们都有定时和对外部事件计数的功能,可用于定时控制、延时、对外部事件检测和计数等场合.,T/C0和T/C1的结构及与CPU的关系如图6-3所示。,结构组成: T/C0由两个8位的TH0(8CH)和TL0(8AH)组成 T/C1由TH1(8DH)和TL1(8BH)组成 软件设置: 计数初值: 对TH1、TL1 、TH0、

15、和TL0的初始化编程 工作方式: 通过TMOD和 TCON对每个T/C设置定时或计数 特殊功能寄存器 TMOD(Timer Mode Register) TCON(Timer Control Register ) THx 存放计数初值的高8位 TLx 存放计数初值的低8位,定时器/计数器(T/C0和T/C1)的组成,T/C0和T/C1都是16位的加1计数器,方式0,方式1,方式2,方式3,TH0,TL0,T/C1,TH1,TL1,T/C0,方式3 串行口 波特率发生器,共同点:都是通过计数器计脉冲的个数来实现的,定时方式与计数方式的主要区别,1、定时方式 T/C计数8051内部机器周期信号的个数 ,由计数个数可以计算出定时时间 。 每个机器周期使T/C的计数器增加1,直至计满回零后自动产生溢出中断请求,表示定时时间到 。 f=12MHz, 一个机器周期是1 s,2、 计数方式 T/C计数来自引

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

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

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