我看到这样一个程序:
#include <reg52.h>
#include <absacc.h>
#include <stdio.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
#define adch0 XBYTE[0x0000]
sbit p1_3 = P1^3;
sbit P1_2 = P1^2;
uint ch0datal, ch0datah, i, light;
void main(void){
EA = 1; PT0 = 1;
ET0 = 1; IT0 = 1;IT1 = 0;
EX0 = 1; EX1= 1; ET2 = 1;
T2CON =0x08; TMOD = 0x21;
TH0 = 0xB9;
TL0 = 0xB0; TR0 = 1; TI = 1;
ch0datah = 0; ch0datal = 0; p1_3 = 0;p1_2 = 0;
while(1);
}
void intsvr1(void) itnerrupt 1 {
TH0 = 0xB9;
TL0 = 0xB0;
TR0 = 1;
light = light + 1;
/* 。。。。余下程序略。
。。。。。*/
}
在整个过程中都没有出现过TR2 = 1或相关内容。并且也没有发出过串行数据。那么这个T2的作用是什么呢?为什么又在程序中将TI置位。TI(发送中断)的作用又是什么呢 |