大学单片机原理与应用-胡辉-PPT文稿资料课件PPT
收藏
资源目录
压缩包内文档预览:
编号:21836274
类型:共享资源
大小:17.22MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
单片机
原理
应用
利用
运用
胡辉
ppt
文稿
资料
课件
- 资源描述:
-
大学单片机原理与应用-胡辉-PPT文稿资料课件PPT,大学,单片机,原理,应用,利用,运用,胡辉,ppt,文稿,资料,课件
- 内容简介:
-
第6章单片机的定时/计数器6.1 定时器/计数器6.1.1 定时器/计数器的结构一、定时/计数器的定时和计数功能 在TMOD中,各有一个控制位(CT),分别用于控制定时/计数器T0和T1是工作在定时器方式还是计数器方式。1. 定时功能-计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加1。所以,计数频率是振荡频率的1/12。2. 计数功能-计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。6.1.2 定时器/计数器的控制寄存器 与定时器计数器有关的控制寄存器有:1定时器控制寄存器TCON中断请求标志触发方式选择启动定时/计数器0 低电平1 下降沿0 停止1 启动2工作方式控制寄存器TMOD T1控制T0控制GATE门控位M1 M0工作方式选择计数脉冲输入6.1.3 定时器/计数器的工作方式 定时器计数器共有四种工作方式 1. 方式013位方式 13位计数器定时器计数器定时时间为:t =(213T0初值)机器周期2. 方式116位方式定时时间为:t =(216T0初值)机器周期3. 方式28位自动装入时间常数方式定时时间为:t =(28T0初值)机器周期4. 方式32个8位方式 仅T0可以工作在方式3此时T0分成2个独立的计数器TL0和TH0 ,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。6.2 定时器/计数器的应用 可编程器件在使用前需要进行初始化: 确定TMOD控制字:编程时将控制字送TMOD; 计算计数器的计数初值: 编程时将计数初值送THi、 TLi; 开中断(如果使用中断方式): 编程实置位EA、ETi TRi位置位控制定时器的启动和停止。6.2.1 定时器方式0的应用 1定时时间常数的计算定时时间t =(MX)Tosc其中M可取值为213、216、28,Tosc为机器周期。计数器初值X=Mt / Tosc例如:单片机采用12M晶振,定时器工作在方式0,定时时间为5ms,那么TH0及TL0的设置如下:X=81925000/1=3192=C78H=110001111000其中:TL0取低5位,其余位为TH0,那么TH0 =63H; TL0 =18H。2TMOD寄存器初始化为了把定时器/计数器0设定为方式0,则M1M0=00;为实现定时功能,应使=0;为实现定时器/计数器0的运行控制,则GATE=0,定时器/计数器1不用,有关位设定为0,因此TMOD寄存器应初始化为00H。由定时器控制寄存器TCON中的TR0位控制定时的启动和停止,TR0=1启动,TR0=0停止。【例6-1】利用单片机的定时器实现5ms的定时,软件延时1s,使图6-6所示的电路图中的发光二极管实现1s钟的闪烁。 软件如下:ORG0000H AJMPMAIN ORG000BH;定时器T0中断服务程序入口地址 AJMPIT0 ORG0030HMAIN:MOVSP,#70HMOVTMOD,#00H;设置定时器方式0MOVIE,#82H;设置中断控制寄存器MOVR2,#0C8H;软件延时时间 ;1s=2005msSETBP1.0;使发光二极管灭MOVTH0,#63H;置定时器时间常数MOVTL0,#18HSETBTR0;启动定时器T0LOOP:AJMPLOOPIT0:CLRTR0;中断服务程序开始,关闭定时器DJNZR2,YAS1;判断1s到吗?MOVR2,#0C8H;1s到,重新置软件延时常数CPLP1.0;P1.0取反,实现闪烁YAS1:MOVTH0,#63H;重新启动定时器MOVTL0,#18HSETBTR0RETI;中断服务程序返回END6.2.2 定时器方式1的应用例题:设晶振频率fOSC=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。试以中断方式实现。1. TMOD确定T1控制T0控制控制字10H 要产生500s 的方波脉冲,只需在P1.0端以250s为间隔,交替输出高低电平即可实现。为此,定时间应为250s 。使用6z晶振,则一个机器周期为2s,设待求计数初值为,则:2.计算计数器的计数初值(216X)210 -6 =25010 -6 即216X=125 X216-125=65536-125=65411=(10000H-7DH) =1111111110000011 0FF83HTH1=0FFH,TL1=83H3. 采用中断方式:编程时打开全局和局部中断。4.由定时器控制寄存器TCON中的TR1位控制定时器的启动和停止。 TR11,启动; TR10,停止。 程序设计 ORG 0000H LJMP MAIN ;主程序入口 ORG 001BH LJMP INTT1 ;T1中断入口INTT1: MOV TH1,#0FFH ;重新设置初值 MOV TL1,#83H CPL P1.0 ;输出取反 RETI ORG 1000HMAIN:MOV TMOD, #10H ;T1为方式1 MOV TH1, #0FFH MOV TL1,#83H ;初值 SETB EA ;允许中断 SETB ET1 SETB TR1 ;启动定时 SJMP $ ;等待中断主程序中断处理程序例题2:设晶振频率fOSC=6MHz,分别讨论各种工作方式下最长定时时间。解:1.由fOSC=6MHz可知,MC=2us;2.由于是加1计数,所以最长定时应是计数初值最小时(即为0时)的定时时间。所以此时有:方式0: (2130)2us= 214us=16384us=16.384ms方式1: (2160)2us= 217us=131.072ms方式2、3 (280)2us= 29us=0.512ms注意:以上是当fOSC=6MHz,即MC=2us时各种方式下的定时时间,若fOSC=12MHz,则最长定时时间将缩短一半。6.2.3 外部脉冲宽度的测量寄存器TMOD的GATE位为1时,定时/计数的启动和关闭受外部中断信号的控制。当外部信号上出现高电平时,启动定时器,T0开始对机器周期进行计数,直到上出现低电平时,T0停止计数,读出T0的计数值,即可算出时间(脉冲的宽度) 【例6-3】电路如图6-7所示,在引脚输入一个脉冲,采用查询方式,测量这个脉冲的高电平的宽度。 程序如下: ORG0000H AJMPMAIN ORG0030HMAIN:MOVSP,#70HMOVTMOD,#09H;设置定时器0为方式1,;GATE置1MOVTH0,#00H;定时器时间常数清0MOVTL0,#00HLOOP1:JBP3.2,LOOP1;起始准备SETBTR0;启动T0,但并未计数LOOP2:JNBP3.2,LOOP2;正脉冲到,开始计数LOOP3:JBP3.2,LOOP3;负脉冲到? CLRTR0;停止计数MOVA,TL0;计数器低8位送R2保存MOVR2,AMOVA,TH0MOVR3,A;计数器高8位送R3保存LJMPMAINEND6.2.4 单片机内部软件看门狗的应用用一个定时器来做软件看门狗(WATCHDOG),将它的溢出中断设定为最高优先级中断,系统的其它中断均设为低优先级中断,软件看门狗启动后,系统工作程序必须经常重新设置定时器的时间常数,且每两次设置之间的间隔不得大于定时器的定时时间。 【例6-4】当程序陷入死循环后,定时器T0溢出,产生高优先级中断,从而跳出死循环。用软件的方法使系统复位。程序如下ORG0000HAJMPMAINORG000BHLJMPERRORG0030HMAIN:MOVSP,#60HMOVPSW,#00HMOVSC
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。