找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5330|回复: 25
收起左侧

大佬帮帮忙,这问题怎么解决,为什么只有一个时间到了,可以自动关闭灯亮,另一组不行

  [复制链接]
回帖奖励 5 黑币 回复本帖可获得 5 黑币奖励! 每人限 1 次
ID:287703 发表于 2018-5-12 13:41 | 显示全部楼层 |阅读模式
为什么只有一个时间到了,可以自动关闭灯亮,另一组不行,是不中断哪里不对
  1. #include <STC15W.H>
  2. #include <intrins.h>
  3. #include "delay.h"
  4. #include "stceeprom.h"
  5. #include "config.h"
  6. #include "configkey.h"
  7. unsigned int tcount,tcount1;
  8. unsigned char m,z=0,v=0;
  9. static unsigned char second,minute,qd,qd1,minute1,second1;
  10. sbit feng =P1^2;             //蜂鸣器

  11. sbit P3_2 =P1^4;             //11
  12. sbit P3_3 =P1^3;             //14
  13. sbit P3_4 =P1^5;             //12

  14. sbit P2_1 =P2^1;             //jia 1
  15. sbit P2_2 =P2^2;             //jian        1
  16. sbit P2_3 =P2^3;                 //qdjia 1
  17. sbit P2_4 =P2^4;                  //qdjian 1
  18. sbit P2_5 =P2^5;                 //kai 1
  19. sbit P2_6 =P3^3;                 //kai DENG        1

  20. sbit P4_1 =P2^0;             //jia 2
  21. sbit P4_2 =P3^4;             //jian        2
  22. sbit P4_3 =P3^5;                 //qdjia 2
  23. sbit P4_4 =P3^6;                  //qdjian 2
  24. sbit P4_5 =P3^7;                 //kai 2
  25. sbit P4_6 =P3^2;                 //kai DENG         2

  26. bit Light_look=1;        //光源关断标志
  27. unsigned char code fseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  28. unsigned char code segbit[]={0x08,0x04,0x02,0x01,0x80,0x40,0x20,0x10};
  29. unsigned char  disbuf[8]={0,0,0,0,0,0,0,0};



  30. //void Timer0Init(void)      
  31. //{
  32. //          TMOD &= 0xf0;
  33. //      TMOD |= 0x01;               
  34. //      TL1 = 0xCD;
  35. //          TH1 = 0xD4;
  36. //          TF0 = 0;
  37. //      EA=1;                     
  38. //}
  39. //void Timer1Init(void)      
  40. //{
  41. //          TMOD &= 0x0f;
  42. //      TMOD |= 0x10;         
  43. //      TH1=0xCD;                 
  44. //      TL1=0xD4;
  45. //          TF1 = 0;        
  46. //      EA=1;                    
  47. //}


  48. //蜂鸣器//
  49. void beep()
  50. {        
  51.   if(voice_time_cnt)  //控制蜂鸣器声音的长短
  52.         {
  53.                 feng=0;         //蜂鸣器响
  54.                 --voice_time_cnt;    //蜂鸣器响的声音长短的计数延时
  55.         }
  56.         else
  57.         {
  58.                 feng=1;      //蜂鸣器停止
  59.         }  
  60. }



  61. //数据传输//
  62. void sdata(void)
  63. {
  64.     unsigned char b,c,num;
  65.          if(b==0)
  66.         {        
  67.           b++;
  68.          num=segbit[m];
  69.           for(c=0;c<8;c++)
  70.                   {P3_2=0;
  71.                    P3_3=num&0x80;
  72.                    num<<=1;
  73.                    P3_2=1;
  74.            }        
  75.         }

  76.         if(b==1)

  77.         {  
  78.             b--;
  79.                 if(m==2)
  80.                 {
  81.                 num=fseg[disbuf[m]]|0x80;
  82.                 }
  83.                 else
  84.                 {
  85.         num=fseg[disbuf[m]];
  86.                 }
  87.                  for(c=0;c<8;c++)
  88.                    {  P3_2=0;
  89.                          P3_3=num&0x80;
  90.                          num<<=1;
  91.                          P3_2=1;
  92.                    }
  93.         
  94.         }
  95.              m++;
  96.              if(m==8)
  97.                  {m=0;
  98.                      }
  99. }



  100. //延时0.1ms个单位//

  101. void delay (unsigned char h)
  102.   {        
  103.          
  104.     while(h--);
  105.   }


  106. //数据输出//
  107. void out(void)
  108. {
  109.   P3_4=0;
  110.   delay(500);
  111.   P3_4=1;
  112. }

  113. void display(void)
  114. {
  115.     disbuf[0]=qd%10;
  116.         disbuf[1]=qd/10;
  117.         disbuf[2]=minute%10;
  118.         disbuf[3]=minute/10;
  119.         disbuf[4]=qd1%10;
  120.         disbuf[5]=qd1/10;
  121.         disbuf[6]=minute1%10;
  122.         disbuf[7]=minute1/10;
  123. }

  124.   //按键控制//
  125. void bcon(void)
  126.    {
  127.         if(P2_1==1)//
  128.         {
  129.                 key_lock1=0;                          //按键自锁标志清零
  130.                 delay_cnt1=0;                         //按键去抖动延时计数器清零
  131.     if(key_lock1_Short==1)
  132.                 {        key_lock1_Short=0;
  133.                         key_sec=1;        //触发1号键
  134.                 }         
  135.         }
  136.         else if(key_lock1==0)  //有按键按下,且是第一次被按下
  137.         {
  138.                 ++delay_cnt1;                           //延时计数器
  139.                 if(delay_cnt1>cnt_delay_cnt1)
  140.                 { key_lock1_Short=1;
  141.       if(delay_cnt1>cnt_delay_cnt2)
  142.       { key_lock1_Short=0;
  143.         delay_cnt1=0;
  144. //        key_lock1=1;                  //自锁按键置位,避免一直触发
  145.         key_sec=11;                    //触发11号键
  146.       }
  147.     }
  148.         }
  149.          if(P2_2==1)//
  150.         {
  151.                 key_lock2=0;                          //按键自锁标志清零
  152.                 delay_cnt2=0;                         //按键去抖动延时计数器清零
  153.     if(key_lock2_Short==1)
  154.                 {        key_lock2_Short=0;
  155.                         key_sec=2;        //触发1号键
  156.                 }         
  157.         }
  158.         else if(key_lock2==0)  //有按键按下,且是第一次被按下
  159.         {
  160.                 ++delay_cnt2;                           //延时计数器
  161.                 if(delay_cnt2>cnt_delay_cnt1)
  162.                 { key_lock2_Short=1;
  163.       if(delay_cnt2>cnt_delay_cnt2)
  164.       { key_lock2_Short=0;
  165.         delay_cnt2=0;
  166. //        key_lock1=1;                  //自锁按键置位,避免一直触发
  167.         key_sec=12;                    //触发11号键
  168.       }
  169.     }
  170.         }
  171.         if(P2_3==1)//
  172.         {
  173.                 key_lock3=0;                          //按键自锁标志清零
  174.                 delay_cnt3=0;                         //按键去抖动延时计数器清零
  175.     if(key_lock3_Short==1)
  176.                 {        key_lock3_Short=0;
  177.                         key_sec=3;        //触发1号键
  178.                 }         
  179.         }
  180.         else if(key_lock3==0)  //有按键按下,且是第一次被按下
  181.         {
  182.                 ++delay_cnt3;                           //延时计数器
  183.                 if(delay_cnt3>cnt_delay_cnt1)
  184.                 { key_lock3_Short=1;
  185.       if(delay_cnt3>cnt_delay_cnt2)
  186.       { key_lock3_Short=0;
  187.         delay_cnt3=0;
  188. //        key_lock1=1;                  //自锁按键置位,避免一直触发
  189.         key_sec=13;                    //触发11号键
  190.       }
  191.     }
  192.         }
  193.          if(P2_4==1)//
  194.         {
  195.                 key_lock4=0;                          //按键自锁标志清零
  196.                 delay_cnt4=0;                         //按键去抖动延时计数器清零
  197.     if(key_lock4_Short==1)
  198.                 {        key_lock4_Short=0;
  199.                         key_sec=4;        //触发1号键
  200.                 }         
  201.         }
  202.         else if(key_lock4==0)  //有按键按下,且是第一次被按下
  203.         {
  204.                 ++delay_cnt4;                           //延时计数器
  205.                 if(delay_cnt4>cnt_delay_cnt1)
  206.                 { key_lock4_Short=1;
  207.       if(delay_cnt4>cnt_delay_cnt2)
  208.       { key_lock4_Short=0;
  209.         delay_cnt4=0;
  210. //        key_lock1=1;                  //自锁按键置位,避免一直触发
  211.         key_sec=14;                    //触发11号键
  212.       }
  213.     }
  214.         }
  215.         
  216.          if(P2_5 ==1)                                 //kaishi
  217.         {
  218.                 key_lock5=0;  //按键自锁标志清零
  219.                 delay_cnt5=0; //按键去抖动延时计数器清零
  220.                         
  221.         }
  222.         else
  223.         {
  224.                 if(key_lock5==0)  //有按键按下,且是第一次被按下
  225.                 {
  226.                         ++delay_cnt5;  //延时计数器
  227.                         if(delay_cnt5>cnt_delay_cnt1)
  228.                         {        
  229.                                 delay_cnt5=0;   //按键去抖动延时计数器清零
  230.                                 key_lock5=1;          //自锁按键置位,避免一直触发
  231.                             key_sec=5;            //触发5号键
  232.                         }
  233.                 }
  234.         }

  235.    if(P4_1==1)//
  236.         {
  237.                 key_lock6=0;                          //按键自锁标志清零
  238.                 delay_cnt6=0;                         //按键去抖动延时计数器清零
  239.     if(key_lock6_Short==1)
  240.                 {        key_lock6_Short=0;
  241.                         key_sec=20;        //触发1号键
  242.                 }         
  243.         }
  244.         else if(key_lock6==0)  //有按键按下,且是第一次被按下
  245.         {
  246.                 ++delay_cnt6;                           //延时计数器
  247.                 if(delay_cnt6>cnt_delay_cnt1)
  248.                 { key_lock6_Short=1;
  249.       if(delay_cnt6>cnt_delay_cnt2)
  250.       { key_lock6_Short=0;
  251.         delay_cnt6=0;
  252. //        key_lock1=1;                  //自锁按键置位,避免一直触发
  253.         key_sec=30;                    //触发11号键
  254.       }
  255.     }
  256.         }
  257.         if(P4_2==1)//
  258.         {
  259.                 key_lock7=0;                          //按键自锁标志清零
  260.                 delay_cnt7=0;                         //按键去抖动延时计数器清零
  261.     if(key_lock7_Short==1)
  262.                 {        key_lock7_Short=0;
  263.                         key_sec=21;        //触发1号键
  264.                 }         
  265.         }
  266.         else if(key_lock7==0)  //有按键按下,且是第一次被按下
  267.         {
  268.                 ++delay_cnt7;                           //延时计数器
  269.                 if(delay_cnt7>cnt_delay_cnt1)
  270.                 { key_lock7_Short=1;
  271.       if(delay_cnt7>cnt_delay_cnt2)
  272.       { key_lock7_Short=0;
  273.         delay_cnt7=0;
  274. //        key_lock1=1;                  //自锁按键置位,避免一直触发
  275.         key_sec=31;                    //触发11号键
  276.       }
  277.     }
  278.         }
  279.          if(P4_3==1)//
  280.         {
  281.                 key_lock8=0;                          //按键自锁标志清零
  282.                 delay_cnt8=0;                         //按键去抖动延时计数器清零
  283.     if(key_lock8_Short==1)
  284.                 {        key_lock8_Short=0;
  285.                         key_sec=22;        //触发1号键
  286.                 }         
  287.         }
  288.         else if(key_lock8==0)  //有按键按下,且是第一次被按下
  289.         {
  290.                 ++delay_cnt8;                           //延时计数器
  291.                 if(delay_cnt8>cnt_delay_cnt1)
  292.                 { key_lock8_Short=1;
  293.       if(delay_cnt8>cnt_delay_cnt2)
  294.       { key_lock8_Short=0;
  295.         delay_cnt8=0;
  296. //        key_lock1=1;                  //自锁按键置位,避免一直触发
  297.         key_sec=32;                    //触发11号键
  298.       }
  299.     }
  300.         }
  301.         if(P4_4==1)//
  302.         {
  303.                 key_lock9=0;                          //按键自锁标志清零
  304.                 delay_cnt9=0;                         //按键去抖动延时计数器清零
  305.     if(key_lock9_Short==1)
  306.                 {        key_lock9_Short=0;
  307.                         key_sec=23;        //触发1号键
  308.                 }         
  309.         }
  310.         else if(key_lock9==0)  //有按键按下,且是第一次被按下
  311.         {
  312.                 ++delay_cnt9;                           //延时计数器
  313.                 if(delay_cnt9>cnt_delay_cnt1)
  314.                 { key_lock9_Short=1;
  315.       if(delay_cnt9>cnt_delay_cnt2)
  316.       { key_lock9_Short=0;
  317.         delay_cnt9=0;
  318. //        key_lock1=1;                  //自锁按键置位,避免一直触发
  319.         key_sec=33;                    //触发11号键
  320.       }
  321.     }
  322.         }
  323.         if(P4_5 ==1)                                 //kaishi
  324.         {
  325.                 key_lock10=0;  //按键自锁标志清零
  326.                 delay_cnt10=0; //按键去抖动延时计数器清零
  327.                         
  328.         }
  329.         else
  330.         {
  331.                 if(key_lock10==0)  //有按键按下,且是第一次被按下
  332.                 {
  333.                         ++delay_cnt10;  //延时计数器
  334.                         if(delay_cnt10>cnt_delay_cnt1)
  335.                         {        
  336.                                 delay_cnt10=0;   //按键去抖动延时计数器清零
  337.                                 key_lock10=1;          //自锁按键置位,避免一直触发
  338.                             key_sec=24;            //触发5号键
  339.                         }
  340.                 }
  341.         }
  342. }

  343. void Key_server(void)
  344. {  
  345.         if(key_sec==1)
  346.         {
  347.                 key_sec=0;
  348.             voice_time_cnt=cnt_voice_time;
  349.                 minute++;
  350.                 if(minute>30)
  351.                         {
  352.         minute=1;                                       
  353.                   }        
  354.         }
  355.    if(key_sec==2)
  356.         {
  357.                 key_sec=0;
  358.                 voice_time_cnt=cnt_voice_time;
  359.                
  360.                         if(minute==0)
  361.                         {
  362.                           minute=31;
  363.                         }
  364.                         minute--;
  365.                         if(minute<1)
  366.                         {
  367.              minute=30;                                       
  368.                     }
  369.         
  370.         }                        
  371.    if(key_sec==3)
  372.         {
  373.                 key_sec=0;
  374.                 voice_time_cnt=cnt_voice_time;
  375.                 qd++;
  376.                 if(qd>3)
  377.                         {
  378.         qd=1;                                       
  379.                   }
  380.         }                        
  381.    if(key_sec==4)
  382.         {
  383.             key_sec=0;
  384.                 voice_time_cnt=cnt_voice_time;
  385.                         if(qd==0)
  386.                         {
  387.                           qd=4;
  388.                         }
  389.                 qd--;
  390.                 if(qd<1)
  391.                         {
  392.             qd=3;                                       
  393.                   }         
  394.                
  395.                
  396.         }
  397.         if(key_sec==5)
  398.         {
  399.             key_sec=0;
  400.                 voice_time_cnt=cnt_voice_time;  
  401.                 P2_6=~P2_6;  //
  402.                
  403.     if(P2_6==0)
  404.     {
  405.      TR0=1;
  406.          z=qd;
  407.     }
  408.     else
  409.     {
  410.       TR0=0;
  411.           z=0;
  412.           qd=0;
  413.           minute=0;
  414.     }

  415.         }




  416.    if(key_sec==11)
  417.         {
  418.                 key_sec=0;
  419.                 minute++;
  420.                 if(minute>30)
  421.                         {
  422.               minute=1;                                       
  423.                     }        
  424.         }
  425.         if(key_sec==12)
  426.         {
  427.                 key_sec=0;
  428.                 minute--;
  429.                 if(minute<1)
  430.                         {
  431.               minute=30;                                       
  432.                     }        
  433.         }
  434.    if(key_sec==13)
  435.         {
  436.                 key_sec=0;
  437.                 qd++;
  438.                 if(qd>3)
  439.                         {
  440.               qd=1;                                       
  441.                     }        
  442.         }
  443.    if(key_sec==14)
  444.         {
  445.                 key_sec=0;
  446.                 qd--;
  447.                 if(qd<1)
  448.                         {
  449.               qd=3;                                       
  450.                     }        
  451.         }


  452.    if(key_sec==20)
  453.         {
  454.                 key_sec=0;
  455.             voice_time_cnt=cnt_voice_time;
  456.                 minute1++;
  457.                 if(minute1>30)
  458.                         {
  459.         minute1=1;                                       
  460.                   }        
  461.         }
  462.    if(key_sec==21)
  463.         {
  464.                 key_sec=0;
  465.                 voice_time_cnt=cnt_voice_time;
  466.                
  467.                         if(minute1==0)
  468.                         {
  469.                           minute1=31;
  470.                         }
  471.                         minute1--;
  472.                         if(minute1<1)
  473.                         {
  474.              minute1=30;                                       
  475.                     }
  476.         
  477.         }                        
  478.    if(key_sec==22)
  479.         {
  480.                 key_sec=0;
  481.                 voice_time_cnt=cnt_voice_time;
  482.                 qd1++;
  483.                 if(qd1>3)
  484.                         {
  485.         qd1=1;                                       
  486.                   }
  487.         }                        
  488.    if(key_sec==23)
  489.         {
  490.             key_sec=0;
  491.                 voice_time_cnt=cnt_voice_time;
  492.                         if(qd1==0)
  493.                         {
  494.                           qd1=4;
  495.                         }
  496.                 qd1--;
  497.                 if(qd1<1)
  498.                         {
  499.             qd1=3;                                       
  500.                   }         
  501.                
  502.                
  503.         }
  504.         if(key_sec==24)
  505.         {
  506.             key_sec=0;
  507.                 voice_time_cnt=cnt_voice_time;  
  508.                 P4_6=~P4_6;  //
  509.                
  510.     if(P4_6==0)//吹风工作
  511.     {
  512.      TR1=1;
  513.          v=qd1;
  514.     }
  515.     else
  516.     {
  517.       TR1=0;
  518.           v=0;
  519.           qd1=0;
  520.           minute1=0;
  521.     }

  522.         }

  523.    if(key_sec==30)
  524.         {
  525.                 key_sec=0;
  526.                 minute1++;
  527.                 if(minute1>30)
  528.                         {
  529.               minute1=1;                                       
  530.                     }        
  531.         }
  532.         if(key_sec==31)
  533.         {
  534.                 key_sec=0;
  535.                 minute1--;
  536.                 if(minute1<1)
  537.                         {
  538.               minute1=30;                                       
  539.                     }        
  540.         }
  541.    if(key_sec==32)
  542.         {
  543.                 key_sec=0;
  544.                 qd1++;
  545.                 if(qd1>3)
  546.                         {
  547.               qd1=1;                                       
  548.                     }        
  549.         }
  550.    if(key_sec==33)
  551.         {
  552.                 key_sec=0;
  553.                 qd1--;
  554.                 if(qd1<1)
  555.                         {
  556.               qd1=3;                                       
  557.                     }        
  558.         }
  559. }

  560.   //主函数//
  561. void main(void)
  562. {
  563.   TMOD=0x22;
  564.   TH0=0x06;
  565.   TL0=0x06;
  566.   TH1=0x06;
  567.   TL1=0x06;
  568.   ET0=1;
  569.   ET1=1;
  570.   EA=1;
  571.   P2_6=1;
  572.   P4_6=1;
  573.   feng=1;
  574.   Init_PWM0();
  575.   Init_PWM1();
  576.   CCAP0L=CCAP0H=0;
  577.   CCAP1L=CCAP1H=0;
  578.   Light_look=1;
  579.   while(1)
  580.   {        
  581.    switch(z)
  582.   {          case 0:CCAP1L=CCAP1H=0; break;
  583.           case 1:CCAP1L=CCAP1H=132;break;
  584.           case 2:CCAP1L=CCAP1H=133; break;
  585.           case 3:CCAP1L=CCAP1H=140;break;
  586.   }
  587.     switch(v)
  588.   {          case 0:CCAP0L=CCAP0H=0; break;
  589.           case 1:CCAP0L=CCAP0H=132;break;
  590.           case 2:CCAP0L=CCAP0H=133; break;
  591.           case 3:CCAP0L=CCAP0H=140;break;
  592.   }
  593.    beep();
  594.    Key_server();
  595.    sdata();
  596.    out();
  597.    bcon();
  598.    display();
  599.   }      
  600. }
  601. void t0_isr() interrupt 1        using 0
  602. {
  603.     tcount++;
  604.     if(tcount==4000)
  605.           {
  606.             tcount=0;
  607.                 second++;
  608.                 if(second==60)
  609.         {
  610.           second=0;
  611.               minute--;                          
  612.         }               
  613.      }   
  614.         if(minute==0)           
  615.   {
  616.         feng=1;
  617.     TR0=0;
  618.     minute=0;
  619.         qd=0;
  620.         z=0;
  621.         P2_6=1;
  622.     voice_time_cnt=cnt_voice_time2;
  623.   }        
  624. }
  625. void t1_isr() interrupt 3  using 0
  626. {
  627.           tcount1++;
  628.     if(tcount1==4000)
  629.           {
  630.             tcount1=0;
  631.                 second1++;
  632.                 if(second1==60)
  633.         {
  634.           second1=0;
  635.               minute1--;                          
  636.         }               
  637.      }   
  638.         if(minute1==0)           
  639.   {
  640.         feng=1;
  641.     TR1=0;
  642.     minute1=0;
  643.         qd1=0;
  644.         v=0;
  645.         P4_6=1;
  646.     voice_time_cnt=cnt_voice_time2;
  647.   }                       
  648. }
复制代码




回复

使用道具 举报

ID:328455 发表于 2018-5-12 19:50 | 显示全部楼层
中断错了
回复

使用道具 举报

ID:328755 发表于 2018-5-13 11:56 | 显示全部楼层
中断?
回复

使用道具 举报

ID:328879 发表于 2018-5-13 15:07 | 显示全部楼层
可能是中断
回复

使用道具 举报

ID:227241 发表于 2018-5-13 16:42 | 显示全部楼层
我看看
回复

使用道具 举报

ID:329016 发表于 2018-5-13 18:31 | 显示全部楼层
中断有问题吧?
回复

使用道具 举报

ID:329137 发表于 2018-5-13 21:20 | 显示全部楼层
这个是51的哪一款单片机。有定时器中断3么
回复

使用道具 举报

ID:287703 发表于 2018-5-14 08:43 | 显示全部楼层
鹅鹅鹅是我 发表于 2018-5-13 21:20
这个是51的哪一款单片机。有定时器中断3么

stc15w408as
回复

使用道具 举报

ID:319019 发表于 2018-5-14 10:04 | 显示全部楼层
//void Timer0Init(void)      
//{
//          TMOD &= 0xf0;
//      TMOD |= 0x01;               
//      TL1 = 0xCD;
//          TH1 = 0xD4;
//          TF0 = 0;
//      EA=1;                     
//}
//void Timer1Init(void)      
//{
//          TMOD &= 0x0f;
//      TMOD |= 0x10;         
//      TH1=0xCD;                 
//      TL1=0xD4;
//          TF1 = 0;        
//      EA=1;                    
//}


加//,这样定时器有开?
回复

使用道具 举报

ID:287703 发表于 2018-5-14 10:55 | 显示全部楼层
zhdp 发表于 2018-5-14 10:04
//void Timer0Init(void)      
//{
//          TMOD &= 0xf0;

我在主程序里加了
回复

使用道具 举报

ID:329662 发表于 2018-5-14 15:51 | 显示全部楼层
应该是中断有问题
回复

使用道具 举报

ID:287703 发表于 2018-5-14 17:11 | 显示全部楼层

没查出来
回复

使用道具 举报

ID:323086 发表于 2018-5-14 20:11 | 显示全部楼层
感觉中断错了吧
回复

使用道具 举报

ID:287703 发表于 2018-5-14 20:13 | 显示全部楼层

正在找问题,还没找到
回复

使用道具 举报

ID:287703 发表于 2018-5-14 20:13 | 显示全部楼层

大佬看看,请指点
回复

使用道具 举报

ID:287703 发表于 2018-5-14 20:14 | 显示全部楼层

请指点,谢谢
回复

使用道具 举报

ID:330141 发表于 2018-5-15 09:31 | 显示全部楼层
程序较乱,部分变量定义(取名)过于随意,不明所以,请先大致阐述程序要实现什么东西及流程。程序的关键语句最好注释。只有别人了解你的意图,才好帮你查找原因。
回复

使用道具 举报

ID:330198 发表于 2018-5-15 10:08 | 显示全部楼层
你可以用Keil自带的debug功能一步一步执行程序。
回复

使用道具 举报

ID:287703 发表于 2018-5-15 10:21 | 显示全部楼层
我把T1改成T2就好了,谢谢大家的帮忙
回复

使用道具 举报

ID:287703 发表于 2018-5-15 10:23 | 显示全部楼层
jianghu2046 发表于 2018-5-15 09:31
程序较乱,部分变量定义(取名)过于随意,不明所以,请先大致阐述程序要实现什么东西及流程。程序的关键语 ...

嗯,谢谢,我会注意这方面
回复

使用道具 举报

ID:287703 发表于 2018-5-15 13:21 | 显示全部楼层
zhanghyg 发表于 2018-5-15 10:08
你可以用Keil自带的debug功能一步一步执行程序。

好的,谢谢
回复

使用道具 举报

ID:330354 发表于 2018-5-15 13:31 | 显示全部楼层
中断错了?
回复

使用道具 举报

ID:309640 发表于 2018-5-15 22:19 | 显示全部楼层
中断重新找个正确的定时器例程对照检查下
回复

使用道具 举报

ID:331646 发表于 2018-5-16 21:23 | 显示全部楼层
中断间隔设置有问题吧
回复

使用道具 举报

ID:287703 发表于 2018-5-17 08:45 | 显示全部楼层
WZHHH 发表于 2018-5-16 21:23
中断间隔设置有问题吧

看手册很重要,我用的这个没有T1,对自己也无语了,谢谢各位大佬帮忙
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表