第四章80C51基本功能单元结构与操作原理.docVIP

  • 0
  • 0
  • 约1.06万字
  • 约 10页
  • 2017-09-02 发布于浙江
  • 举报

第四章80C51基本功能单元结构与操作原理.doc

第四章80C51基本功能单元结构与操作原理

第四章 80C51基本功能单元结构与操作原理 4·1 80C51定时器/计数器方式 0的 13往/计数器初值如何计算? 有方式1的 16位/计数为什么还要 13位的计数方式? 答: 在80C51定时器/计数器中,有方式0和方式1两种方式:方式0为13位计数方式,相当 于有5位预分频的8位计数方式;方式1为16位计数方式。 方式0工作状态的计数器结构,保留了80C51前身MCS一48单片机32分频的8位计数方式,由TLi的低5位和THi的8位组成13位计数器。计数初值设置不直观。 方式1为16位计数方式,与方式0的区别在于方式1为16位计数,并且是置位方式。而方式0为复位方式(即单片机复位后为方式0状态)。 80C51定时器川十数器的方式0的13位计数器是按5位预分频定标器、8位计数器设置的。在80C5lTHi、TLi两个8位计数器构成的13位计数中,TLi为低5位,THi为高8位。这种计数器的配置其计数初值不是按13位减法所得的数据值。例如,要实现x的定时要求,系统时钟为fosc,定时器计数脉冲周期为12//fosc,按13位减法,13位加计数器的计数初值m为 x×fosc m=213 一 12 设x=1ms, fosc=12MHz,则 l×l0-3×l2×106 m=213一 =7192=lCl8H 12 上述m是按13位计数(高5位,低8位)的减法求得的计数器初值;而80C51定时器方式 0的13位计数器是按高8位、低5位安排的,即要把郴按高8位、低5位组合成计数初值: lCl8H=l1100000 11000B=E0 l8H 计数初值为E0 l8H。 4·2 如何使用外部引脚信号来挂制定时器/计数的启、棒? 答: 定时器/计数器方式寄存器TMOD申,GATE是控制方式选择位。 当GATE=0时,计数器由内部TRi位控制启、停;当GATE=l时,计数器由TRi和外部 引脚INTi控制启、停。 为了能通过INT0引脚来控制定时器/计数器T0的启、停,必须在方式寄存器TMOD中 将GATE置l: MOV TMOD,#0DH ;控制字为0000110lB 定时器/十数器可由外部引脚INTi控制启、停,利用这一特性,可对外部脉冲信号宽度进行测量。 通过T1对外部脉冲信号正脉冲宽度进行测量。外部脉冲频率信号从引脚INT1输入,如 题图4 – 1所示。正脉冲信号宽度为TW。 ①设计电路 由外部引脚INT1控制T1计数器定时计数的启动、停止,高电平时启动计数,低电平时停止计数。 INT1高电平时,计数器中记得的数值m为12分频的时钟频率fosc的周期数。脉冲宽度TW则为 TW=(12/fosc)×m ②定时器/计数器的控制字 选定T1、方式1、外部INT1控制启停(GATE、1)、定时器方式(C/T=0),故TMOD=1001××××B。令TMOD=90H ③测量Tw子程序STW清单: STW: MOV TMOD,#90H ;设Tl控制字 MOV TLl,#00H ;计数器清零 MOV THl,#00H SETB P3.3 ;置P3.3为输入方式 STLP0:MOV C,P3.3 ;读INTl引脚入CY JC STLP0 ;等待外部引脚变低电平 SETB TR1 ;置INTl启、停允许 STLP1:MOV C,P3.3 ;查询INTl状态是否变高电平 JNC STLPl ;末变高等待 STLP2:MOV C,P3.3 ;查询INTl是否变低 JC STLP2 ;未变低,等待 CLR TR1

文档评论(0)

1亿VIP精品文档

相关文档