最近我看了个STC初始化程序如下:
- void Timer0Init(void) //2.5毫秒@12.000MHz
- {
- AUXR &= 0x7F; //定时器时钟12T模式
- TMOD &= 0xF0; //设置定时器模式
- TMOD |= 0x01; //设置定时器模式
- TL0 = 0x3C; //设置定时初值
- TH0 = 0xF6; //设置定时初值
- TF0 = 0; //清除TF0标志
- TR0 = 1; //定时器0开始计时
- }
复制代码
我的疑问是,第一,第二行,AUXR和TMOD复位后都是零,那么按位与不都变为0为么???那么怎么会成功初始化的????
此帖出自
小平头技术问答
这个可以理解,第一行是怎么回事????
TMOD&=0xf0;是把TMOD寄存器先置零,以防TMOD不是为0x00;
假设TMOD=0xff;TMOD|=0x01;TMOD就变成0xff了。
给你一个C语言程序:
#include <stdio.h>
int main()
{
int a,b=2;
a=0xf0;
// b&=a;
b|=0x01;
printf("%d",b);
return 0;
}
一周热门 更多>