1 / 5
文档名称:

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

格式:doc   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:xxj16588 2016/6/5 文件大小:0 KB

下载得到文件列表

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

文档介绍

文档介绍:单片机原理及应用实验报告实验五定时器/ 计数器应用实验一、实验目的 1、学****8051 内部定时器/计数器的使用方法和编程方法 2、掌握定时器 0作为中断源时的中断处理程序的编程方法二、实验原理 8051 单片机内部有两个 16为可编程定时器/计数器:T0和T1。16为是指它们都是有 16个触发器构成,故最大计数模值为 2 16-1。可编程是指它们的工作方式由指令来设定,或者当计数器用,或者当定时器用,并且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器 TMOD 来完成的。工作在定时方式时,时钟由单片机内部提供,即系统时钟经过 12 分频后作为定时器的时钟;工作在计数方式时,时钟脉冲(计数脉冲)由T0和T1(即P3. 4 )输入。定时器在计到规定的定时值时可以向 CPU 发出中断申请,从而完成某种定时的控制功能。定时器控制寄存器 TCON 用来负责定时器的启动、停止以及中断管理。程序一: 定时器/ 计数器 0 按定时模式和方式 2 工作,产生周期为 1 秒的方波, 方波由P1. 0口输出。此程序用中断方式。弄清IE寄存器的作用及矢量地址000B H 的含义。 1 、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是 12 个振荡器周期。因为实验系统的晶振是 6MHZ ,本程序工作于方式 2,即8 位自动重装方式定时器, 定时器 100 US 中断一次, 所以定时常数的设置可按以下方法计算: 机器周期=12 ÷6MHZ=2US (256- 定时常数) ×2US=100 US 定时常数=206. 然后对 100 US中断次数计数 10000 次,就是 1秒钟。 2 、在中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 3、实验电路及连线 4、实验框图 5、汇编语言源程序: TICK EQU 10000 ; 10000 X 100US = 1S T100US EQU 256-50 ; 100US 时间常数(6M) C100US EQU 30H ; 100US 记数单元 LEDBUF EQU 0 LED EQU LJMP 000BH ; 中断程序入口 T0INT: PUSH PSW MOV A, C100US+1 JNZ GOON DEC C100US GOON: DEC C100US+1 MOV A, C100US ORL A, C100US+1 Y 主程序框图定时中断子程序框图开始置 T0 中断工作方式设置定时常数设置初始状态位设置秒计数值定时中断入口保护现场秒计数值减 1 重新设置秒计数值状态位取反恢复现场中断返回是否到 1秒是否中断允许输出状态位等待中断连线连接孔 1 连接孔 2 1 L0 JNZ EXIT ; C100US 记数器不为 0, 返回 MOV C100US, #HIGH(TICK) MOV C100US+1, #LOW(TICK) CPL LEDBUF ; C100US 记数器为 0, 重置记数器; 取反 LED EXIT: POP PSW RETI START: ; 主程序入口 MOV TMOD, #02H ; 方式 2, 定时器 0 MOV TH0, #T100US ; 计算 T/