多做题,通过考试没问题!

微机原理与接口技术

睦霖题库>大学试题(计算机科学)>微机原理与接口技术

某单片机系统,时钟频率为12MHz,定时/计数器T0用于20ms定时,T1用于100次计数,两者要求重复工作。利用定时/计数器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
答案解析:
进入题库查看解析

微信扫一扫手机做题