微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STC12单片机定时器中断12分频改为1分频时的问题

STC12单片机定时器中断12分频改为1分频时的问题

时间:10-02 整理:3721RD 点击:
写了一个定时器0中断程序,知道把单片机12分频改为1分频时,定时器进入中断的时间快12倍,但是不清楚中断服务程序的指令是否也可以快12被。我测了许久都不能有个结论,还请各位大神帮帮忙呀!如果可以快12倍,那么还要加上什么设置吗,就目前的设置好像是不能快12倍的
                                                                                                                              小弟在此拜谢!
void T0_Init()      //定时/器中断0初始化  
{
           TMOD|=0X01;        //工作模式1
         AUXR=0X80;            //12分频变为1分频
         TH0=0xff;         
         TL0=tl0;
         EA=1;                        //开总 中断                             
         ET0=1;                        //开定时器0中断
         TR0=1;
}                               
//******************************************************************************
//定时器0服务程序————波形选择
//******************************************************************************
void T0_timer()  interrupt 1  //定时器中断0  
{                               
                 TH0 = 0xff;         
         TL0 = tl0;
                 if(num_bx == 0)
                         {
                                 Sine();
                         }               
                 else if(num_bx == 1)
                 {  
                         Square_wave();
                 }
                  else if(num_bx == 2)
                 {  
                         Incremental_ramp();
                 }         
                  else if(num_bx == 3)
                 {  
                    Descending_ramp();
                 }         
                else if(num_bx == 4)
       
                {                                                       
                   Triangl_wave();
                }       
void main ()
{
        T0_Init();
        while (1)
        {                                                                                                                                                                                             
        }
}

其中无关程序并没有列出!

中断里面程序的指令不会加快12倍,不过相对于传统12T51单片机速度还是要快很多的。定时器的加快是”计数器“时钟源分频不分频决定的,跟你指令的执行快慢没关系。附上2张STC的PDF文档相关的截图你参考下。以上观点仅供参考~



经过测试似乎指令确实是不会加快,加快的只是进入中断的时间而已。

没看明白                                    

指令确实不会改变速度。进中断也不能说加快了,只能说可以更快的进行计数。如果用来采集信号的话,可以采集更高频率的信号。

小编问题有没有解决?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top