120 likes | 236 Views
任务 3 :定时 / 计数器的应用. 工作任务 : 定时 / 计数器的应用. 1. 利用定时器 / 计数器 T0 的定时功能,使得 8 个发光二极管每隔 2s 点亮一次,每次只亮一个从 P1.0 ~ P1.7 形成循环。 T0 可工作在定时、方式 1 ,采用中断与查询方式编程, fosc = 6MHz 。电路图如图 (1) 所示: 2. 利用定时器 / 计数器 T1 的计数功能,要求每计满 5 次,将 P1.0 取反。 T1 可工作在计数、方式 2 ,采用中断与查询方式, fosc = 6MHz 。电路图如图 (2) 所示:. 图 (1). 图 (2). 学习内容.
E N D
任务3:定时/计数器的应用 微型计算机控制技术
工作任务 :定时/计数器的应用 1. 利用定时器/计数器T0的定时功能,使得8个发光二极管每隔2s点亮一次,每次只亮一个从P1.0 ~ P1.7形成循环。T0可工作在定时、方式1,采用中断与查询方式编程,fosc = 6MHz。电路图如图(1)所示: 2. 利用定时器/计数器T1的计数功能,要求每计满5次,将P1.0取反。T1可工作在计数、方式2,采用中断与查询方式,fosc = 6MHz。电路图如图(2)所示: 图(1) 图(2) 微型计算机控制技术
学习内容 • 中断系统 • 定时/计数器 • 绘制程序流程图,编写控制程序并完成硬件、软件联调 微型计算机控制技术
一、 80C51中断系统 • (一)中断概述 • 通过计算机与打印机的速度匹配问题引出中断。 • 1、什么叫中断 • CPU暂时中止其正在执行的程序,转去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程序,叫做中断。执行过程如图所示。 • 2、为什么要设置中断 • (1)提高CPU工作效率。 (2)具有实时处理功能。 • (3)具有故障处理功能。 (4)实现分时操作。 • (二)中断源和中断控制寄存器 • 1、中断源 • 中断源是指发出中断请求,引起中断的装置或事件。80C51有5个中断源,其中2个为外部中断源,3个为内部中断源。 • 1)_外部中断0,中断请求信号由P3.2输入,入口地址0003H。 • 2)_外部中断1,中断请求信号由P3.3输入,入口地址0013H。 • 3)T0_定时/计数器0溢出中断,对外部脉冲进行计数由P3.4输入,入口地址000BH。 • 4) T1_定时/计数器1溢出中断,对外部脉冲进行计数由P3.5输入,入口地址001BH。 • 5)串行中断(包括串行接收中断RI和串行发送中断TI), 入口地址0023H。 微型计算机控制技术
2、中断控制寄存器 1)中断请求控制寄存器TCON 88H 2)中断允许控制寄存器IE 98H 3)中断优先级控制寄存器IP B8H 微型计算机控制技术
(三)中断优先级控制 • 首先根据中断优先级判断(可编成),其次再根据中断优先权判断(固定)。中断优先级控制的基本原则为: • (1)高优先级中断可以中断正在响应的低优先级中断。 • (2)同优先级中断不能互相中断。 • (3)同一优先级中断中,若有多个中断源同时请求中断,CPU将响应优先权高的中断,后响应优先权低的中断。 • (四)中断处理过程及初始化 • 中断请求→中断响应→中断服务-中断返回 • 中断处理过程流程图如图所示。 • 1、中断响应条件: • (1)该中断已经“开中”。 • (2)CPU此时没有响应同级或更高级中断。 • (3)当前正处于所执行指令的最后一个机器周期。 • (4)正在执行的指令不是RETI或者是IE、IP指令, • 否则必须再另外执行一条指令后才能响应。 • 2、初始化: • (1)设置堆栈指针 • (2)定义中断优先级 • (3)定义外中断触发方式 • (4)开放中断 • (5)安排好等待中断及中断前的操作。 • 3、中断服务程序包括: • (1)保护现场 • (2)执行中断服务程序主体,完成响应操作 • (3)恢复现场 微型计算机控制技术
二、 80C51定时/计数器 • (一)定时/计数器概述 • 1、定时器:对内部机器周期脉冲进行计数。 • 2、计数器:对外部事件(下降沿)脉冲进行计数。 • 注:外部脉冲的最高频率不能超过时钟频率的1/24。 • (二)定时/计数器的控制寄存器 • 1、定时/计数器控制寄存器TCON 88H • 2、定时/计数器方式控制寄存器TMOD 89H C/ C/ 微型计算机控制技术
三、定时/计数器的工作方式 • 1、方式0:如下图所示,内部计数器为13位,由TL0低5位和TH0 8位组成,TL0低5位计满时不向第6位进位,而是向TH0进位,13位计满溢出,TF0置“1”,最大计数值213=8192(计数器初值为0)。用作定时器时,若fosc=12MHZ时,则最大定时时间为8192us。 微型计算机控制技术
2、方式1:如下图所示,内部计数器为16位,由TL0 8位和TH0 8位组成,TL0 8位计满时向TH0进位,16位计满溢出,TF0置“1”,最大计数值216=65536(计数器初值为0)。用作定时器时,若fosc=12MHZ时,则最大定时时间为65536us。 微型计算机控制技术
3、方式2:如下图所示,内部计数器为8位,仅用TL0 8位计数,8位计满溢出后,一方面进位TF0,使溢出标志TF0=1,另一方面,使原来装在TH0中的初值装入TL0,即具有自动重装初值功能,最大计数值28=256(计数器初值为0)。 • 4、方式3:两个8位计数器,只有T0有此工作方式(略) 微型计算机控制技术
(四)定时/计数器的应用 • 1、计算定时/计数初值 • T初值=2N-定时时间/机周时间 • 方式0时,N=13;方式1时,N=16;方式2、3时,N=8; • 2、定时/计数器初始化 • (1)定义TMOD。 • (2)写入定时/计数初值。 • (3)设置中断系统。 • (4)启动定时/计数器运行。 微型计算机控制技术
三、任务实施 • (一)绘制程序流程图 • (二)编写主程序与中断服务程序 微型计算机控制技术