C8051f340定时器初始化代码问题
时间:10-02
整理:3721RD
点击:
void Timer0_Init(void)
{
TCON &= ~0x30; // STOP Timer0 and clear overflow flag
TMOD &= ~0x0f; // configure Timer0 to 16-bit mode
TMOD |= 0x01; // set the timer 0 to mode 1 (16 bit counter)
TH0 = TIMER0_RELOAD_HIGH; // set Timer0 flash constant value
TL0 = TIMER0_RELOAD_LOW;
TR0 = 0; // set the timer 0 run bits
ET0 = 1; // enable timer 0 interrupt
}
这个代码的TCON和TMOD的赋值形为什么是TCON &= ~0x30; TMOD &= ~0x0f; TMOD |= 0x01;的呢?有点不解 要是直接赋值不就可以了吗?为什么这样绕一圈子呢?向各位大侠求解
{
TCON &= ~0x30; // STOP Timer0 and clear overflow flag
TMOD &= ~0x0f; // configure Timer0 to 16-bit mode
TMOD |= 0x01; // set the timer 0 to mode 1 (16 bit counter)
TH0 = TIMER0_RELOAD_HIGH; // set Timer0 flash constant value
TL0 = TIMER0_RELOAD_LOW;
TR0 = 0; // set the timer 0 run bits
ET0 = 1; // enable timer 0 interrupt
}
这个代码的TCON和TMOD的赋值形为什么是TCON &= ~0x30; TMOD &= ~0x0f; TMOD |= 0x01;的呢?有点不解 要是直接赋值不就可以了吗?为什么这样绕一圈子呢?向各位大侠求解
这样能不影响其他位
谢谢 有些理解的感觉