题干本题共包含 3 个小题

某单片机系统,时钟频率为12MHz,定时/计数器T0用于20ms定时,T1用于100次计数,两者要求重复工作。

简答题1

编写达到上述要求的程序。

正确答案

T.0用作20ms定时,故N0=20ms/1μs=20000
X.0=M-N=65536-20000=45535=B1E0H
T.1的计数值为100,所以X=65536-100=65436=FF9CH
为使俩部件同时工作,将T0设为查询方式,T0设为中断方式。
M.OV TMOD, #15H;  T0定时,方式1;T1计数,方式1
M.OV TH0,#0B1H;  写入T0定时器初值
M.OV TL0,#0E0H; MOV TH1,#0FFH;  写入T1计数器初值
M.OV TL1,#09CH;
M.OV SP,  #60H;   设置堆栈
O.RG  001BH
A.JMP T1INT
S.ETB TR0;    启动T0
S.ETB TR1;  启动T1
L.OOP: JBC  TF0,$;   查询定时器溢出标志
M.OV TH0,#0B1H;
M.OV TL0,#0E0H
C.LR  P1.0;   设定时输出为P10
S.ETB P1.0
E.ND
T.1INT: MOV TH1,#0FFH;  写入T1计数器初值
M.OV TL1,#09CH;
R.ETI

答案解析

简答题2

外部计数脉冲从何引脚输入?

正确答案

既然使用T1作为计数器,外部计数脉冲当然应该从P3.5输入。

答案解析

简答题3

利用定时/计数器T0、T1编写延时2S的程序。

正确答案

延时2s,可以将T0设置成方式1,输出周期为200毫秒的等宽脉冲,设该信号由P1.0输出。再由T1进行计数,将P1.0输出连接道T1输入。则T1的计数值为100,工作方式选方式1;TO高低电平各持续100毫秒,若晶振频率为6MHz,则机器周期为2微秒,故其计数值应为:
N.100ms/2μs=50000
T.O采用方式1进行计数,则 X=M-N=65536-50000=15536=0C350H
T.1采用方式1进行计数,则 X=M-N=65536-100=65436=0FF9CH
方式字:GATE1=0,C/T1=1,M11=0,M10=1,GATE0=0,C/T0=0,M01=0,M00=1
故为:051H
程序编写如下:
M.OV TMOD, #051H;  设置T0工作方式,定时,方式1
M.OV TH0,#0C3H;  写入T0计数器初值
M.OV TL0,#050H; MOV TL1,#09CH;  写入T1计数值
M.OV    TH1,#0FFH   SETB TR0;  启动T0
L.OOP: JBC  TF0,$;   查询定时器溢出标志
M.OV TH0,#0C3H;
M.OV TL0,#050H
C.PL  P1.0
S.JMP LOOP;
J.BC  TF1,$ CPL
P.1,1;  输出2S信号
M.OV TL0,#050H;
M.OV TL1,#09CH;  写入T1计数值
S.JMP LOOP
E.ND

答案解析

相似试题
  • 某单片机系统,时钟频率为12MHz,定时/计数器T0用于20ms定时,T1用于100次计数,两者要求重复工作。编写达到上述要求的程序。

    简答题查看答案

  • 什么是时钟周期、机器周期、指令周期?当单片机的时钟频率为12MHz时,一个机器周期是多少?ALE引脚的输出频率是多少?

    简答题查看答案

  • 已知某8253占用I/O空间地址为40H~43H,设定时器0、定时器1工作于方式3,外部提供一个时钟,频率f=2MHz。要求定时器1连续产生5ms的定时信号,定时器0连续产生5秒的定时信号。试对它进行编程。

    简答题查看答案

  • 在8086系统中,用8253构成一个定时,计数与脉冲发生器系统。利用通道0完成对外部事件计数功能,计满100次向CPU发中断请求;利用通道1产生频率为1KHZ的方波;利用通道2产生1秒标准时钟。8253的计数频率为2.5MHz,8254的端口地址为41H~47H,试完成硬件连接和初始化编程。

    简答题查看答案

  • 某微机系统采用一块8253芯片,时钟频率为1MHz。若要求通道0工作于方式3,输出的方波周期为0.5ms,则计数值应设定为(),通道控制字应设定为()或()。

    填空题查看答案

  • 设一个8253的计数器0产生周期为20ms的定时信号,计数器1产生周期为100ms的定时信号。设外部时钟频率为f=2MHZ,端口地址为330H~333H。试对它进行初始化编程。

    简答题查看答案