MCS51的片内接口及定时器计数器

上传人:仙*** 文档编号:244382207 上传时间:2024-10-04 格式:PPT 页数:31 大小:654.50KB
返回 下载 相关 举报
MCS51的片内接口及定时器计数器_第1页
第1页 / 共31页
MCS51的片内接口及定时器计数器_第2页
第2页 / 共31页
MCS51的片内接口及定时器计数器_第3页
第3页 / 共31页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第,5,章,MCS-51,系列单片机的片内接口及中断,5.1,并行,I/O,接口及其应用,5.2,定时器,/,计数器及其应用,5.3,中断系统及其应用,5.4,串行接口及其应用,4,个,并行,I/O,口,P0,、,P1,、,P2,、,P3,准双向口:直接输出;输入前要先将输出驱动截止。,4,个并行口的第二功能:,P0:,数据总线,/,低,8,位地址线,P2:,高,8,位地址线,P3:,每根口线有不同的定义,P1:,5.1,并行,I/O,接口及其应用,内部,I/O,口的应用,1,、写端口:直接写入就能从引脚线上输出。,2,、读端口数据:直接读取,3,、读引脚:先使对应的锁存器置位,才能读引脚。比如读,P1,口低,4,位引脚线上的信号:,MOV P1,,,#0FH,MOV A,,,P1,5.1.3,并行,I/O,接口的应用,例:电路结构如下图所示,欲利用发光二极管,LED,显示开关,K,的状态,即开关闭合时,LED,亮,开关,K,断开时,LED,熄灭,试编程实现。,参考程序如下:,CLR P1.0,;给,LED,一个初态,熄灭,BACK,:,SETB P1.7,;对输入位,P1.7,写,“,1,”,JB P1.7,,,BACK1,;,K,断开,转,BACK1,SETB P1.0,;,K,闭合,,LED,亮,SJMP BACK,BACK1,:,CLR P1.0,;,K,断开,,LED,灭,SJMP BACK,C51,参考程序如下:,Sfr,P1=0 x90;,Sbit,P1_0=0 x90;,Sbit,P1_7=0 x97;,Vpid,main(),Volatile bit k;,P1_0=0;,P1_7=1;,While(1),k=P1_7;,P1_0=,k;,Return;,例:电路结构如下图所示。要求当图中,Ki,闭合时与之对应的,LEDi,亮,,Ki,断开时,LEDi,熄灭。试编程实现。,参考程序如下:,ORG 0000H,LJMP MAIN,;跳转到主程序,ORG 0100H,MAIN,:,MOV P1,,,00H,;,8,位,LED,全灭,MOV P0,,,#0FFH,;,P0,置,1,,准备进行输入操作,BACK,:,MOV A,,,P0,;读,P0,口开关状态,并送入累加器,A,CPL A,;对累加器,A,求反,MOV P1,,,A,;从,P1,口输出,SJMP BACK,;循环执行,C51,参考程序如下:,Sfr,P0=0 x80;,Sfr,P1=0 x90;,Void main(),Volatile unsigned char k;,P0=0 xff;,P1=0;,While(1),K=P0;,P1=,K;,Return;,5.2 MCS-51,定时,/,计数器及其应用,51,系列内部有,2,个,16,位的定时,/,计数器,T0,、,T1,52,系列内部有,3,个,16,位的定时,/,计数器,T0,、,T1,、,T2,功能:,定时,计数,串行口的波特率发生器,定时,/,计数器的可编程特性:,确定其工作方式是定时还是计数,预置定时或计数初值,当定时时间到或计数终止时,要不要发中断请求,如何启动定时或计数器工作,上页,下页,回目录,T2,可编程,可 编 程 的,5.2.1,、定时计数器的结构与工作原理,1,、结构,CPU,TH1(8位),TL1(8位),T1,T1(P,3.5,),(8DH),(8BH),7 0,7 0,TH0(8位),TL0(8位),T0,T0(P,3.4,),(8CH),(8AH),7 0,7 0,TCON(88H),TMOD(89H),启动,启动,溢出,溢出,工作方式,工作方式,图,5-1,定时,/,计数器逻辑结构,上页,下页,回目录,“+1”,“+1”,结构,2,个,16,位,T/C,分别由,8,位计数器,TH0,、,TL0,、,TH1,、,TL1,组成,“,+1”,计数器,控制寄存器,TCON,:,控制,T/C,的启停、中断等,方式寄存器,TMOD,:,控制,T/C,的,工作方式,2,、工作原理,定时器,定时输入信号:机器内部震荡信号的,1/12,分频,即每一个机器周期做一次,“,+1”,运算,上页,下页,回目录,T0,T1,1,个,机器周期,=12,震荡脉冲,计数速率为震荡频率的,1/12,分频,若,单片机的晶振主频为,12MHz,则,计数周期为,1,s,计数器,由外部引脚(,T0,为,P,3.4,,,T1,为,P,3.5,),输入计数脉冲,外部输入脉冲宽度应大于,2,个机器周期,T,CY,T,CY,上页,下页,回目录,外部输入脉冲发生负 跳变时,进行,“,+1”,计数,下降沿,高电平,低电平,T,CY,:,为机器周期,5.2.2,、定时计数器的方式寄存器和控制寄存器,1,、方式寄存器,TMOD,GATE,C/T,M1,M0,GATE,C/T,M1,M0,LSB,MSB,(,89H,),TMOD,控制,T1,控制,T0,门控位,功能选择位,工作方式选择,上页,下页,回目录,GATE,C/T,M1,M0,GATE,C/T,M1,M0,INT1 INT0,引脚输入电平的控制,GATE,:,门控位。设定,T1,、,T0,运行时,是否受,GATE,:,0,:不受外部中断控制,要启动定时器,/,计数器,Tri=1,C/T=,上页,下页,回目录,1,:受外部中断控制,要启动定时器,/,计数器必须,Tri,和,INTi,同时为,1,0,为定时功能,1,为计数功能,表,5-1,操作方式选择,0 0,方式,0 13,位计数器,0 1,方式,1 16,位计数器,1 0,方式,2,可自动,重新装载,初值,的,8,位计数器,1 1,方式,3 T0,分为,2,个,8,位计数器,,T1,停止计数,M1M0,操作方式,功 能,上页,下页,回目录,方式,0 M1M0=00,13,位的定时计数器,由,TH,的,8,位和,TL,的低,5,位组成,T1(P,3.5,),GATE,TR1,INT1,震荡器,12,TL1,5位,TH1,8位,TF1,中断,K,C/T=0,C/T=1,控制,定时,/,计数器方式,0,逻辑图,1,1,1,“+1”,中断,TL,4,0,以,T1,为例:,13,位计数器,TF1,“+1”,“+1”,上页,下页,回目录,方式,1 M1M0=01,16,位的定时计数器,由,TH,的,8,位和,TL,的,8,位组成,T1(P,3.5,),GATE,TR1,INT1,震荡器,12,TL1,8位,TH1,8位,TF1,中断,K,C/T=0,C/T=1,控制,定时,/,计数器方式,1,逻辑图,16,位计数器,“+1”,1,以,T1,为例:,中断,TF1,“+1”,“+1”,上页,下页,回目录,方式,2 M1M0=10,可,自动,重装载,的,8,位计数器,TH1,(,TH0,),被定义为赋值寄存器,TL1,(,TL0,),被定义为计数器,定时,/,计数器方式,2,逻辑图,T1(P,3.5,),GATE,TR1,INT1,震荡器,12,TL1,8位,TF1,中断,K,C/T=0,C/T=1,控制,TH1,8位,重装载,重装载,1,“+1”,以,T1,为例:,中断,TL1,8,位,TF1,“+1”,“+1”,上页,下页,回目录,方式,3 M1M0=11,T0,被分成,2,个相互独立的,8,位计数器,TL0,、,TH0,TL0,使用自己本身的一些控制位,C/T,、,GATE,、,TR0,TF0,、,INT0,等。,TH0,只能做定时器,并使用,T1,的控,制位,TR1,、,TF1,,,同时占用,T1,的中断源,震荡器,12,1/12f,0sc,TL0,8位,TF0,中断,K,C/T=0,C/T=1,控制,1/12f,0sc,T0(P,3.4,),GATE,TR0,INT0,K,TH0,8位,TF1,中断,控制,1/12f,0sc,TR1,定时,/,计数器方式,3,逻辑图,上页,下页,回目录,1,TH0,借用了,T1,的,TR1,和,TF1,因此控制了,T1,的中断,此时,T1,只能用在一些不要中断的情况下,“+1”,“+1”,1,“+1”,“+1”,TF0,TF1,中,断,中,断,“+1”,上页,下页,回目录,2,、控制寄存器,TCON,LSB,MSB,(,88H,),TCON,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,T,1,、,T,0,启,/,停控制位,T,1,、,T,0,溢出标志位,与外部中断,INT,1,、,INT,0,有关,将在中断系统介绍,“,0”,停止,“,1”,启动,“,1”,有溢出,“,0”,无溢出,可编程 可控制,“+1”,亦可由指令清“,0”,工作,“1”,“0”,记录有无溢出,上页,下页,回目录,三、定时,/,计数器的初始化,初始化一般有以下几个步骤:,确定工作方式,对方式寄存器,TMOD,赋值,预置定时或计数初值,直接将其写入,T0,、,T1,中,根据需要对中断允许寄存器有关位赋值,以开放,或禁止定时,/,计数器中断,启动定时,/,计数器,将,TR,i,赋,值为“,1”,计数初值的设定:,最大计数值,M,:,不同的工作方式,M,值不同,方式,0,:,M=2,13,=8192,方式,1,:,M=2,16,=65536,方式,2,、,3,:,M=2,8,=256,计数初值,X,的计算方法:,计数方式:,N=2,n,X,(,X,即为要求计数的次数,),上页,下页,回目录,定时方式:,(,2,n,X,),T=,定时值,X=2,n,定时值,/T,其中,T,为机器周期,时钟的,12,分频,,若晶振为,6MHz,,则,T=,2,s,,,若晶振为,12MHz,,则,T=,1s,例:电路如下图所示,欲使图中,LED,以,200ms,为周期闪烁,其定时时间由定时器,T0,完成,设,fosc,=6MHz,,试编程实现。,五、定时,/,计数器应用举例,分析:,LED,以,200ms,为周期闪烁,则需要,100ms,时间到时对其,LED,的状态取反,一次,Fosc,=6MHz,,,t=2us,,使,T0,工作于方式,1,下,计数初值为,N=2,16,-50 x10,3,=15536=3CB0H,设,T0,的启动直接由,TR0,来控制,故,TMOD,为,GATE,C/T,C/T,GATE,M1,M1,M0,M0,T1,T0,0 0 0 0 0 0 0 1,参考程序如下:,ORG 0000H,LJMP MAIN,ORG 0100H,MAIN,:,SETB P1.0,MOV TMOD,,,#01H,MOV TH0,,,#3CH,MOV TL0,,,#0B0H,SETB TR0,BACK,:,JBC TF0,,,BACK1,SJMP BACK,BACK1,:,MOV TH0,,,#3CH,MOV TL0,,,#0B0H,CPL P1.0,SJMP BACK,C51,参考程序如下:,sfrP1=0 x90;,Sbit,P1_0=0 x90;,Sfr,TMOD=0 x89;,Sfr,TL0=0 x8A;,Sfr,TH0=0 x8C;,Sbit,TF1=0 x8F;,Sbit,TR1=0 x8E;,Sbit,TF0=0 x8D;,Sbit,TR0=0 x8C;,Sbit,IE1=0 x8B;,Sbit,IT1=0 x8A;,Sbit,IE0=0 x89;,Sbit,IT0=0 x88;,Sbit,P1_0=0 x90;,Void main(),Volatile bit led,timeup,;,P1_0=1;,Led=1;,Tmod,=0 x01;,TH0=0 x3C;,TL0=0 xB0;,TR0=1;,While(1),While(!TF0),TH0=0 x3C;,TL0=0 xB0;,Led=led;,P1_0=led;,Return;,例:电路如下图所示,欲测量图中,INT0,(,P3.2,)引脚
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!