单片机学习资料4.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
方式3时定时/计数器T0 TL0 (8位) TF0 申请 中断 T0 ÷12 振荡器 T0引脚 C/T=0 C/T=1 + TR0 GATE INT0引脚 A B 控制 M1=1 M0=1 TH0 (8位) TF1 申请 中断 T1 ÷12 振荡器 TR1 T0方式3时T1方式选择 TL1 (5,8) TH1 (8位) 串行口 ÷12 振荡器 T1引脚 C/T=0 C/T=1 串行口 ÷12 振荡器 T1引脚 C/T=0 C/T=1 TL1 (8位) TH1 (8位) 重装载 (a)T1方式1或0 (b)T1方式2 定时/计数器T2 在51系列单片机中,8052子系列除了有定时/计数器T0、T1外,还具有功能更强的定时/计数器T2。除了两个8位计数器TL2、TH2和控制寄存器T2CON及T2MOD之外,还有捕获寄存器RCAP2L和RCAP2H。 输入引脚T2(P1.0)是外部计数脉冲输入端。输入引脚T2EX(P1.1)是外部控制信号输入端。 T2中的特殊功能寄存器 位地址 位功能 0CFH TF2 0CEH EXF2 0CDH RCLK 0CCH TCLK 0CBH EXEN2 0CAH TR2 0C9H C/T2 0C8H CP/RL2 T2CON控制寄存器: C/T2=0 功能选择为定时器 C/T2=0 功能选择为计数器 T2中的特殊功能寄存器 T2MOD是字节寻址的,字节地址为0C9H, 只有最低位有定义。 D7-D1 -- D0 DCEN DCEN=1,减计数; DCEN=0,加计数; T2的工作方式 RCLK+TCLK CP/RL2 TR2 工作方式 0 0 1 自动重装载方式 0 1 1 捕获方式 1 x 1 波特率发生器 x x 0 关闭 捕获方式 TL2 (8位) TF2 申请 中断 ÷12 振荡器 T2引脚 C/T=0 C/T=1 控制 TR2 TH2 (8位) RCAP2L RCAP2H 控制 EXF2 EXEN2 边沿检测 T2EX 引脚 自动重装载方式(DCEN=0) TL2 (8位) TF2 申请 中断 ÷12 振荡器 T2引脚 C/T=0 C/T=1 控制 TR2 TH2 (8位) RCAP2L RCAP2H 控制 EXF2 EXEN2 边沿检测 T2EX 引脚 重载 自动重装载方式(DCEN=1) TL2 (8位) 申请 中断 ÷12 振荡器 T2引脚 C/T=0 C/T=1 控制 TR2 TH2 (8位) RCAP2L RCAP2H 0FFH 0FFH TF2 T2EX管脚 EXF2 波特率发生器方式 TL2 (8位) TF2 ÷12 振荡器 T2引脚 C/T=0 C/T=1 控制 TR2 TH2 (8位) RCAP2L RCAP2H 控制 EXF2 EXEN2 边沿检测 T2EX 引脚 ÷16 重载 中断 申请 定时器、计数器定时常数计算 由于计数器是加1计数的,所以定时常数应该求补码。 t=Tc×(2L-TC)=12/f (2L-TC) t:定时时间; Tc :机器周期; f:震荡器频率; L:计数器字长; 计算举例: 要使定时时间为2ms,而晶体震荡频率为12MHz ,求定时常数。 2ms=1us(216-TC) TC=216-2000 =65536-2000 =63536 化成两个字节: =0f830h 定时/计数器编程 写TMOD,只能用字节寻址(M0,M1,C/T,GATE)。 将时间常数或计数常数写入计数器寄存器。 设置中断开放或禁止。 启动计数器。 例1 使用T0在P1.0脚产生周期为2ms方波,震荡器频率为6MHz。 设计思路是每1ms产生一个中断,中断程序中除了重新初始化计数器外,使P1.0电平反转。 选用模式1作为T0的工作模式。即TMOD=01H 由于震荡器频率为6MHz,即2微妙计数器计数一次。计数500次就是1ms。定时常数为65536-500=0FE0CH,即TH=0FEH,TL=0CH。 主程序先初始化定时计数器,然后开启计数器。 具体程序 主程序段: MOV TMOD,#01H MOV TH0,#0FEH MOV TL0,#0CH SETB ET0 SETB EA SETB TR0 中断程序: ORG 000BH MOV TH0,#0F0H MOV TL0,#0CH CPL P1.0 RETI 例2 T0用方式3,这时TL0、TH0分别可作为两个8位计数器,产生两个方波。定时常数为: 256-100*(12/11.0592)=147 256-150*(12/11.0592)=93 T1用方式2,自动重装载,定时常数0F9H。 使用80C51单片机,用T1为串行口提供波特率9600定时,同时希望产生两个方波,周期为200和300

文档评论(0)

微微 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档