7.28XX51单片机内部设有几个定时器/计时器?它们是由哪些专用寄存器组成的?答:MCS-51单片机的定时/计数器有4种操作模式。方式0:13位计数/定时器。13位由TLi的低五位和THi构成,手动重载入时间常数,软件启动/停止计数/定时器。方式1:16位计数/定时器。16位由TLi和THi构成,手动重载入时间常数,软件启动/停止计数/定时器。方式2:8位计数/定时器。TLi被定义为加1计数器,THi被定义为赋值寄存器,自动重载入时间常数,软件启动/停止计数/定时器。方式3:T0被用作两个独立的8位计数/定时器,手动重载入时间常数,软件启动/停止计数/定时器。T1常被用作波特率发生器。7.4设单片机的fosc=6MHz,定时器处于不同工作方式时,最大定时范围分别是多少?答:方式0:16.38ms,方式1:131ms,方式2:512us7.6在p1.0引脚接一驱动放大电路驱动扬声器,利用T1产生1000HZ的音频信号从扬声器输出。答:1000Hz的周期为1ms,即要求每500usp1.0变反一次,使用t1方式1,MC=12/f0sc=1us.c=216-500us/1us=FE0CH,除TMOD=10H,TH0=FEH,TL0=0CH外,程序如下:ORG0000HMOVTMOD,#06HMOVTH0,#0F6HMOVTL0,#0F6HSETBTR0ABC:JNBTF0,$CLRTF0CPLP1.0SJMPABCEND7.8在8XX51单片机中,已知时钟频率为12MHz,编程使P1.0,P1.1分别输出周期为2ms和50us的方波。答:程序如下:ORG0000HMOVTMOD,#02HMOVTH0,#0E7HMOVTL0,#0E7HSETBTR0MOVR0,#04HAA:JNBTF0,$CLRTF0CPLP1.1DJNZR0,AACPLP1.0AJMPAAend7.10利用8XX51单片机定时器t0测量某正单脉冲宽度,已知此脉冲宽度小于10ms,主机频率为12MHz。编程测量脉宽,并把结果转换为BCD码,顺序存放在以50H单元为首地址的内存单元中(50H单元存个位)。#includereg51.hsbitp3_2=P3^2;main(){unsignedchar*p,i;inta;P=0x50;TMOD=0x09;TL0=0;TH0=0;while(P3-2==1);TR0=1;while(P3-2==0);while(P3-2==1);TR0=0;i=TH0;a=i*256+TL0;for(;a!=0;){*p=a%10;a=a/10;p++;*p=a;}}