单片机原理及应用课后习题参考答案1~6章 下载本文

时,对外界计数脉冲频率有何限制?

答:作定时器时,其定时时间与晶振频率、定时计数器位数、定时初值有关。 作计数器时,要求外界脉冲频率小于晶振频率除24。

6-6 当T0设为工作方式3时,由于TR1位已被TH0占用,如何控制定时器T1的启动和关闭?

答:先设置T1的初始值和工作方式0~2,由于将T1设置为工作方式3时T1会停止工作,因此可以利用M1和M2来控制T1的启动和关闭。通常在T0工作在方式3的时候,将T1设置为方式2,8位自动装初值工作方式。

6-7 已知8051单片机的fosc=6MHz,请利用T0和输出长形波。其长形高电平宽50us,低电平宽300us。

解:(1)定时时间设为50us,低电平时间相当于持续6个定时周期。可选择于方式2,8位自动重装初值方式。X=256-6×50/12=231,即E7H

(2)设置TMOD参数:T1的四位全“0”,低四位为“0010”,TMOD=02H (3)中断IE:EA=1,ET0=1.其余为0,IE=82H (4)TCON用于控制启停的TR0位在程序中用位设置。 (5)编写源程序如下:

ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0030H

SETB SETB F0 SJMP $

T0INT:JBC F0,LOOP

DJNZ R7,LOOP2 SETB SETB F0 MOV R7,#06H SJMP LOOP2

MAIN:MOV TH0,#0E7H

MOV TL0,#0E7H MOV R7,#06H MOV TMOD,#02H MOV IE,#82H SETB TR0

LOOP:CLR LOOP2: RETI

END

6-8 已知8051单片机的fosc=12MHz,用T1定时,试编程由和分别输出周期为2ms和500us的方波

解:2ms和500us的方波,以最小值500us为基本单位,将计时长度设为250us,可使用8位加法计数器,即T1的工作方式为方式2。2ms方波为4个计数溢出长度翻转一次。采用中断方式处理溢出。

(1)定时初值确定:X=256-12×106×250×10-6/12=256-250=6 (2)确定TMOD的参数:T0设为方式0定时器。TMOD=0010 0000=20H (3)编写源程序:

ORG 0000H AJMP MAIN ORG 001BH AJMP T1INT ORG 0030H

SETB EA SETB TR1 SJMP $

T1INT:CPL

DJNZ R7,LOOP CPL MOV R7,#04

MAIN:MOV R7,#04

MOV TH1,#06 MOV TL1,#06 MOV TMOD,#20H SETB ET1

LOOP:RETI

END