1.12T是就是12分频,STC89系列的速度本来就是12T,所以不用设置。
2.AUXR是一个辅助寄存器,AUXR&=0x7f就是对AUXR进行位操作,相当于赋值,在STC12系列单片机里面AUXR&=0x7f就是设置为12分频。
3.以定时器T0为例,有关的特殊功能寄存器有:
IE(中断允许寄存器),位可寻址,所以直接写位名称就可以了,与T0有关的是ET0,相当于定时器T0的电源,ET0=1时,接通电源。此外,还有一位是EA,相当于所有中断的总开关,EA=1时,总开关打开;
IP(中断优先级寄存器),位可寻址,与T0有关的是PT0,当PT0=1时,T0优先级最高,多个中断同时来的话,会优先处理T0;
TMOD(模式寄存器),位不可寻址,所以使用的时候,我们直接对它进行位操作,设置定时器的工作模式;
TCON(控制寄存器),位可寻址,与T0有关的是TR0、TF0,相当于T0的开关,TR0=1时,定时器T0打开。TF0是中断请求标志位,当计数器达到设定的模值时,系统自动将TF0位置一,并向CPU提出中断申请,CPU响应相应的中断请求,并进入中断服务程序中后,硬件电路自动将TF0位清0;
还有就是定时器里面的计数器,TH0和TL0,存放计数值的地方,达到设定的模值时,会自动清零;
我们在用定时器中断的时候,先设置好定时器的工作模式,设定好模值,打开定时器开关,还有优先级。当中断来了之后,会暂停正在执行的程序,先执行中断服务程序,执行完中断服务程序后,再回到刚刚暂停的地方,接着往下执行。
|