临时寄存器TEMP
8位总线一次只能读写取8位数据,所以读写16位寄存器时、使用8位的临时寄存器TEMP来保存另一半的8位数据。
一个定时器只有1个临时寄存器TEMP,所以读写其他16位寄存器时,临时寄存器TEMP将被修改成当前的16位寄存器的高字节或低字节。
所以读取16位寄存器的过程中需要禁止中断,避免中断处理过程中有读写其他16位寄存器的操作,
这会修改临时寄存器TEMP的当前值,导致中断返回后临时寄存器TEMP已被修改。
读写低字节、将触发16位的读写。
--> 为了简化问题,在中断中不要读写16位寄存器
读16位定时器的步骤:
in r18,SREG ; 保存全局中断标志
cli