- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五 8051单片机定时中断实验
一 实验目的:
了解8051系列单片机的定时中断基本工作原理。掌握8051系列单片机定时中断的用法。
二 实验原理:
在上一个实验里我们介绍了8051单片机的外中断应用,本实验要介绍的是定时器中断的应用。
8051系列单片机至少有两个16位的内部定时器/计数器,既可以编程为定时器使用,也可以作为计数器使用。如果是计数内部晶振驱动时钟,它是定时器,如果是计数8051的输入管脚的信号,就是计数器。
MCS-51单片机内部的定时/计数器的结构如图5-1所示,定时器T0特性功能寄存器TL0(低8位)和TH0(高8位)构成,定时器T1由特性功能寄存器TL1(低8位)和TH1(高8位)构成。特殊功能寄存器TMOD控制定时寄存器的工作方式,TCON则用于控制定时器T0和T1的启动和停止计数,同时管理定时器T0和T1的溢出标志等。程序开始时需对TL0、TH0、TL1和TH1进行初始化编程,以定义它们的工作方式和控制T0和T1的计数。
图5-1
TMOD特殊功能寄存器的格式参见下表(表5-1):
D7 D6 D5 D4 D3 D2 D1 D0 GATE C/ M1 M0 GATE C/ M1 M0
表5-1
高4位为定时器/计数器1的控制字,低4位为定时器/计数器0的控制字。其中GATE为门控信号,C/为定时器或计数器的选择,而M1,M0是工作方式选择位。
当M1M0=00时,T/C工作在方式0。方式0为13位的T/C,其计数器由TH的8位和TL的5位构成,计数器的计数值范围是:?1—8192(213),但是启动前可以预置计数初值。当C/为0时,T/C为定时器,计数脉冲为振荡源12分频的信号;当C/为1时,T/C为计数器,对输入端T0或T1输入的脉冲进行计数。计数脉冲加到计数器上与否决定于启动信号。当GATE=0时,TR=1时T/C便启动,当GATE=1时,启动受到TR与的双重控制,即二者同时为高时才启动。当计数满时,TH向高位进位,这时中断溢出标志TF置1,即产生中断请求。而当CPU转向中断服务程序时,TF自动清零。
当M1M0=01时,T/C工作在方式1。方式1和方式0的区别仅在于方式0的计数器位数为13位,而方式1的为16位。
当M1M0=10时,T/C工作在方式2。区别于前面的两种工作方式的是,方式2具有自动重装载的功能。TH和TL作为两个8位的计数器,TH中的8位初值始终保持不变,由TL进行8位计数。在计数溢出时不但会产生中断请求,而且自动将TH中的值加载至TL中,即自动重装载。
当M1M0=11时,T/C工作在方式3。但是这种工作方式只存在于T/C0中,这时TH0与TL0成为两个独立的计数器。只有在T/C1作为串行口的波特率发生器使用,而造成定时器不够用时,T/C0才能工作在方式3。
下面是定时器时间常数计算公式,这个公式在方式 1,即 16 位定时或计数模式可用。
THX=(65536-定时时长[μS]/(机器周期数/时钟频率[MHz])/256;
TLX=(65536-定时时长[μS]/(机器周期数/时钟频率[MHz])%256;
在定时器重装载过程中因为TL1=0可以不写。
三 实验内容:
利用中断方式在LED上输出10HZ方波,系统晶体频率11.059MHz。
四 实验电路图:
图5-2
五 实验方法:
根据如上电路图连接好实验电路。实验板中只要将P1.3与LED1相连。
按照实验要求编写实验程序,建立新工程,保存为TINT。
调试程序。
将keilC51产生的tint.hex文件通过在线下载ISP或商用编程器。
六 参考程序:
1.汇编源程序
ORG 0000H
LJMP MAIN
ORG 001Bh ;定时1中断服务入口地址
LJMP TMR1_INT_SRV
MAIN: LCALL INIT_TMR1
LCALL INIT_TMR1INT
AGAIN: SJMP AGAIN
TMR1_INT_SRV: MOV TH1,#0x4C ;中断服务子程序
CPL P1.3
RETI
INIT_TMR1INT: SETB ET1 ;定时中断初始化
SETB EA ;开中断
RET
INIT_TMR1: MOV TMOD,#0x11 ;初始化定时器
MOV TH1,#0x4C
CLR A
MOV TL1,A
SETB TR1
RET
END
2.C语言源程序
/**************************************
您可能关注的文档
- 宏观经济学(高鸿业版)12章第12章.ppt
- 宋 斌(北方恒利:铸造工艺设计模拟优化CASTsoft在核屏蔽箱体铸钢件的生产应用宋 斌(北方恒利):铸造工艺设计模拟优化CASTsoft在核屏蔽箱体铸钢件的生产应用.doc
- 定点医院几点意见定点医几点意见.ppt
- 完成句子基本句型结构完.doc
- 安全生产知识培训教案安.ppt
- 宜兴安装施工组织设计方 2案 2.doc
- 宜山金和广场季节性施工项施工方案2宜山金和广场季节性施工专项施工方案2.doc
- 宝宝常见疾病的治疗与日保健方法宝宝常见疾病的治疗与日常保健方法.doc
- 宝洁公司的案例分析宝洁司的案例分析.doc
- 宝钢2011年偿债能力析分析.doc
文档评论(0)