在以下情况下,还需要有另外的等待: a. CPU正在处理相同或更高优先级中断
b. 多机器周期指令中,还未执行到最后一个机器周期
c. 正在执行中断系统的 SFR 操作,如 RETI 指令及访问 IE、IP 等操作时,要延后一 条指令
第6章习题答案 1 、定时器模式2有什么特点?适用于什么场合? 答:
(1) 模式 2 把 TL0(或 TL1)配置成一个可以自动重装载的 8 位定时器/计数器。TL0 计数 溢出时不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。TL0 用作8位计数器,TH0 用以保存初值。
(2) 用于定时工作方式时间(TF0溢出周期)为 ,用于计数工作方式时,最大计数长度
(TH0初值=0)为28=256个外部脉冲。
这种工作方式可省去用户软件重装初值的语句,并可产生相当精确定时时间,特别适于作串 行波特率发生器。 2、单片机内部定时方式产生频率为100KHZ 等宽矩形波,假定单片机的晶振频率为12MHZ, 请编程实现。
VVVVVVVVVVVV.
T0低5位:1BH T0 高8位:FFH
MOV TMOD,#00H ;设置定时器T0工作于模式0
MOV TL0,#1BH ;设置5ms 定时初值 MOV TH0,#0FFH
SETB TR0 ;启动T0 LOOP:JBC TF0,L1 ;查询到定时时间到?时间到转L1
SJMP LOOP ;时间未到转LOOP,继续查询
L1:MOV TL0,#1BH ;重新置入定时初值 MOV TH0,#0FFH
CPL P1.0 ;输出取反,形成等宽矩形波 SJMP LOOP ;重复循环 3 、89C51定时器有哪几种工作模式?有何区别? 答:有四种工作模式:模式0,模式1,模式2,模式3
(1) 模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。 (2) TL低5位溢出时向TH进位,TH溢出时向中断标志位TF进位,并申请中断。 定时时间 t=(213-初值)_振荡周期_12;计数长度位213=8192 个外部脉冲
(2) 模式 1:与模式 0 的唯一差别是寄存器 TH 和 TL 以全部 16 位参与操作。定时时间 t=(216-初值)_振荡周期_12;计数长度位216=65536 个外部脉冲
(3) 模式 2:把 TL0 和 TL1 配置成一个自动重装载的 8 位定时器/计数器。TL 用作 8 位
- 11 -