下载此文档

定时器计数器应用实验.doc


文档分类:通信/电子 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
单片机原理及应用实验报告
实验五定时器/计数器应用实验
一、实验目的
学****8051内部定时器/计数器的使用方法和编程方法
掌握定时器0作为中断源时的中断处理程序的编程方法
二、实验原理
8051单片机内部有两个16为可编程定时器/计数器:T0和T1。16为是指它们都是有16个触发器构成,故最大计数模值为216-1。可编程是指它们的工作方式由指令来设定,或者当计数器用,或者当定时器用,并且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的。工作在定时方式时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时器的时钟;工作在计数方式时,时钟脉冲(计数脉冲)由T0和T1()输入。
定时器在计到规定的定时值时可以向CPU发出中断申请,从而完成某种定时的控制功能。定时器控制寄存器TCON用来负责定时器的启动、停止以及中断管理。
程序一:定时器/计数器0按定时模式和方式2工作,产生周期为1秒的方波,。此程序用中断方式。弄清IE寄存器的作用及矢量地址000BH的含义。
1、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是6MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100US中断一次, 所以定时常数的设置可按以下方法计算:
机器周期=12÷6MHZ=2US
(256-定时常数)×2US=100US
定时常数=206. 然后对100US中断次数计数10000次,就是1秒钟。
2、在中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。
3、实验电路及连线
连线
连接孔1
连接孔2
1

L0
4、实验框图
定时中断入口

开始
置T0中断工作方式
保护现场
设置定时常数
秒计数值减1

设置初始状态位
是否到1秒


重新设置秒计数值
设置秒计数值
Y
中断允许
状态位取反
输出状态位
中断返回
恢复现场
等待中断
主程序框图定时中断子程序框图
5、汇编语言源程序:
TICK EQU 10000 ; 10000 X 100US = 1S
T100US EQU 256-50 ; 100US时间常数(6M)
C100US EQU 30H ; 100US记数单元
LEDBUF EQU 0
LED EQU
LJMP START
ORG 000BH ;中断程序入口
T0INT:
PUSH PSW
MOV A, C100US+1
JNZ GOON
DEC C100US
GOON:
DEC C100US+1
MOV A, C100US
ORL A, C100US+1
JNZ EXIT ; C100US 记数器不为0, 返回
MOV C100US, #HIGH(TICK)
MOV C100US+1, #LOW(TICK)
CPL LEDBUF ; C100US 记数器为0, 重置记数器
; 取反LED
EXIT:
POP PSW
RETI
START:

定时器计数器应用实验 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ipod0b
  • 文件大小60 KB
  • 时间2017-09-03