第11章 可编程定时器计数器
- 格式:ppt
- 大小:1.21 MB
- 文档页数:50


单片机作业
1
定
时
器
计
数
器
的
应
用
探测一班
1011020119
李赛
单片机作业
2
定时器计数器的应用系统设计
一. 系统分析
设计一个简单的单片机应用系统,要求如下:晶振为12MHZ,使用定时器计数器1(T1)作为延时控制,利用I/O端口P0点亮三只灯,三只灯(如P0.0、P0.1、P0.2)交替闪烁,间隔1s。
二. 系统功能框图设计
晶振
单
片
机
P0.0灯
P0.1灯
复位 P0.2灯
定时计数器
三.系统硬件设计
单片机AT89C51 瓷片电容CAP30PF 电阻RES 晶振CRYSTAL
12MHZ 按钮BUTTON
电解电容CAP-ELEC 发光二级管LED-BIBY 发光二级管LED-BIGY 发光二级管LED-BIRG 单片机作业
3
四.系统软件、原理图设计
该系统的原理图如图1所示
图1系统的原理图
五.程序流程图设计 单片机作业
4 开始
定时/计数器初始值设置
P0.0清0、P0.1置1、P0.2置1
启动定时/计数器1
定时/计数器是否延时25ms?
启动定时/计数器重新赋值
是否循环40次(延时1s)?
P0.0、P0.1取反
定时/计数器是否延时25ms?
启动定时/计数器重新赋值
是否循环80次(延时1s)?
P0.1、P0.2取反
N
N 定时/计数器是否延时25ms?
启动定时/计数器重新赋值
是否循环120次(延时1s)?
P0.0、P0.2取反
重新计循环次数
N N N
` N
Y
Y
Y
Y
Y
单片机作业
5 六.系统的程序设计
汇编程序:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#60H ;初始化堆栈
8253可编程定时计数器应用实验
一、 实验要求:
按照电路图连接好电路,利用8253定时计数器0产生500Hz,250Hz,125Hz的方波信号,显示在示波器上;然后用8253定时计数器1制作一个频率计以检测4060和定时计数器0输出方波的频率。
二、 实验目的:
1、 了解如何利用计数器(以4060为例)制作分频器
2、 熟悉8253在系统中的典型接法。
3、 掌握8253的工作方式及应用编程。
三、 实验电路及连线:
输入时钟产生模块Y
NC1GND2OUT3VCC4U318MCLR12QD7QE5QF4QG6QH14QI13QJ15QL1QM2QN3CLKI11CLKO9CLKO10VCC16GND8U254060VCCVCCQNQLQMQJQHQIQGQEQFQD
图1,分频器
4060就是一个纯粹的计数器,当作分频用,QD-DN就是对输入频率的4分频-8192分频,直接接到8253相应的定时器计数器时钟输入端口即可
8253接口模块X
VCCD71D62D53D44D35D26D17CS21RD22WR23A019A120OUT010GATE011CLK09OUT113GATE114CLK115GATE216OUT217CLK218D08VCC24GND12U248253VCC12345678JP11Data(D0-D7)RDWRA1A0CSOUT0OUT2OUT18254_OUT08254_OUT18254_OUT28254_OUT08254_OUT18254_OUT2CLK2CLK0CLK1
图2,定时器计数器
8位数据线和单片机的P0口相连;片选信号CS和P1.0相连;WR/RD分别和单片机相应的WR/RD相连;A0,A1分别和单片机的P3.4、P3.5相连 ;CLK0直接和4060的QD时钟输出相连;OUT0接示波器和CLK1。
第八章 可编程定时器/计数器8253及其应用
第 1 页, 共 19 页 1 第八章 可编程定时器/计数器8253及其应用
【回顾】 可编程芯片的概念,端口的概念。
【本讲重点】 定时与计数的基本概念及其意义,定时/计数器芯片Intel8253的性能概述,内、外部结构及其与CPU的连接。
8.1 定时与计数
1.定时与计数
在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。
2.定时与计数的实现方法
(1) 硬件法
专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。
(2) 软件法
利用一段延时子程序来实现定时操作,特点,无需太多的硬设备,控制比较方便,但在定时期间,CPU不能从事其它工作,降低了机器的利用率。
(3) 软、硬件结合法
即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响CPU的正常工作。
8.2 定时/计数器芯片Intel8253 第八章 可编程定时器/计数器8253及其应用
第 2 页, 共 19 页 2 Intel8253是8086微机系统常用的定时/计数器芯片,它具有定时与计数两大功能。
一、8253的一般性能概述
1.每个8253芯片有3个独立的16位计数器通道;
2.每个计数器通道都可以按照二进制或二—十进制(BCD码)计数;
3.每个计数器的计数速率可以高达2MHz;
4.每个通道有6种工作方式,可以由程序设定和改变;
5.所有的输入、输出电平都与TTL兼容。
ORG 0000H
START: LJMP MAIN
ORG 0100H
MAIN: MOV SP, #2FH
CLR EA
CLR ET1
MOV TMOD, #00010000B
MOV TH1, #0FFH
MOV TL1, #9CH
SETB TR1
LOOP: JNB TF1, LOOP
MOV TH1, #0FFH
MOV TL1, #9CH
CLR TF1
CPL P1.0
LJMP LOOP
END
#include
sbit zhong=P1^1;
void main()
{
IE=0x82;
TMOD=0x02;
TH0=0x88;
TL0=0x88;
TR0=1;
while(1);
}
void T0Isr() interrupt 1
{
zhong=!zhong;
}
ORG 0000H
START: LJMP MAIN
ORG 0100H
MAIN: MOV SP, #2FH
CLR EA
CLR ET0
CLR ET1
MOV TMOD, #00010010B
MOV TH0, #37H
MOV TL0, #37H
MOV TH1, #0FEH
MOV TL1, #0D4H
SETB TR0
LOOP: JNB TF0, LOOP
CPL P1.0
SETB TR1
CLR TF0
CLR TR0
LOOP1: JNB TF1, LOOP1
CPL P1.0
SETB TR0
MOV TH1, #0FEH
MOV TL1, #0D4H
CLR TF1
CLR TR1
LJMP LOOP
END