单片机中断程序,不懂,求大神讲解!!谢谢!

void Time1Config()
{
TMOD|= 0x10; 为什么TMOD|=0X10,二不是TMOD=0X01?
TH1 = 0xFE; 为什么TH1=0xFE,怎么会这样写的呢?
TL1 = 0x0C;

ET1 = 1; 这些是固定的么?
EA = 1; 这些是固定的么?
TR1 = 1; 这些是固定的么?
}
void Time1(void) interrupt 3 这些又是为什么这样写?
{
TH1 = 0xFE; 这些又是为什么这样写?
TL1 = 0x0C; 这些又是为什么这样写?
timer1++;
}
求答,谢谢!

void Time1Config()
{
TMOD|= 0x10; 为什么TMOD|=0X10,二不是TMOD=0X01?
//这里设置的定时器1所以是10而不是01,用或等于是为了不影响对定时器其他位
TH1 = 0xFE; 为什么TH1=0xFE,怎么会这样写的呢?也可以写成(65536-500)/256
TL1 = 0x0C; 也可以这样写(65536-500)%256

ET1 = 1; 这些是固定的么?是的,意思是开启定时器1中断
EA = 1; 这些是固定的么?是的,意思是开总中断
TR1 = 1; 这些是固定的么?是的,意思是启动定时器1
}
void Time1(void) interrupt 3 这些又是为什么这样写?这是KEIL的规则,3是代表定时器1,这是按中断优先级排列的
{
TH1 = 0xFE; 这些又是为什么这样写?这是中断溢出后重新赋初值
TL1 = 0x0C; 这些又是为什么这样写?同样道理
timer1++;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-06
是看不懂代码呢?还是完全没学过单片机?追问

代码是懂,代码的写法是固定么?

相似回答