1.特别功用寄存器的操作注意事项
在操作特别功用寄存器时,要注意其他各位的影响。
例如,TMOD守时器的操作。
它操控守时器0和守时器1,高四位操控守时器1,低四位操控守时器0。当咱们用字节操作其内容时,一次赋值便是改动其八位的全部内容,。此刻,若守时器0在另一个函数中使用,通过次操作就改动了守时器0的内容,是不允许的。所以,最好用位操作的方法。
例:
字节操作:TMOD = 0x01; 改为:
位操作: TMOD |= 0x01;TMOD &= 0xfd;
2.守时器守时的核算:
要守时NS,那么,
NS = T * (NT / TSOC)
NS:N秒,NT:是几T的单片机,例如51是12T的,那么NT = 12;TSOC:单片机的时钟,例如12MHz = 12000000
例如:守时器1,方法1,守时0.02S,那么请核算TMOD的初值。
回答:
以知:守时时刻 = 0.02,NT = 12,TSOC = 12000000,求T
T =( 12000000 * 0.02 ) / 12
= 20000
所以,TMOD的初值为65536 – 20000 = 45536 = 0xB1E0