第二章片内资源课件.ppt
《第二章片内资源课件.ppt》由会员分享,可在线阅读,更多相关《第二章片内资源课件.ppt(152页珍藏版)》请在三一办公上搜索。
1、2023年4月3日8时46分,1,51子系列有2个可编程的定时器计数器:定时器计数器0与定时器计数器1,可由程序选择作为定时器用或作为计数器用,定时时间或计数值也可由程序设定。,每个定时器计数器都具有4种工作方式,可用程序选择。,任一定时器计数器在定时时间到或计数值到时,可由程序安排产生中断请求信号或不产生中断请求信号。,52子系列有3个可编程定时器计数器,增加了定时器计数器2。定时器计数器2有3种工作方式,可用程序选择。,定时器/计数器的主要特性,2023年4月3日8时46分,2,2.4.1 定时器计数器的结构,定时器计数器0、1的结构框图,2023年4月3日8时46分,3,2.4.1 定时
2、器计数器0、1的结构,定时器计数器0、1的结构框图,2023年4月3日8时46分,4,1.16位加法计数器,工作方法:作计数器用时,加法计数器对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数。每输入一个脉冲,加法计数器增加1。加法计数溢出时可向CPU发出中断请求信号,作定时器用时,加法计数器对内部机器周期脉冲 Tcy 计数。,2023年4月3日8时46分,5,2工作方式控制寄存器TMOD,TMOD用来选择定时器计数器0、1的工作方式,低4位用于定时器计数器0,高4位用于定时器计数器1。,定时器计数器0、1的结构框图,2023年4月3日8时46分,6,2工作方式控制寄存器TMOD,(
3、1)定时器计数器功能选择位 C/T:C/T=1为计数器方式,C/T=0为定时器方式。,(2)定时器计数器工作方式选择位M1、M0:定时器计数器4种工作方式的选择由M1、M0的值决定。,T1,T0,TMOD,89H,2023年4月3日8时46分,7,(2)定时器计数器工作方式选择位M1、M0:定时器计数器4种工作方式的选择由M1、M0的值决定。,2023年4月3日8时46分,8,T1,T0,TMOD,89H,例:定时器T1为定时器方式,工作在方式0,非门控方式,定时器T0为计数器方式,工作在方式1,非门控方式,TMOD的值应该设置为多少?,TMOD=00000101B=05H,2023年4月3日
4、8时46分,9,3.定时器计数器控制寄存器TCON,作用:TCON高4位用于控制定时器0、1的运行,低4位用于控制外部中断,与定时器计数器无关。,定时器计数器0、1的结构框图,2023年4月3日8时46分,10,3.定时器计数器控制寄存器TCON,(1)定时器计数器1运行控制位TR1(TCON.6):TR1=1时定时器计数器1工作,TR10则停止工作。TRl由软件置1或清零。,(2)定时器计数器1溢出中断标志TF1(TCON.7)定时器计数器1计数溢出时由硬件自动置TF1=1,在中断允许的条件下,便向CPU发出定时器计数器1的中断请求信号,CPU响应后TFl由硬件自动清零。在中断屏蔽条件下,T
5、F1可作查询测试用。,D7 D6 D5 D4 D3 D2 D1 D0,TCON,88H,2023年4月3日8时46分,11,3.定时器计数器控制寄存器TCON,(3)定时器计数器0运行控制位TR0(TCON.4):TR0=1时定时器计数器0工作,TR00则停止工作。TR0由软件置1或清零。,(4)定时器计数器0溢出中断标志TF0(TCON.5)定时器计数器0计数溢出时由硬件自动置TF0=1,在中断允许的条件下,便向CPU发出定时器计数器0的中断请求信号,CPU响应后TF0由硬件自动清零。在中断屏蔽条件下,TF0可作查询测试用。,D7 D6 D5 D4 D3 D2 D1 D0,TCON,88H,
6、2023年4月3日8时46分,12,定时器计数器1工作方式0结构图,Tcy,2.4.2 定时器计数器的四种工作方式,2023年4月3日8时46分,13,一、定时器计数器0、1 的工作状态选择(C/T),定时器/计数器工作状态选择,Tcy,2.4.3定时器计数器的四种工作方式,2023年4月3日8时46分,14,2023年4月3日8时46分,15,二、定时器计数器0、1 的运行控制,方法:定时器/计数器的运行控制(启动和停止)是由TMOD中的GATE位,TCON中的TRi(i=0或1)位以及从芯片引脚INTi(i=0或1)上引入的外部信号通过上图的逻辑电路实现的。,定时器/计数器1运行控制,S2
7、,2023年4月3日8时46分,16,原理:(1)当定时器1的GATE=0时,定时器1运行控制由TR1的一个条件确定,而TR1可用软件置位或清零,从而可以利用程序控制定时器的启动和停止运行。,定时器/计数器1运行控制,二、定时器计数器0、1 的运行控制,2023年4月3日8时46分,17,二、定时器计数器0、1 的运行控制,原理:(2)当定时器1的GATE=1时,“或”门的输出电平取决于INT1引脚的信号电平,所以“与”门输出的电平决定于TR1和INT1两个条件。,定时器或计数器运行控制,2023年4月3日8时46分,18,三、定时器计数器0、1的4种工作方式,2023年4月3日8时46分,1
8、9,三、定时器计数器0、1的4种工作方式,设置条件:M10、M00 方式0为:13位定时器计数器,TH1是高8位加法计数器,TLl是低5位加法计数器(只用5位,其高3位未用)。,1.工作方式0,定时器计数器1工作方式0结构图,2023年4月3日8时46分,20,1.工作方式0,计数范围:18192,THl、TLl从初值开始加法计数,直至溢出,所以设置的初值不同,定时时间或计数值也不同。,注意:加法计数器TH1溢出后,必须用程序重新对THl、TLl设置初值,否则下一次TH1、TLl将从0开始加法计数。,初值设置范围:08191(0213-1),定时范围:(18192)Tcy,例 已知振荡器振荡频
9、率fosc为12MHz,要求定时器计数器0产生1ms定时,试编写初始化程序。,计数值:8192-X 定时时间:(8192-X)Tcy,2023年4月3日8时46分,21,(2)初始化程序的编写:在C51中加入头文件,然后在主函数 中写如下语句:TH0=0 xE0;定时器/计数器0写入初值 TL0=0 x18;同上 TMOD=0 x00;T0设为定时器、工作方式0 TR0=1;启动定时器/计数器0,TH0=E0H TL0=18H,解:(1)TH0 TL0初值的计算与TMOD方式字的确定:由于Tcy1us,故有 T=(8192-X)Tcy(8192-X)1us=1000us 得 X=71921C1
10、8H=0001 1100 0001 1000B,TMOD=00H,2023年4月3日8时46分,22,2.工作方式1,设置条件:M10、M01 方式1为:16位定时器计数器,TH1是高8位加法计数器,TLl是低8位加法计数器。,定时器计数器1工作方式1结构图,2023年4月3日8时46分,23,2.工作方式1,计数范围:165536,THl、TLl从初值开始加法计数,直至溢出,所以设置的初值不同,定时时间或计数值也不同。,注意:加法计数器TH1溢出后,必须用程序重新对THl、TLl设置初值,否则下一次TH1、TLl将从0开始加法计数。,初值设置范围:065535(0216-1),定时范围:(1
11、65536)Tcy,例 已知振荡器振荡频率fosc为12MHz,要求定时器计数器0产生50ms定时,试编写初始化程序。,计数值:65536-X 定时时间:(65536-X)Tcy,2023年4月3日8时46分,24,(2)初始化程序的编写:在C51中加入头文件,然后在主函数 中写如下语句:TH0=0 x3C;定时器/计数器0写入初值 TL0=0 xB0;同上 TMOD=0 x01;T0设为定时器工作方式1 TR0=1,启动定时器/计数器0,TH0=3CH TL0=B0H,解:(1)TH0 TL0初值的计算与TMOD方式字的确定:由于Tcy1us,故有 T=(65536-x)Tcy(65536-
12、x)1us=50000us 得 X=155363CB0H,TMOD=01H,2023年4月3日8时46分,25,解:方波的周期用定时器T1产生,根据(2n-x)Tcy(216-x)1s=50ms,所以x=65536-50000=15536=3CB0H即TH1=3CH,TL1=B0H 或者通过计算得出TH1=15536/256,TL1=15536%256,已知晶振频率fosc=12MHz,要求定时器1产生100ms的方波信号,定时器1工作于方式1,编写在P2.0引脚上产生100ms的方波程序。,在T1中设置初值为15536,在初值的基础上进行加1计数,每隔50ms计数溢出1次,CPU响应中断后,
13、在中断服务程序中对P2.0引脚信号取反。,2023年4月3日8时46分,26,#include#define uint unsigned intsbit fangbo=P20;void delay(uint z);/延时子程序void main()TMOD=0 x10;/设置T1为定时器模式/,工作在方式1 TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;/开总中断 ET1=1;/允许T1中断 TR1=1;/启动T1 while(1);,void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;
14、y-);void timer1()interrupt 3 TH1=(65536-50000)/256;TL1=(65536-50000)%256;fangbo=fangbo;,2023年4月3日8时46分,27,3.工作方式2,设置条件:M11、M00 方式2为:自动重新装入初值(自动重装载)的8位定时器计数器。TL1作为8位加法计数器使用,TH1作为初值寄存器用。TH1、TL1的初值都由软件预置。,定时器计数器1工作方式2结构图,2023年4月3日8时46分,28,3.工作方式2,计数范围:1256,TLl从初值开始加法计数,溢出时:(1)置位TF1;(2)发出重装载信号,将THl中初值自动
15、送入TLl,使TL1从初值开始重新计数。,注意:重新装入初值后,TH1的内容保持不变。,初值设置范围:0255(028-1),定时范围:(1256)Tcy,工作方式2特别适用于定时控制。例已知振荡器振荡频率fosc为12MHz,要求定时器计数器0要求每隔200us产生一定时控制信号。,计数值:256-X 定时时间:(256-X)Tcy,2023年4月3日8时46分,29,(2)初始化程序:在C51中加入头文件,然后在主函数 中写如下语句:TL0=0 x38;定时器/计数器0写入初值TH0=0 x38;同上TMOD=0 x02;T0设为定时器工作方式2TR0=1;启动定时器/计数器0,TH0=3
16、8H TL0=38H,解:(1)TH0 TL0初值的计算与TMOD方式字的确定:由于Tcy1us,故有 T=(256-x)Tcy(256-x)1us=200us得 X=5638H,TMOD=02H,2023年4月3日8时46分,30,4.工作方式3,设置条件:M11、M01 方式3:工作方式3仅对定时器计数器0有意义。TL0、TH0成为两个独立的8位加法计数器。如把定时器计数器1设置为工作方式3,相当于TR1=0,即定时器计数器1实际将停止工作。,定时器计数器0工作方式3结构图,2023年4月3日8时46分,31,4.工作方式3,说明:定时器计数器0采用工作方式3后,51子系列就具有3个定时器
17、/计数器,即8位定时器计数器TL0,8位定时器TH0和16位定时器计数器1(TH1、TL1)。定时器计数器1虽然还可以选择为方式0、方式1或方式2,但由于TR1和TF1被TH0借用,不能产生溢出中断请求,所以只用作串行口的波特率发生器。,2023年4月3日8时46分,32,定时器/计数器0已预置初值为156,且选定用方式 2的计数器方式,现在T0引脚上输入周期为1ms脉冲,问:(1)此时定时器/计数器0的实际用途是什么?(2)在什么情况下,定时器/计数器0溢出?,解:(1)实际用作定时器,但采用外部时钟脉冲(2)满100ms定时器/计数器0将溢出。,2023年4月3日8时46分,33,设计一个
18、秒表,使它从059s计数,并使LED数码管左边两个显示数字059,假设晶振频率fosc=12MHz,定时器/计数器选用T0。,解:利用51单片机的定时器0,使其50ms中断一次,中断20次时,秒加1。初值与中断服务程序中,TH0、TL0的值设置为:TH0=0 x3C;定时器/计数器0写入初值 TL0=0 xB0;同上;模式寄存器的值为:TMOD=0 x01;T0设为定时器工作方式1,2023年4月3日8时46分,34,程序如下:#include#define uint unsigned int#define uchar unsigned charuchar temp,aa,shi,ge;uch
19、ar code table=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e;/共阳极数码管码表 void display(uchar shi,uchar ge);/显示子程序void delay(uint z);/延时子程序void init();,2023年4月3日8时46分,35,void main()init();/初始化子程序while(1)if(aa=20)aa=0;temp+;if(temp=60)temp=0;shi=temp/10;ge
20、=temp%10;display(shi,ge);,2023年4月3日8时46分,36,void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void display(uchar shi,uchar ge)P2=0 x01;/送入十位数码管位选信号,显示数字P1=tableshi;/送入十位数码管的段选信号delay(5);P2=0 x02;/送入个位数码管位选信号,显示数字P1=tablege;/送入个位数码管的段选信号delay(5);,2023年4月3日8时46分,37,void init()temp=0;TMOD=0 x01
21、;/设置T0为定时器模式,工作在方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;/开总中断ET0=1;/允许T0中断TR0=1;/启动T0void timer0()interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa+;,2023年4月3日8时46分,38,2.5 并行I/O端口,8051单片机共有4个8位双向I/O口,共32口线。每位均有自己的锁存器(SFR),输出驱动器和输入缓冲器。,2023年4月3日8时46分,39,多路开关功能:用于控制选通I/O方式还是地址/数据输出
22、方式方式控制:由内部控制信号产生,数据输出锁存器,用于数据位的锁存,两个三态的数据输入缓冲器(BUF1和BUF2)。,推拉式I/O驱动器:由两只场效应管(FET)组成,上面的场效应管构成上拉电路。,2.5.1 P0端口,Q,Q,D,C,Vcc,控制,AD0,P0R1,P0R2,D0,P0W,P0口1位的内部结构,读锁存器,读引脚,锁存器,内部总线,写锁存器,地址/数据,P00,多路开关,1,0,字节地址80H,位地址80H87H。,2023年4月3日8时46分,40,2.5.1 P0端口,说明:1、当CPU发出的控制信号为0时,P0口做双向I/O口,为漏极开路(三态)2、当CPU发出的控制信号
23、为1时,P0口为地址/数据复用总线(用于口扩展),2023年4月3日8时46分,41,2.5.1 P0端口,Q,Q,D,C,Vcc,控制,AD0,P0R1,P0R2,D0,P0W,P0口内部结构,读引脚,锁存器,内部总线,写锁存器,地址/数据,P00,多路开关,1,0,3、P0作输入/输出口的使用(1)P0作输出口使用 来自CPU的“写入”脉冲加在D锁存器的C端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。,读锁存器,2023年4月3日8时46分,42,2.5.1 P0端口,Q,Q,D,C,
24、Vcc,控制,AD0,P0R1,P0R2,D0,P0W,P0口内部结构,读引脚,锁存器,内部总线,写锁存器,地址/数据,P00,多路开关,1,0,3、P0作输入/输出口的使用(1)P0作输出口使用 来自CPU的“写入”脉冲加在D锁存器的C端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。(2)P0作输入口使用 区分“读引脚”和“读锁存器”。“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;,读锁存器,2023年4月3日8时46分,43,2.5.1 P0端口,Q,Q,D,C,Vc
25、c,控制,AD0,P0R1,P0R2,D0,P0W,P0口内部结构,读引脚,锁存器,内部总线,写锁存器,地址/数据,P00,多路开关,1,0,3、P0作输入/输出口的使用(1)P0作输出口使用 来自CPU的“写入”脉冲加在D锁存器的C端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。(2)P0作输入口使用 区分“读引脚”和“读锁存器”。“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;“读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。,读锁存器,2023年4月3日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 章片内 资源 课件
链接地址:https://www.31ppt.com/p-4095056.html