单片微机原理 第四章 411定时、中断、串行ppt课件_第1页
单片微机原理 第四章 411定时、中断、串行ppt课件_第2页
单片微机原理 第四章 411定时、中断、串行ppt课件_第3页
单片微机原理 第四章 411定时、中断、串行ppt课件_第4页
单片微机原理 第四章 411定时、中断、串行ppt课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章第四章 定时、中断、串行口系统及运用定时、中断、串行口系统及运用 第一节第一节 定时定时/计数系统及运用计数系统及运用主讲人:吴雪主讲人:吴雪 本章要点 要点: 1、定时器的构造、任务方式、初始化、编程运用 2、中断系统的构造、中断的概念、中断的标志、中断优先级、中断呼应、中断程序设计 3、串行口的构造、串行通讯的特点、串行通讯的任务方式、波特率的设定 难点: 1、定时器的任务方式的设定和初始化 2、中断呼应及中断系统程序设计 3、串行口的波特率的设定4.1.1 8051单片微机定时单片微机定时/计数器构造计数器构造8051单片微机内部有两个16位可编程的定时计数器(T0和T1),可用作

2、定时器定时,也可作为计数器记录外部脉冲个数。 用指令可以设定其任务方式、定时时间、启动、停顿等。 T0由TH0和TL0两个8位存放器组成;T1由TH1和TL1两个8位存放器组成。T0和T1的任务方式经过8位存放器TMOD设定;T0和T1的启、停由8位存放器TCON控制。一、定时一、定时/计数器任务原理计数器任务原理两种功能:两种功能: 定时定时 计数计数记录外脉冲的个数记录外脉冲的个数1、定时原理、定时原理 定时器任务前先装入初值,利用送数指令将初值装定时器任务前先装入初值,利用送数指令将初值装入入TH0和和TL0或或TH1和和TL1,高位数装入,高位数装入TH0和和TH1,低位数装入低位数装

3、入TL0和和TL1。 当发出启动命令后,装初值存放器开场计数,延续当发出启动命令后,装初值存放器开场计数,延续加加1,每一个机器周期加,每一个机器周期加1一次,加到满值一次,加到满值(各位全各位全1)。假设再加假设再加l那么溢出,同时将初值存放器清零。假设继那么溢出,同时将初值存放器清零。假设继续计数定时,那么需求重新赋初值。续计数定时,那么需求重新赋初值。一、定时一、定时/计数器任务原理计数器任务原理分析与定时有关的因数:分析与定时有关的因数:1、与频率有关、与频率有关: 12MHZ 一个机器周期一个机器周期1微秒,微秒,6MHZ为为2微秒。微秒。2、与初值有关:、与初值有关:3、与定时器的

4、大小有关、与定时器的大小有关2、计数原理:、计数原理: 下降沿计数下降沿计数 检测一个检测一个1至至0的跳变需求二个机器的跳变需求二个机器周期,所以最高计数频率为振荡频率的周期,所以最高计数频率为振荡频率的1/24。二、方式存放器二、方式存放器TMOD 89HTMOD各位的功能如下:各位的功能如下:1GATE门控位。门控位。 GATE0,用启动命令启动,用启动命令启动 GATEl,门脉冲控制。可实现由外部控制定时,门脉冲控制。可实现由外部控制定时器的启停器的启停2定时计数方式选择位定时计数方式选择位C/ T C/ T0,T0或或T1为定时方式为定时方式 C/ T1,T0或或T1为计数方式为计数

5、方式GATEC/ T M1M0GATEC/ T M1 M0控制控制T1控制控制T0D7 D6 D5 D4 D3 D2 D1 D0TMOD用来设定定时器任务方式,其格式如下:M1、M0两位可组合成4种形状,控制定时器的4种任务方式。每种方式的功能如表41所列3方式选择位方式选择位M1、M0三、控制及标志存放器三、控制及标志存放器TCON 外部中断0触发方式 外部中断0中断标志位 外部中断1触发方式选择 外部中断1中断标志位 定时器T0启、停控制位 定时器T0溢出标志位 定时器T1启、停控制位 定时器T1溢出标志位 TCON是一个八位存放器。它控制定时器的启、停、溢出、中断等。有些位是控制设置,有

6、些是标志位,各位都有对应地址,故可位寻址。TCON格式如下:8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位地址位地址 TF1TR1 TF0TR0IE1IT1IE0 IT0TCON中各位均是中各位均是“1有效。有效。 利用程序把利用程序把TR1或或TR0置置“l那么启动定时器,否那么那么启动定时器,否那么定时器处于封锁形状。定时器处于封锁形状。当当T1或或T0溢出时,由硬件把溢出时,由硬件把TF1或或TF0置置“1,作为溢出,作为溢出标志,标志,TF1和和TF0那么还可作为中断恳求标志。那么还可作为中断恳求标志。中断位中断位IE1、IT0、IT1、IT0在引见中断时详细阐明。

7、在引见中断时详细阐明。4.1.2 定时器初始化定时器初始化初始化:运用定时器时,必需先利用指令对其进展正确设置,初始化:运用定时器时,必需先利用指令对其进展正确设置,这种设置过程称为初始化。这种设置过程称为初始化。一、定时器初始化的主要内容一、定时器初始化的主要内容1选择任务方式选择任务方式2给定时器赋初值给定时器赋初值3根据需求设置中断控制字根据需求设置中断控制字4启动定时器启动定时器 1选择任务方式选择任务方式 选择任务方式,经过对方式存放器选择任务方式,经过对方式存放器TMOD进展设置。进展设置。 例如,欲设置例如,欲设置T0为定时方式为定时方式1,TMOD形状应置为:形状应置为: 0

8、0 0 0 0 0 0 1其形状字为其形状字为01H。 MOV TMOD,#0lH,把,把TMOD设置成设置成T0方式方式l形状。形状。 假设设置假设设置T1为计数方式为计数方式l,只需,只需C/ T=1,M0l, 那么用指令那么用指令MOV TMOD,#50H可达此目的。可达此目的。 留意:留意:TMOD不能位寻址不能位寻址GATEC/ T M1M0GATEC/ TM1 M0 例 T0初值3CB0H,T1初值00FFH。 利用指令: MOV TH0,#3CH ;送T0初值 MOV TL0, #0B0H MOV TH1,#00H ;送T1初值 MOV TL1,#0FFH2给定时器赋初值给定时器

9、赋初值3根据需求设置中断控制字根据需求设置中断控制字对中断允许存放器对中断允许存放器IE和优先级存放器和优先级存放器IP设置,详细在中设置,详细在中断中引见断中引见赋初值即把初始常数装入赋初值即把初始常数装入TH0、TL0或或TH1、TL14启动定时器启动定时器例例 SETB TR0 ;启动;启动T0 SETB TR1 ;启动;启动T1 设定时器设定时器T1为方式为方式l,初值,初值3CB0H,假设未用中断,初始,假设未用中断,初始化程序如下:化程序如下: MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB TR1二、定时器初值设定方法二、定时器初值设定

10、方法 定时时间和定时器任务方式、初值及时钟周期均有关系,欲设定准确时间,必需会计算定时值。 即使同样的时间,任务方式不同,初值那么不同;时钟频率不同即使任务方式一样,初值也不同。普通设定初值分几步思索。1根据定时长短,选择任务方式根据定时长短,选择任务方式 由于任务方式不同,溢出一次计数最大值不同。设用由于任务方式不同,溢出一次计数最大值不同。设用M表示最大计数值,那么各种方式计数最大值如下:表示最大计数值,那么各种方式计数最大值如下: 方式方式0 M2138192 方式方式l M=21665536 方式方式2 M28256 方式方式3 M28256 原那么上:原那么上:定时时间长选用定时时间

11、长选用16位或位或13位计数器,位计数器,即方式即方式0或方式或方式1。假设时间短选假设时间短选8位,位, 即方式即方式2和方式和方式3,假设需求自动装入初值,只能选择方假设需求自动装入初值,只能选择方式式2。2定时初值计算定时初值计算设初值为设初值为x,最大计数值为,最大计数值为M。初值。初值X与机器周期与机器周期Tm、定时时间定时时间T的关系如下:的关系如下: (M - X)TmT Tm=12个时钟周期个时钟周期12/fosc XM - T/Tm 由于由于 Tm12/fosc 当当fosc6MHz时,时, Tm=2s fosc12MHz时,时, Tm1s 例如:设采用定时器例如:设采用定时

12、器T1,方式,方式l,定时,定时50ms,计算定,计算定时初值。知晶振频率时初值。知晶振频率fosc12MHz 解:解: fosc12MHz Tm1s 定时方式定时方式1时时 M21665536 XM - T/Tm 65536-50000/1 15536 3CB0H 把定时器把定时器T1装入初值装入初值3CB0H,定时器计满溢出一,定时器计满溢出一次的时间就是次的时间就是50MS,假设需求继续定时,应再装入,假设需求继续定时,应再装入初值。初值。溢出信号使溢出信号使TCON存放器中的溢出标志位存放器中的溢出标志位TF1置置“1,称硬件置位。称硬件置位。4.1.3 定时计数器运用程序设计定时计数

13、器运用程序设计一、定时程序设计 例 编写用定时器延时1分钟的子程序。设fosc=12MHz。程序如下: DELAY:MOV R0,#20 ;送延时1s常数 MOV R1,#60 ;送延时1min常数 MOV TMOD,#0lH ;T0为方式1,送方式字 MOV TH0,#3CH ;送初值高字节 MOV TL0,#0B0H ;送初值低字节 SETB TR0 ;启动T0 LP:JBC TF0 LP1 ;判别溢出标志;判别溢出标志TF0l转转LP1 SJMP LP ;继续查询;继续查询50ms LP1:MOV TH0,#3CH MOV TL0,#0B0H DJNZ R0,LP ;R00继续查询继续查

14、询 MOV R0,#20 ;R00重装循环常数重装循环常数 DJNZ R1,LP ; R10继续循环定时继续循环定时 MOV R1,#60 RET ;R1=0,1min到前往到前往 无论定时多长,编程方法类似,只是改动定时初值和循环常无论定时多长,编程方法类似,只是改动定时初值和循环常数而已。数而已。二、计数程序设计二、计数程序设计定时定时/计数器作为计数器方式,记录外部输入脉冲个数,外部脉冲每计数器作为计数器方式,记录外部输入脉冲个数,外部脉冲每下跳变一次计数器加下跳变一次计数器加1。 例例 编写每记录编写每记录100个脉冲,将个脉冲,将P1.0取反一次的程序。取反一次的程序。初值初值 X

15、28 - 100 1569CH 最大值最大值 脉冲个数脉冲个数 程序程序 MOV TMOD,#60H ;T1方式方式2、计数方式、计数方式 MOV TH1,#9CH ;保管备用初值;保管备用初值 MOV TL1,#9CH ;赋初值;赋初值 SETB TR1 ;启动;启动T1LP: JBC TF1,LP1 ;查询;查询T1溢出标志溢出标志 AJMP LP ;TF11转转LP继续查询继续查询LP1:CPL P1.0 ; TF1l时时P10取反取反 AJMP LP ;转;转LP自动循环计数。自动循环计数。 自动装初值的优点:免去用指令重装初值,当溢出自动装初值的优点:免去用指令重装初值,当溢出后,由

16、硬件自动把后,由硬件自动把TH1中备用初值装入中备用初值装入TL1中。这中。这样提高了计数样提高了计数(或定时或定时)精度。精度。三、脉冲宽度丈量程序设计三、脉冲宽度丈量程序设计测试过程如下: 图4-2 门控波形图所示: 脉冲宽度T=计数值机器周期例 测试INT0(P3.2)引脚上输入的外脉冲宽度。知晶振频率fosc=12MHz。 选择T0方式1,门控方式(GATE1),计数器从00H开场任务比较方便,计数器中的最后值那么是总计数脉冲值。脉宽计算:从R0、R1中读出计数结果(即脉冲数),该值乘以机器周期那么为脉冲宽度T 。程序程序 MOV TMOD,#09H ;设置;设置T0方式方式l,门控方式,门控方式 MOV TH0,#00H ;初值为;初值为0 MOV TL0,#00H SETB TR0 ;T0置置1,等待脉冲高电平到才启动,等待脉冲高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论