试题详情
简答题某单片机系统,时钟频率为12MHz,定时/计数器T0用于20ms定时,T1用于100次计数,两者要求重复工作。编写达到上述要求的程序。
  • 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
  • 关注下方微信公众号,在线模考后查看

热门试题