版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章定时、中断、串行口系统及应用
第一节定时/计数系统及应用本章要点要点:1、定时器的结构、工作方式、初始化、编程应用2、中断系统的结构、中断的概念、中断的标志、中断优先级、中断响应、中断程序设计3、串行口的结构、串行通信的特点、串行通信的工作方式、波特率的设定难点:1、定时器的工作方式的设定和初始化2、中断响应及中断系统程序设计3、串行口的波特率的设定4.1.18051单片微机定时/计数器结构8051单片微机内部有两个16位可编程的定时/计数器(T0和T1),可用作定时器定时,也可作为计数器记录外部脉冲个数。用指令可以设定其工作方式、定时时间、启动、停止等。T0由TH0和TL0两个8位寄存器组成;T1由TH1和TL1两个8位寄存器组成。T0和T1的工作方式通过8位寄存器TMOD设定;T0和T1的启、停由8位寄存器TCON控制。一、定时/计数器工作原理两种功能:定时计数——记录外脉冲的个数1、定时原理定时器工作前先装入初值,利用送数指令将初值装入TH0和TL0或TH1和TL1,高位数装入TH0和TH1,低位数装入TL0和TL1。
当发出启动命令后,装初值寄存器开始计数,连续加1,每一个机器周期加1一次,加到满值(各位全1)。若再加l则溢出,同时将初值寄存器清零。如果继续计数定时,则需要重新赋初值。一、定时/计数器工作原理分析与定时有关的因数:1、与频率有关:12MHZ一个机器周期1微秒,6MHZ为2微秒。2、与初值有关:3、与定时器的大小有关2、计数原理:——下降沿计数检测一个1至0的跳变需要二个机器周期,所以最高计数频率为振荡频率的1/24。M1、M0两位可组合成4种状态,控制定时器的4种工作方式。每种方式的功能如表4—1所列3.方式选择位M1、M0三、控制及标志寄存器TCON
外部中断0触发方式外部中断0中断标志位外部中断1触发方式选择外部中断1中断标志位定时器T0启、停控制位定时器T0溢出标志位定时器T1启、停控制位定时器T1溢出标志位
TCON是一个八位寄存器。它控制定时器的启、停、溢出、中断等。有些位是控制设置,有些是标志位,各位都有对应地址,故可位寻址。TCON格式如下:8FH8EH8DH8CH8BH8AH89H88H←位地址
TF1TR1TF0TR0IE1IT1IE0IT04.1.2定时器初始化初始化:使用定时器时,必须先利用指令对其进行正确设置,这种设置过程称为初始化。一、定时器初始化的主要内容1.选择工作方式2.给定时器赋初值3.根据需要设置中断控制字4.启动定时器
1.选择工作方式选择工作方式,通过对方式寄存器TMOD进行设置。例如,欲设置T0为定时方式1,TMOD状态应置为:
00000001其状态字为01H。
MOVTMOD,#0lH,把TMOD设置成T0方式l状态。若设置T1为计数方式l,只需C/T=1,M0=l,则用指令MOVTMOD,#50H可达此目的。注意:TMOD不能位寻址GATEC/TM1M0GATEC/TM1M0
例T0初值3CB0H,T1初值00FFH。利用指令:MOVTH0,#3CH;送T0初值MOVTL0,#0B0HMOVTH1,#00H;送T1初值MOVTL1,#0FFH2.给定时器赋初值3.根据需要设置中断控制字对中断允许寄存器IE和优先级寄存器IP设置,详细在中断中介绍赋初值即把初始常数装入TH0、TL0或TH1、TL1二、定时器初值设定方法定时时间和定时器工作方式、初值及时钟周期均有关系,欲设定准确时间,必须会计算定时值。即使同样的时间,工作方式不同,初值则不同;时钟频率不同即使工作方式相同,初值也不同。一般设定初值分几步考虑。1.根据定时长短,选择工作方式因为工作方式不同,溢出一次计数最大值不同。设用M表示最大计数值,则各种方式计数最大值如下:方式0M=213=8192方式lM=216=65536方式2M=28=256方式3M=28=256
原则上:
定时时间长选用16位或13位计数器,即方式0或方式1。
若时间短选8位,即方式2和方式3,
如果需要自动装入初值,只能选择方式2。2.定时初值计算设初值为x,最大计数值为M。初值X与机器周期Tm、定时时间T的关系如下:(M-X)Tm=T①Tm=12个时钟周期=12/foscX=M-T/Tm②因为Tm=12/fosc当fosc=6MHz时,Tm=2μsfosc=12MHz时,Tm=1μs4.1.3定时/计数器应用程序设计一、定时程序设计
例编写用定时器延时1分钟的子程序。设fosc=12MHz。程序如下:
DELAY:MOVR0,#20;送延时1s常数MOVR1,#60;送延时1min常数MOVTMOD,#0lH;T0为方式1,送方式字MOVTH0,#3CH;送初值高字节MOVTL0,#0B0H;送初值低字节SETBTR0;启动T0
LP:JBCTF0LP1;判断溢出标志TF0=l转LP1
SJMPLP;继续查询50ms
LP1:MOVTH0,#3CH
MOVTL0,#0B0H
DJNZR0,LP;R0≠0继续查询
MOVR0,#20;R0=0重装循环常数
DJNZR1,LP;R1≠0继续循环定时
MOVR1,#60
RET;R1=0,1min到返回
无论定时多长,编程方法类似,只是改变定时初值和循环常数而已。
二、计数程序设计定时/计数器作为计数器方式,记录外部输入脉冲个数,外部脉冲每下跳变一次计数器加1。
例
编写每记录100个脉冲,将P1.0取反一次的程序。初值X=28-100=156=9CH最大值脉冲个数
程序MOVTMOD,#60H;T1方式2、计数方式MOVTH1,#9CH;保存备用初值MOVTL1,#9CH;赋初值SETBTR1;启动T1三、脉冲宽度测量程序设计测试过程如下:图4-2门控波形图所示:
脉冲宽度T=计数值×机器周期例测试INT0(P3.2)引脚上输入的外脉冲宽度。已知晶振频率fosc=12MHz。
选择T0方式1,门控方式(GATE=1),计数器从00H开始工作比较方便,计数器中的最后值则是总计数脉冲值。脉宽计算:从R0、R1中读出计数结果(即脉冲数),该值乘以机器周期则为脉冲宽度T。程序
MOVTMOD,#09H;设置T0方式l,门控方式
MOVTH0,#00H;初值为0
MOVTL0,#00H
SETBTR0;T0置1,等待脉冲高电平到才启动
JNBP3.2,$;P3.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家药监局医疗器械技术审评检查大湾区分中心第二批员额制人员公开招聘(2025年)高频重点提升(共500题)附带答案详解
- 国家海洋环境监测中心环境工程室招考2名劳务派遣人员高频重点提升(共500题)附带答案详解
- 四川绵阳市特种设备监督检验所招聘历年高频重点提升(共500题)附带答案详解
- 2024美容连锁店美容仪器设备采购及售后服务合同3篇
- 四川攀枝花市中西医结合医院事业单位招考高频重点提升(共500题)附带答案详解
- 四川内江市市本级部分事业单位招聘工作人员12人历年高频重点提升(共500题)附带答案详解
- 同济大学医学院实验动物中心招考聘用高频重点提升(共500题)附带答案详解
- 参加2025陕西榆林市事业单位历年高频重点提升(共500题)附带答案详解
- 华能新能源股份限公司辽宁分公司2025年招聘高频重点提升(共500题)附带答案详解
- 北京市通州区事业单位公开招聘工作人员172人笔试高频重点提升(共500题)附带答案详解
- 2025届浙江省乐清市知临中学高一数学第一学期期末检测试题含解析
- 四年级数学(上)计算题专项练习及答案汇编
- 课程设计报告课程设计报告书(3篇)
- 行车调度员技能竞赛考试题库及含答案
- 广东省广州市(2024年-2025年小学四年级语文)人教版期末考试(上学期)试卷及答案
- 23-燃气质量检测制度
- 贵州省历年中考语文现代文阅读之非连续性文本阅读13篇(含答案)(2003-2022)
- 《火灾调查 第2版》 课件全套 刘玲 第1-12章 绪论、询问 -火灾物证鉴定
- 2024年上海商学院招考聘用高频考题难、易错点模拟试题(共500题)附带答案详解
- 【房价上涨对我国居民消费的影响实证探究17000字(论文)】
- 南京事业单位笔试真题及答案2024
评论
0/150
提交评论