单片机定时概念PPT讲稿.ppt
《单片机定时概念PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《单片机定时概念PPT讲稿.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机定时概念第1页,共47页,编辑于2022年,星期五l上图为定时器结构框图l80C51单片机内部有两个定时/计数器T0和T1,其核心是计数器,基本功能是加1(加1计数)。l对外部事件脉冲(下降沿)计数,是计数器;对片内机器脉冲计数,是定时器。l计数器由二个8位计数器组成。第2页,共47页,编辑于2022年,星期五 定时时间和计数值可以编程设定,其方法是在计数器内设置一个初值,然后加1计满后溢出。调整计数器初值,可调整从初值到计满溢出的数值,即调整了定时时间和计数值。定时/计数器作为计数器时,外部事件脉冲必须从规定的引脚输入。定时器均采用加一定时定时器均采用加一定时l2 2、定时定时/计数器
2、的控制寄存器计数器的控制寄存器lTMODTMOD:设定定时器设定定时器/计数器计数器T0T0、T1T1的工作模式和的工作模式和 l 工作方式。工作方式。lTCONTCON:控制控制T0T0、T1T1的启动和停止计数,同时包的启动和停止计数,同时包l 含了含了T0T0、T1T1的状态,即各定时计数器是的状态,即各定时计数器是l 否计数时间到(即是否需要服务)。否计数时间到(即是否需要服务)。第3页,共47页,编辑于2022年,星期五lTCON低4位与外中断INT有关,已在中断中叙述。l 高4位与定时/计数器T0、T1有关。lTF1:定时/计数器T1溢出标志。l TF0:定时/计数器T0溢出标志。
3、lTR1:定时/计数器T1运行控制位。l TR1=1,T1运行;TR1=0,T1停。l TR0:定时/计数器T0运行控制位。l TR0=1,T0运行;TR0=0,T0停。第4页,共47页,编辑于2022年,星期五2、定时/计数器工作方式控制寄存器TMODTMOD用于设定定时/计数器的工作方式低4位用于控制T0,高4位用于控制T1。l M1M0 工作方式选择位第5页,共47页,编辑于2022年,星期五l C/T 计数/定时方式选择位l C/T=1,计数工作方式,对外部事件脉冲计数,用作计数器。l C/T=0,定时工作方式,对片内机周脉冲计数,用作定时器。l GATE 门控位,见下图l GATE=
4、0,运行只受TCON中运行控制位TR0/TR1的控制。l GATE=1,运行同时受TR0/TR1和外中断输入信号的双重控制。l 只有当INT0/INT1=1且TR0/TR1=1,T0/T1才能运行。l 当GATE=1且 TR0/TR1=1时,用做对INT0/INT1输入脉冲高l 电平长度的测量lTMOD字节地址字节地址89H,不能位操作不能位操作,设置设置TMOD须用字节操作指令。须用字节操作指令。第6页,共47页,编辑于2022年,星期五3、定时/计数器工作方式l(1)工作方式0 13位计数器,由TL0低5位和TH0 8位组成,TL0低5位计数满时不向TL0第6位进位,而是向TH0进位,13
5、位计满溢出,TF0置“1”。最大计数值213=8192。l所有工作方式0计数都可以用方式1代替,因此,方式0比较少用l(2)工作方式1:16位定时计数器 第7页,共47页,编辑于2022年,星期五 THx/TLxTHx/TLx赋初值:赋初值:THxTHx赋高赋高8 8位,位,TLxTLx赋低赋低8 8位位工作方式工作方式1 1 的编程要点:的编程要点:TMODTMOD选方式:选方式:写写“M1,M0M1,M0”=01 b =01 b 选方式选方式1 1 若不用门控位若不用门控位,直接用软件写直接用软件写TRxTRx控制启控制启/停停 若使用门控位,先置位若使用门控位,先置位TRxTRx,然后由
6、,然后由INTxINTx端端 的高的高/低电平来控制其启低电平来控制其启/停停第8页,共47页,编辑于2022年,星期五 定时器(方式1)应用程序举例:分析分析:已知:已知foscfosc =6MHz=6MHz 则:则:(振荡周期)(振荡周期)1Tc=1/6MHz1Tc=1/6MHz (机器周期)(机器周期)1Tm=12Tc=12/6MHz=21Tm=12Tc=12/6MHz=2 S S 粗略地说:粗略地说:Tmin Tmin 2 2 S S 16 16位定时器最大数值为:位定时器最大数值为:2 21616=65536=0FFFFH+1=65536=0FFFFH+1 故选择方式故选择方式 1
7、1 工作可以得到:工作可以得到:Tmax=65536Tmax=65536 2=1310722=131072 S S131.072mS131.072mS若晶振频率为若晶振频率为6MHz6MHz,计算单片机的最小与最大定时时间:,计算单片机的最小与最大定时时间:第9页,共47页,编辑于2022年,星期五分析分析:已知:已知foscfosc =6MHz=6MHz 则:则:(机器周期)(机器周期)1Tm=12Tc=12/6MHz=21Tm=12Tc=12/6MHz=2 S S 100mS2 100mS2 S=50000S=50000 16 16位定时器最大数值为:位定时器最大数值为:2 216 16=
8、65536(=0FFFFH+1)=65536(=0FFFFH+1)故选择方式故选择方式1 1工作可以满足要求。工作可以满足要求。计算初值计算初值:655366553650000=15536=3CB0H50000=15536=3CB0H要求对要求对T0T0产生产生100mS100mS定时进行初始化。定时进行初始化。(晶振晶振=6MHz)=6MHz)第10页,共47页,编辑于2022年,星期五GATE C/T M1 M0 GATE C/T M1 M0由分析得知:由分析得知:T0T0选择方式选择方式1 1,初值,初值=3CB0H=3CB0H X X X X 0 0 X X X X 0 0 0 10
9、1初始化:初始化:MOV TMODMOV TMOD,#01H ;#01H ;选选 T0 T0 方式方式 1 1 MOV TH0 MOV TH0,#3CH ;#3CH ;赋初值高赋初值高8 8位位 MOV TL0MOV TL0,#0B0H;#0B0H;赋初值低赋初值低8 8位位 若需要定时器若需要定时器0 0产生中断还应当写如下语句:产生中断还应当写如下语句:SETB ET0 ;SETB ET0 ;开开T0T0中断允许中断允许 SETB EA ;SETB EA ;开总中断允许开总中断允许 SETB TR0 ;SETB TR0 ;启动启动 T0T0定时定时以及相应的中断服务程序。以及相应的中断服务
10、程序。第11页,共47页,编辑于2022年,星期五(3)工作方式)工作方式2:8 位自动重装的定时位自动重装的定时/计数器计数器 THx/TLx THx/TLx赋相同初值(赋相同初值(X=0X=0或或1 1)在在TLxTLx计数达到计数达到0FFH 0FFH 再加再加“1 1”时,时,TL0TL0 将溢出将溢出,“TFxTFx”位置位置1 1,提出中断请求并,提出中断请求并 使使THxTHx中的值自动重装中的值自动重装(Copy)(Copy)进进TLxTLx第12页,共47页,编辑于2022年,星期五 TMOD寄存器选方式:寄存器选方式:写写“M1,M0”=10 b 选中方式选中方式2分析:分
11、析:foscfosc =6MHz=6MHz 1 1机器周期机器周期 =2=2 S S 1KHz 1KHz方波周期方波周期 =1 mS=1 mS 半个方波周期半个方波周期 =500=500 S S 500uS2 uS=250 500uS2 uS=250 若选择方式若选择方式2 2 工作工作,8,8位定位定时器最大数值为:时器最大数值为:2 28 8=256=0FFH+1 =256=0FFH+1 可以满足要求。可以满足要求。计算初值:计算初值:256256250=6250=6从从P1.0 P1.0 脚输出频率脚输出频率=1KHz=1KHz方波。方波。设:晶振设:晶振=6MHz=6MHz。利用。利用
12、T1T1定时中断。定时中断。定时器(方式2)应用程序举例:第13页,共47页,编辑于2022年,星期五l所以初始化程序为:l MOV TMOD,#20Hl MOV TH0,#6l MOV TL0,#6l SETB ET1l SETB EAl SETB TR1 l 第14页,共47页,编辑于2022年,星期五4、定时/计数器的应用l1、计算定时/计数初值l80C51定时/计数初值计算公式:l定时时间计数周期数机器周期长度l =(n初值N)fl初值n(时间t f)l其中:n与工作方式有关:方式0时,n=13;l 方式1时,n=16;l 方式2、3时,n=8。l机器周期与主振频率有关:l机器周期=1
13、2/fosc,f=12MHZ时,1机周=1S;l f=6MHZ 时,1机周=2S。第15页,共47页,编辑于2022年,星期五【例例1】已知晶振6MHz,要求定时0.5ms,试分别求出T0工作于方式1、方式2时的定时初值。l解:l 工作方式1:l T0初值=216-500s/2sl =65536250=65286=0FF06Hl TH0=0FFH;TL0=06H。l 工作方式2:l T0初值=28-500s/2s=256-250=6l TH0=06H;TL0=06H。第16页,共47页,编辑于2022年,星期五定时器定时器/计数器的编程和应用计数器的编程和应用 l采用中断的定时初始化过程:l(
14、1)设置中断寄存器(tmod寄存器,开中断、优先级、启动计数),以及定时初值的写入。l(2)定时时间计数周期数机器周期长度l =(n初值N)fl初值n(时间t f)l(3)对于较长时间的定时,可以采用与循环程序相结合进行设计l 采用中断方式,定时时间到在执行中断服务后返回的 l 时候会将tf0或tf1清零。第17页,共47页,编辑于2022年,星期五l例5-1 假设系统时钟频率采用6MHz,要在P1.0上输出一个周期为2ms的方波,如图所示。第18页,共47页,编辑于2022年,星期五(1)计算初值X 设初值为X,则有:延时时间为1ms,相当于500个机器周期长度,因此可以采用方式1,计数初始
15、值为 X=216-500=65036 X化为16进制,即X=0FE0CH=11111110,00001100B。所以,T0的初值为:TH0=0FEH TL0=0CHl因此可以用定时器0,选择工作方式1,每定时中断一次,执行一次P1.0的取反操作。l 由于方式由于方式1 1不能循环计数,因此,每执行一次中断还要不能循环计数,因此,每执行一次中断还要重装初期进行计数。重装初期进行计数。第19页,共47页,编辑于2022年,星期五(2)(2)初始化程序设计:初始化程序设计:对寄存器对寄存器IPIP、IEIE、TCONTCON、TMODTMOD的相应位进行的相应位进行正确设置,将计数初值送入定时器中。
16、正确设置,将计数初值送入定时器中。(3)(3)程序设计程序设计 ORG 0000HORG 0000HRESET:LJMP MAIN RESET:LJMP MAIN ;转主程序;转主程序 ORG 000BHORG 000BH ;T0T0的中断入口的中断入口 LJMP IT0PLJMP IT0P ;转;转T0T0中断处理程序中断处理程序IT0PIT0P ORG 0100HORG 0100HMAIN:MOV SP,#60H MAIN:MOV SP,#60H ;设堆栈指针;设堆栈指针 MOV TMOD,#01HMOV TMOD,#01H ;设置;设置T0T0为方式为方式1 1 MOV TL0,#0CH
17、 MOV TL0,#0CH;T0T0中断服务程序,中断服务程序,T0T0重新置初值重新置初值 MOV TH0,#0FEH MOV TH0,#0FEH SETB ET0 SETB ET0 ;允许;允许T0T0中断中断 SETB EA SETB EA ;CPUCPU开中断开中断 SETB TR0SETB TR0 ;启动;启动T0T0 SJMP$SJMP$第20页,共47页,编辑于2022年,星期五ITOP:MOV TL0,#0CH;T0中断服务子程序,T0置初值 MOV TH0,#0FEH CPL P1.0 ;P1.0的状态取反 RETI END第21页,共47页,编辑于2022年,星期五例例6-
18、26-2 假设假设系统时钟为系统时钟为6MHz6MHz,编写定时器,编写定时器T0T0产生产生1 1秒定时秒定时的程序。的程序。l(1 1)T0T0工作方式的确定工作方式的确定定时时间较长,采用哪一种工作方式?定时时间较长,采用哪一种工作方式?由各种工作方式的特性,可计算出:由各种工作方式的特性,可计算出:方式方式0 0最长可定时最长可定时16.384ms16.384ms;方式方式1 1最长可定时最长可定时131.072ms131.072ms;方式方式2 2最长可定时最长可定时512512 s s。选方式选方式1 1,每隔,每隔100ms100ms中断一次,中断中断一次,中断1010次为次为1
19、s1s。(2 2)计算计数初值)计算计数初值 因为:因为:100ms=50000100ms=50000个机器周期个机器周期 所以:所以:X=65536-50000=15536=3CB0HX=65536-50000=15536=3CB0H 因此:因此:TH0=3CHTH0=3CH,TL0=B0H TL0=B0H 第22页,共47页,编辑于2022年,星期五(3 3)1010次计数的实现次计数的实现 采用循环程序法。采用循环程序法。(4 4)参考程序参考程序 :ORG 0000HORG 0000HRESETRESET:LJMP MAIN LJMP MAIN ;上电,转主程序入口;上电,转主程序入口
20、MAINMAIN ORG 000BHORG 000BH ;T0T0的中断入口的中断入口 LJMP IT0PLJMP IT0P;转;转T0T0中断处理程序中断处理程序IT0PIT0P ORG 1000HORG 1000H MAIN MAIN:MOV SP,#60HMOV SP,#60H ;设堆栈指针;设堆栈指针 MOV R1,#0AH MOV R1,#0AH ;设循环次数;设循环次数1010次次 MOV TMOD,#01H MOV TMOD,#01H ;设;设T0T0工作在方式工作在方式1 1 MOV TL0,#0B0H MOV TL0,#0B0H ;给;给T0T0设初值设初值 MOV TH0,
21、#3CHMOV TH0,#3CH 第23页,共47页,编辑于2022年,星期五 SETB ET0 SETB ET0 ;允许;允许T0T0中断中断 SETB EA SETB EA ;CPUCPU开放中断开放中断 SETB TR0 SETB TR0 ;启动;启动T0T0 HERE HERE:SJMP HERE SJMP HERE ;等待中断;等待中断 ITOPITOP:MOV TL0,#0B0H MOV TL0,#0B0H;T0T0中断子程序,重装初值中断子程序,重装初值 MOV TH0,#3CH MOV TH0,#3CH ;DJNZ R1DJNZ R1,LOOPLOOP CLR TR0 CLR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 定时 概念 PPT 讲稿
限制150内