久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 為什么單片機T0的中斷無法執行,只可執行T1的中斷 [打印本頁]

作者: syh112    時間: 2023-6-13 03:19
標題: 為什么單片機T0的中斷無法執行,只可執行T1的中斷
#include "reg52.h"                        
#include<intrins.h>               

typedef unsigned int uint;         
typedef unsigned char uchar;

sbit moto=P1^0;                  
sbit k2=P3^0;         
sbit k3=P3^2;         
//sbit k00=P2^2;        

unsigned char timer1;
unsigned char timer0;
uint n=1;
uint m=2;
uint sunumber;
uint worksign;

void TimeConfig();
void delay1ms(uint t);
void sudu();
void moshi();
void ziran();

void main(void)
{
        TimeConfig();
        while(1)
        {
                moshi();
        }
}

void delay1ms(uint t){
        char i;
        while(t--)
                {
                 for(i=0;i<50;i++);
        }
}


void TimeConfig()
{
        TMOD|= 0x11;   

  
        TH1 = 0xFE;
        TL1 = 0x0C;
        ET1 = 1;
        EA = 1;
        TR1 = 1;   
     
  TH0=0xD8;//(65536-10000)/256;
        TL0=0xF0;//(65536-10000)%256;//10ms
        ET0=1;      
        TR0=1;
}



void Time1(void) interrupt 3   
{        
        TR0=0;
        TH1 = 0xFE;  
        TL1 = 0x0C;
        TR0=1;
        timer1++;   
}

void Time0(void) interrupt 1   
{
        TR1=0;
        TH0=0xD8;
        TL0=0xF0;
        TR1=1;
        timer0++;
        if(timer0>1200)  
        {
                timer0=0;
        }        
}

void sudu()
{
         if(k2==0)
         {
                 delay1ms(10);
                 if(k2==0)
                {
                        n+=1;
                        if(n>3)
                        {n=1;
                        }
                  while(!k2);
           }
         }
                switch(n)
                 {
                        case 1:sunumber=15;break;
                        case 2:sunumber=50;break;
                        case 3:sunumber=90;break;
                 }
                if(timer1>100)  
                {
                        timer1=0;
                }
                if(timer1<sunumber)      
                {
                        moto=1;
                }
                else
                {
                        moto=0;
                }

}

void moshi()
{
        if(k3==0)
        {
         delay1ms(10);
         if(k3==0)
                {
                  m+=1;
                        if(m>2)
                        {m=1;
                        }
                  while(!k3);
                }
        }
                switch(m)
                {
                        case 1:sudu();break;
                        case 2:ziran();break;
//                        case 3:sunumber=90;break;
                }
}

void ziran()
{               
          ET0=1;         
                TR0=1;
                if(timer0<400)        
                {
                        sudu();
                }
                else
                {
                        
                        moto=0;
                }
               
        }



作者: wys91203    時間: 2023-6-13 05:35
兩個定時器都用方式1,16位,自然優先級是T0高于T1, 但在中斷程序中,有錯誤,T0中斷 INTERRUPT1
  子程序里,停止了T0空斷.
   void Time1(void) interrupt 3   
{        
        TR0=0;   //應是TR1=0
        TH1 = 0xFE;  
        TL1 = 0x0C;
        TR0=1;
        timer1++;   
}
作者: xuyaqi    時間: 2023-6-13 09:33
你定義:unsigned char timer0;
判斷要求,if(timer0>1200),后邊程序不能執行。





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产婷婷精品av在线 | 欧美视频免费在线观看 | 久久天天躁狠狠躁夜夜躁2014 | 亚洲国产精品一区二区久久 | 日韩视频精品 | 国产精品美女一区二区三区 | 国产美女黄色 | 奇米视频777| 国产成人在线一区二区 | 国产精品1区 | 妞干网av | 91夜色在线观看 | 国产精品伦理一区二区三区 | 日韩视频观看 | www.99热这里只有精品 | 91久久久久久久久久久久久 | 国产精品久久久久久久久久久久久 | 不卡在线视频 | 日日噜噜夜夜爽爽狠狠 | 亚洲精品一区中文字幕乱码 | 色精品 | 国产一区二区自拍 | 一久久久| 亚洲精视频 | 青青草原综合久久大伊人精品 | 天天爽天天干 | 国产一区二区精品在线观看 | 成人免费网站www网站高清 | 色播视频在线观看 | 久久久一二三区 | 亚洲日本一区二区 | 美女爽到呻吟久久久久 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 日韩a | 国产精品久久久久久福利一牛影视 | 亚洲av毛片成人精品 | 精品三区 | 国产在线观看一区二区 | 亚洲看片网站 | 三级黄片毛片 | 91综合网|