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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2659|回復: 7
打印 上一主題 下一主題
收起左側

單片機里程表脈沖清零后,顯示跟著變,搞了三天還沒搞好

[復制鏈接]
跳轉到指定樓層
樓主
設計一個單片機里程表用的中斷0外部檢測信號,定時器1做1秒更新:具體如下

中斷0函數
{
    count++;
}

定時器1函數
{   
     //50ms初值
     a++;
    if(a==20)      //1秒時間
     {
         a=0;
        num=count;     //count的值給 num,   num送到顯示屏
       _nop_;
      _nop_;
       count=0;       //count數清零
     }
}

問題是,count清零時,num也跟著變了,在顯示屏上的反應就是屏上的數值1S跳動一次,可是被測信號一直是沒有變的,
看了此論壇好多相似的程序,都是這么操作的,他們為什么可以,我的為什么不行呢,
搞 了幾天了,知道的方法都試了就是不行
完整代碼如下:
  1. #include"STC15F2K60S2.H"
  2. //#include <reg52.H>
  3. #include <intrins.h>
  4. #include <chinese_code.h>

  5. //sbit key=P3^2;
  6. sbit cs1=P1^4;      
  7. sbit reset=P1^5;
  8. sbit rs=P1^3;
  9. sbit sclk=P1^0;
  10. sbit sid=P1^1;
  11. sbit led=P0^0;

  12. //sbit cruise     =P1^0;                           //  開關
  13. sbit plus_A     =P3^7;                           //  速度上升
  14. //sbit cool       =P1^3;                           //      
  15. sbit plus_B     =P3^6;                       //        溫度下降


  16. #define uchar unsigned char
  17. #define uint unsigned int
  18. #define ulong unsigned long

  19. uint count;
  20. static ulong  speed;
  21. uint a;
  22. uint speed_set, temp_set;
  23. bit flag;


  24. /*延時:1毫秒的i倍*/
  25. void delay(int i)               
  26. {
  27.         int j,k;
  28.         for(j=0;j<i;j++)
  29.                 for(k=0;k<110;k++);
  30. }

  31. /*延時:1us的i倍*/
  32. void delay_us(int i)               
  33. {
  34.         int j,k;
  35.         for(j=0;j<i;j++)
  36.                 for(k=0;k<1;k++);
  37. }



  38. //=============transfer command to LCM===============
  39. void transfer_command(int data1)     
  40. {      
  41.         char i;
  42.         cs1=0;
  43.         rs=0;
  44.         for(i=0;i<8;i++)
  45.         {
  46.                 sclk=0;
  47.                 if(data1&0x80) sid=1;
  48.                 else sid=0;
  49.                 sclk=1;
  50.                 data1=data1<<=1;
  51.         }
  52. }

  53. //-----------transfer data to LCM---------------
  54. void transfer_data(int data1)
  55. {
  56.         char i;
  57.         cs1=0;
  58.         rs=1;
  59.         for(i=0;i<8;i++)
  60.         {
  61.                 sclk=0;
  62.                 if(data1&0x80) sid=1;
  63.                 else sid=0;
  64.                 sclk=1;
  65.                 data1=data1<<=1;
  66.         }
  67. }

  68. void initial_lcd()
  69. {   
  70.         reset=0;
  71.         delay(100);
  72.         reset=1;
  73.         delay(100);
  74.         transfer_command(0x30);   //EXT=0
  75.         transfer_command(0x94);   //Sleep out
  76.         transfer_command(0x31);   //EXT=1
  77.         transfer_command(0xD7);   //Autoread disable
  78.         transfer_data(0X9F);      //

  79.         transfer_command(0x32);   //Analog SET
  80.         transfer_data(0x00);                  //OSC Frequency adjustment
  81.         transfer_data(0x01);                  //Frequency on booster capacitors->6KHz
  82.         transfer_data(0x04);                  //Bias=1/11

  83.         transfer_command(0x20);   // Gray Level
  84.         transfer_data(0x01);
  85.         transfer_data(0x03);
  86.         transfer_data(0x05);
  87.         transfer_data(0x07);
  88.         transfer_data(0x09);
  89.         transfer_data(0x0b);
  90.         transfer_data(0x0d);
  91.         transfer_data(0x10);
  92.         transfer_data(0x11);
  93.         transfer_data(0x13);
  94.         transfer_data(0x15);
  95.         transfer_data(0x17);
  96.         transfer_data(0x19);
  97.         transfer_data(0x1b);
  98.         transfer_data(0x1d);
  99.         transfer_data(0x1f);

  100.         transfer_command(0x30);   // EXT1=0,EXT0=0,表示選擇了“擴展指令表1”
  101.         transfer_command(0x75);   // 頁地址設置
  102.         transfer_data(0X00);      // 起始頁地址:YS=0X00
  103.         transfer_data(0X14);      // 結束頁地址:YE=0x1F        每4行為一頁,第0~3行為第0頁,第124~127行為第31頁(31=0x1f)
  104.         transfer_command(0x15);   // 列地址設置
  105.         transfer_data(0X00);      // 起始列地址:XS=0
  106.         transfer_data(0Xff);      // 結束列地址:XE=256(0xff)

  107.         transfer_command(0xBC);    //Data scan direction
  108.         transfer_data(0x00);                   //MX.MY=Normal
  109.         transfer_data(0xA6);
  110.       
  111.         transfer_command(0x0c);    //數據格式選擇,0x0C是低位在前D0-D7,0x08是高位在前D7-D0

  112.         transfer_command(0xCA);    //顯示控制
  113.         transfer_data(0X00);                   // 設置CL驅動頻率:CLD=0
  114.         transfer_data(0X4F);                   //占空比:Duty=128
  115.         transfer_data(0X20);                   //N行反顯:Nline=off

  116.         transfer_command(0xF0);    //顯示模式  
  117.         transfer_data(0X10);                   //如果設為0x11:表示選擇4灰度級模式,如果設為0x10:表示選擇黑白模式

  118.         transfer_command(0x81);    //設置對比度,“0x81”不可改動,緊跟著的2個數據是可改的,但“先微調后粗調”這個順序別亂了
  119.         transfer_data(0x2f);                    //對比度微調,可調范圍0x00~0x3f,共64級  //0x2f
  120.         transfer_data(0x02);                   //對比度粗調,可調范圍0x00~0x07,共8級   //0x02
  121.         transfer_command(0x20);    //Power control
  122.         transfer_data(0x0B);                    //D0=regulator ; D1=follower ; D3=booste,  on:1 off:0
  123.         delay_us(100);           
  124.         transfer_command(0xAF);    //打開顯示
  125. }

  126. /*寫LCD 行列地址:X為起始的列地址,Y為起始的行地址,x_total,y_total分別為列地址及行地址的起點到終點的差值 */
  127. void lcd_address(int x,int y,x_total,y_total)
  128. {
  129.         x=x-1;
  130.         y=y-1;//+9
  131.       
  132.         transfer_command(0x15);        //Set Column Address
  133.         transfer_data(x);               
  134.         transfer_data(x+x_total-1);               

  135.         transfer_command(0x75);        //Set Page Address      
  136.         transfer_data(y);               
  137.         transfer_data(y+y_total-1);      
  138.         transfer_command(0x30);      
  139.         transfer_command(0x5c);      
  140. }

  141. /*清屏*/
  142. void clear_screen()
  143. {
  144.         int i,j;

  145.         lcd_address(0,0,161,11);
  146.         for(i=0;i<20;i++)
  147.         {
  148.                 for(j=0;j<161;j++)
  149.                 {
  150.                         transfer_data(0x00);
  151.                 }
  152.         }
  153. }

  154. /*顯示160*80點陣的圖像*/
  155. void disp_160x80(int x,int y,char *dp)
  156. {
  157.         int i,j;

  158.         lcd_address(x,y,160,10);
  159.         for(i=0;i<10;i++)         
  160.         {
  161.                 for(j=0;j<160;j++)  
  162.                 {
  163.                         transfer_data(*dp);
  164.                         dp++;
  165.                 }
  166.         }
  167. }

  168. /*顯示160*8點陣的圖像*/
  169. /*void disp_160x8(int x,int y,char *dp)
  170. {
  171.         int i,j;

  172.         lcd_address(x,y,160,1);

  173.                 for(j=0;j<160;j++)  
  174.                 {
  175.                         transfer_data(*dp);
  176.                         dp++;
  177.                 }
  178.       
  179. }                                                                                              */


  180. /*顯示8*16點陣的漢字或等同于8*16點陣的圖像*/
  181. void disp_8x16(int x,int y,uchar *dp)
  182. {
  183.         int i,j;
  184.         lcd_address(x,y,8,2);
  185.         for(i=0;i<2;i++)
  186.         {
  187.                 for(j=0;j<8;j++)
  188.                 {
  189.                         transfer_data(*dp);
  190.                         dp++;
  191.                 }
  192.         }
  193. }

  194. /*顯示8*48點陣的漢字或等同于8*48點陣的圖像*/
  195. void disp_8x48(int x,int y,uchar *dp)
  196. {
  197.         int i,j;
  198.         lcd_address(x,y,8,6);
  199.         for(i=0;i<6;i++)
  200.         {
  201.                 for(j=0;j<8;j++)
  202.                 {
  203.                         transfer_data(*dp);
  204.                         dp++;
  205.                 }
  206.         }
  207. }




  208. /*顯示16*32點陣的漢字或等同于16*32點陣的圖像*/
  209. void disp_16x32(int x,int y,uchar *cc)
  210. {
  211.         int i,j;
  212.         lcd_address(x,y,16,4);
  213.         for(i=0;i<4;i++)
  214.         {
  215.                 for(j=0;j<16;j++)
  216.                 {
  217.                         transfer_data(*cc);
  218.                         cc++;
  219.                 }
  220.         }
  221. }

  222. void disp_cruise()
  223. {

  224.            disp_8x16(8*1,5, dac);
  225.         disp_8x16(8*2,5, dar);
  226.         disp_8x16(8*3,5, dau);
  227.         disp_8x16(8*4,5, dai);
  228.         disp_8x16(8*5,5, das);
  229.         disp_8x16(8*6,5, dae);

  230.         disp_8x16(8*10,5, dav);
  231.         disp_8x16(8*11,5, dac);
  232.         disp_8x16(8*12,5, dac);         

  233.         disp_8x16(8*15,5, dac);
  234.         disp_8x16(8*16,5, dao);
  235.         disp_8x16(8*17,5, dao);
  236.         disp_8x16(8*18,5, dal);                  //第一行顯示到此

  237.         disp_8x16(8*9,7, x1);
  238.         disp_8x16(8*10,7, x3);
  239.         disp_8x16(8*11,7, dian);
  240.         disp_8x16(8*12,7, x5);
  241.         disp_8x16(8*13,7, xv);                  //第二行顯示


  242.         disp_8x16(8*3,9, dao);
  243.         disp_8x16(8*4,9, dan);

  244.         disp_8x16(8*9,9, da3);
  245.         disp_8x16(8*10,9, da5);
  246.         disp_8x16(8*11,9, dadian);
  247.         disp_8x16(8*12,9, da7);
  248.         disp_8x16(8*13,9, da1c);

  249.         disp_8x16(8*16,9, dao);
  250.         disp_8x16(8*17,9, daf);
  251.         disp_8x16(8*18,9, daf);

  252.         disp_8x48(8*8,5,line1);                   //顯示兩條豎線
  253.         disp_8x48(8*14,5,line1);           //顯示兩條豎線

  254. }



  255. /****************************************
  256. **********速度顯示函數*************/
  257. void disp_speed()
  258. {

  259.     uchar hundred,ten,ge;
  260. /*        if(flag==1)
  261.           {
  262.                    flag=0;
  263.                 speed=count*6696/1000;
  264.                 count=0;
  265.                 a=0;
  266.           }                                  */
  267.     hundred=speed/100;
  268.         ten=speed%100/10;
  269.         ge=speed%10;
  270.            disp_8x16(1,2, das);                        //小S顯示
  271.       
  272.         switch (hundred)
  273.      {
  274.                 case 0:                disp_16x32(16*1,1,c0 );
  275.                         break;
  276.                 case 1:                disp_16x32(16*1,1,c1 );
  277.                         break;
  278.                 case 2:                disp_16x32(16*1,1,c2 );
  279.                         break;
  280.                 case 3:                disp_16x32(16*1,1,c3 );
  281.                         break;
  282.                 case 4:                disp_16x32(16*1,1,c4 );
  283.                         break;
  284.                 case 5 :        disp_16x32(16*1,1,c5 );
  285.                        
  286.                         break;
  287.         default:
  288.                         break;
  289.      }

  290.     switch (ten)
  291.      {
  292.                 case 0:                disp_16x32(16*2,1,c0);
  293.                         break;
  294.                 case 1:                disp_16x32(16*2,1,c1 );
  295.                         break;
  296.                 case 2:                disp_16x32(16*2,1,c2 );
  297.                         break;
  298.                 case 3:                disp_16x32(16*2,1,c3 );
  299.                         break;
  300.                 case 4:                disp_16x32(16*2,1,c4 );
  301.                         break;
  302.                 case 5 :        disp_16x32(16*2,1,c5 );
  303.                         break;
  304.                 case 6:                disp_16x32(16*2,1,c6 );
  305.                         break;
  306.                 case 7:                disp_16x32(16*2,1,c7 );
  307.                         break;
  308.                 case 8:                disp_16x32(16*2,1,c8 );
  309.                         break;
  310.                 case 9:                disp_16x32(16*2,1,c9 );
  311.                         break;

  312.      }
  313.            switch (ge)
  314.      {
  315.                 case 0:                disp_16x32(16*3,1, c0);
  316.                         break;
  317.                 case 1:                disp_16x32(16*3,1, c1);
  318.                         break;
  319.                 case 2:                disp_16x32(16*3,1, c2);
  320.                         break;
  321.                 case 3:                disp_16x32(16*3,1, c3);
  322.                         break;
  323.                 case 4:                disp_16x32(16*3,1, c4);
  324.                         break;
  325.                 case 5 :        disp_16x32(16*3,1, c5);
  326.                         break;
  327.                 case 6:                disp_16x32(16*3,1, c6);
  328.                         break;
  329.                 case 7:                disp_16x32(16*3,1, c7);
  330.                         break;
  331.                 case 8:                disp_16x32(16*3,1, c8);
  332.                         break;
  333.                 case 9:                disp_16x32(16*3,1, c9);
  334.                         break;

  335.      }

  336.     disp_16x32(16*5,1, ck);                                                      
  337.         disp_16x32(16*6,1, cm);
  338.         disp_16x32(16*7,1, c11);
  339.         disp_16x32(16*8,1, ch);                         //此行和上面3行為 KM/h 顯示
  340. }



  341. /*********速度設定顯示函數***************/
  342. void dispspeed_set()
  343. {
  344.         uchar hundred,ten,one;

  345.         hundred=speed_set/100;
  346.         ten=speed_set%100/10;
  347.         one=speed_set%10;
  348.         switch (hundred)
  349.         {
  350.                 case 0:            disp_8x16(8*1,7, x0);
  351.                         break;
  352.                 case 1:            disp_8x16(8*1,7, x1);
  353.                         break;
  354.                 case 2:            disp_8x16(8*1,7, x2);
  355.                         break;
  356.                 case 3:            disp_8x16(8*1,7, x3);
  357.                         break;
  358.                 case 4:            disp_8x16(8*1,7, x4);
  359.                         break;
  360.                 case 5:            disp_8x16(8*1,7, x5);
  361.                         break;
  362.                 case 6:            disp_8x16(8*1,7, x6);
  363.                         break;
  364.                 case 7:            disp_8x16(8*1,7, x7);
  365.                         break;
  366.                 case 8:            disp_8x16(8*1,7, x8);
  367.                         break;
  368.                 case 9:            disp_8x16(8*1,7, x9);
  369.                         break;
  370.                 default:
  371.                         break;
  372.         }

  373.         switch (ten)
  374.         {
  375.                 case 0:            disp_8x16(8*2,7, x0);
  376.                         break;
  377.                 case 1:            disp_8x16(8*2,7, x1);
  378.                         break;
  379.                 case 2:            disp_8x16(8*2,7, x2);
  380.                         break;
  381.                 case 3:            disp_8x16(8*2,7, x3);
  382.                         break;
  383.                 case 4:            disp_8x16(8*2,7, x4);
  384.                         break;
  385.                 case 5:            disp_8x16(8*2,7, x5);
  386.                         break;
  387.                 case 6:            disp_8x16(8*2,7, x6);
  388.                         break;
  389.                 case 7:            disp_8x16(8*2,7, x7);
  390.                         break;
  391.                 case 8:            disp_8x16(8*2,7, x8);
  392.                         break;
  393.                 case 9:            disp_8x16(8*2,7, x9);
  394.                         break;
  395.                 default:
  396.                         break;
  397.         }
  398.         switch (one)
  399.         {
  400.                 case 0:            disp_8x16(8*3,7, x0);
  401.                         break;
  402.                 case 1:            disp_8x16(8*3,7, x1);
  403.                         break;
  404.                 case 2:            disp_8x16(8*3,7, x2);
  405.                         break;
  406.                 case 3:            disp_8x16(8*3,7, x3);
  407.                         break;
  408.                 case 4:            disp_8x16(8*3,7, x4);
  409.                         break;
  410.                 case 5:            disp_8x16(8*3,7, x5);
  411.                         break;
  412.                 case 6:            disp_8x16(8*3,7, x6);
  413.                         break;
  414.                 case 7:            disp_8x16(8*3,7, x7);
  415.                         break;
  416.                 case 8:            disp_8x16(8*3,7, x8);
  417.                         break;
  418.                 case 9:            disp_8x16(8*3,7, x9);
  419.                         break;
  420.                 default:
  421.                         break;
  422.         }               
  423.       
  424.         disp_8x16(8*4,7, xk);
  425.         disp_8x16(8*5,7, xm);
  426.     disp_8x16(8*6,7, gang);
  427.         disp_8x16(8*7,7, xh);
  428. }


  429. /*********溫度設定顯示函數***************/
  430. void disptemp_set()
  431. {
  432.         uchar set1,hundred1,ten1,one1;
  433.         set1=temp_set;
  434.         hundred1=set1/100;
  435.         ten1=set1%100/10;
  436.         one1=set1%10;
  437.         switch (hundred1)
  438.         {
  439.                 case 0:            disp_8x16(8*15,7, x0);
  440.                         break;
  441.                 case 1:            disp_8x16(8*15,7, x1);
  442.                         break;
  443.                 case 2:            disp_8x16(8*15,7, x2);
  444.                         break;
  445.                 case 3:            disp_8x16(8*15,7, x3);
  446.                         break;
  447.                 case 4:            disp_8x16(8*15,7, x4);
  448.                         break;
  449.                 case 5:            disp_8x16(8*15,7, x5);
  450.                         break;
  451.                 case 6:            disp_8x16(8*15,7, x6);
  452.                         break;
  453.                 case 7:            disp_8x16(8*15,7, x7);
  454.                         break;
  455.                 case 8:            disp_8x16(8*15,7, x8);
  456.                         break;
  457.                 case 9:            disp_8x16(8*15,7, x9);
  458.                         break;
  459.                 default:
  460.                         break;
  461.         }

  462.         switch (ten1)
  463.         {
  464.                 case 0:            disp_8x16(8*16,7, x0);
  465.                         break;
  466.                 case 1:            disp_8x16(8*16,7, x1);
  467.                         break;
  468.                 case 2:            disp_8x16(8*16,7, x2);
  469.                         break;
  470.                 case 3:            disp_8x16(8*16,7, x3);
  471.                         break;
  472.                 case 4:            disp_8x16(8*16,7, x4);
  473.                         break;
  474.                 case 5:            disp_8x16(8*16,7, x5);
  475.                         break;
  476.                 case 6:            disp_8x16(8*16,7, x6);
  477.                         break;
  478.                 case 7:            disp_8x16(8*16,7, x7);
  479.                         break;
  480.                 case 8:            disp_8x16(8*16,7, x8);
  481.                         break;
  482.                 case 9:            disp_8x16(8*16,7, x9);
  483.                         break;
  484.                 default:
  485.                         break;
  486.         }
  487.         switch (one1)
  488.         {
  489.                 case 0:            disp_8x16(8*18,7, x0);
  490.                         break;
  491.                 case 1:            disp_8x16(8*18,7, x1);
  492.                         break;
  493.                 case 2:            disp_8x16(8*18,7, x2);
  494.                         break;
  495.                 case 3:            disp_8x16(8*18,7, x3);
  496.                         break;
  497.                 case 4:            disp_8x16(8*18,7, x4);
  498.                         break;
  499.                 case 5:            disp_8x16(8*18,7, x5);
  500.                         break;
  501.                 case 6:            disp_8x16(8*18,7, x6);
  502.                         break;
  503.                 case 7:            disp_8x16(8*18,7, x7);
  504.                         break;
  505.                 case 8:            disp_8x16(8*18,7, x8);
  506.                         break;
  507.                 case 9:            disp_8x16(8*18,7, x9);
  508.                         break;
  509.                 default:
  510.                         break;
  511.         }               
  512.         disp_8x16(8*17,7, dian);
  513.     disp_8x16(8*19,7, x1c);      

  514. }

  515. /**********定時器初始化**********/
  516. void Init_time0(void)
  517. {

  518.    TMOD |= 0x02;          //定時器0工作方式2,8位自動裝入計數

  519.    TH0=0X06;                  //2.5MS定時時間
  520.    TL0=0X06;
  521.    EA=1;
  522.    IT0=0;                         //外部中斷1工作方式(下降沿有效)
  523.    EX0=1;                          //打開外部中斷0
  524.    EX1=1;                          //打開外部中斷1
  525.    IT1=1;

  526.    ET0=1;           // 定時器0中斷允許
  527.    TR0=1;           // 定時器打開
  528. }
  529.                                                                           
  530. /*********外部中斷0****************/
  531. void  exter0() interrupt 0
  532. {

  533.         count++;                        //脈沖數取樣

  534. }



  535. /*********外部中斷1****************/
  536. void  exter1() interrupt 2
  537. {
  538.         if(plus_A==1)
  539.           {
  540.                    speed_set++;
  541.              if(speed_set>=120)
  542.                  {
  543.                            speed_set=120;         
  544.                  }                           
  545.           }
  546.         else
  547.           {
  548.                   speed_set--;
  549.                    if(speed_set<=1)
  550.                      {
  551.                          speed_set=1;         
  552.                      }                           
  553.           }

  554. /*         if(plus_B==1)
  555.           {
  556.                    temp_set++;
  557.              if(temp_set>=32)
  558.                  {
  559.                            temp_set=32;         
  560.                  }                           
  561.           }
  562.         else
  563.           {
  564.                  temp_set--;
  565.                    if(temp_set<=16)
  566.                      {
  567.                          temp_set=16;         
  568.                      }                           
  569.           }                                           */
  570. }                                       

  571. /*******定時器0,8位自動重裝*****/                                                               
  572. void time0() interrupt 1
  573. {
  574.         TH0=0X06;                  //2.5MS定時時間
  575.     TL0=0X06;
  576.         a++;
  577.         if(a==4000)                                 //1S時間刷新一次
  578.           {
  579.         //        EX0=0;
  580.         speed= count*6696/1000;                 //6696=1.86*3600
  581.                 _nop_;
  582.                 _nop_;
  583.                 _nop_;
  584.                    count=0;      
  585.                 flag=1;
  586.         a=0;
  587.         led=~led;
  588.         //        EX0=1;

  589.       }
  590. }                                 
  591. void init_io()
  592. {
  593.         P0M0 = 0x00;
  594.     P0M1 = 0x00;
  595.     P1M0 = 0x00;
  596.     P1M1 = 0x00;
  597.     P2M0 = 0x00;
  598.     P2M1 = 0x00;
  599.     P3M0 = 0x00;
  600.     P3M1 = 0x00;
  601.     P4M0 = 0x00;
  602.     P4M1 = 0x00;
  603.     P5M0 = 0x00;
  604.     P5M1 = 0x00;
  605.     P6M0 = 0x00;
  606.     P6M1 = 0x00;
  607.     P7M0 = 0x00;
  608.     P7M1 = 0x00;      
  609. }

  610. //-----------------------------
  611. void main ()
  612. {      
  613.         init_io();
  614.         flag=0;
  615.         Init_time0();
  616. //        Init_time1();
  617.         initial_lcd();                 //對液晶模塊進行初始化設置
  618. //        clear_screen();
  619. //        disp_160x80(1,1,buick);           //logo disp
  620. //        delay(3000);
  621.         clear_screen();                                                                                       
  622.         while(1)
  623.         {
  624.              disp_speed();
  625.                  disp_cruise();

  626.                  disptemp_set();
  627.                  dispspeed_set();
  628.         }
  629. }
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:303383 發表于 2018-9-26 08:59 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

板凳
ID:396960 發表于 2018-9-26 09:19 | 只看該作者
第二秒到來的時候,count還為零,所以“中斷0”是不是有問題(應該是“外部中斷0”這樣表達吧)?? 中斷關閉了,然后沒開??慢慢調。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:227864 發表于 2018-9-26 15:16 | 只看該作者
phang 發表于 2018-9-26 09:19
第二秒到來的時候,count還為零,所以“中斷0”是不是有問題(應該是“外部中斷0”這樣表達吧)?? 中斷關 ...

是用的外部中斷0
回復

使用道具 舉報

5#
ID:227864 發表于 2018-9-26 15:17 | 只看該作者
小貓貓愛吃魚 發表于 2018-9-26 08:59
你好!把完整的程序發上來看看

稀亂地,有點拿 不出手
回復

使用道具 舉報

6#
ID:396960 發表于 2018-9-26 16:52 | 只看該作者

“外部中斷0”初始化后,第一次中斷會觸發,然后你在“中斷服務函數”中沒有“將中斷標志位清零”?所以下一次本應觸發的中斷沒有響應??

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:396960 發表于 2018-9-26 16:54 | 只看該作者

額,不好意思,說錯了,外部中斷標志位硬件可以清零。。
回復

使用道具 舉報

8#
ID:396960 發表于 2018-9-27 09:02 | 只看該作者
      調下“速度顯示函數”   ?
      判斷flag標志位為1時執行的,和“定時器1”到達1秒時執行的是不是重復了?造成speed的錯誤??因為你在“定時器”到達1秒時就得多需要顯示的speed,在“顯示速度函數”中不用處理多一次了。
      以上。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 荷兰欧美一级毛片 | 干干干操操操 | 中文字幕在线免费视频 | 欧美在线国产精品 | 国产成人高清成人av片在线看 | 亚洲国产成人精品女人 | 久久99精品视频 | 免费视频一区二区 | 国产乱码久久久久久 | 天色综合网| 日韩视频国产 | 亚洲一区二区电影网 | 亚洲综合激情 | 精品少妇一区二区三区在线播放 | 国产精品激情在线 | 久久久久无码国产精品一区 | 午夜电影合集 | 国产成人一区二区三区 | 日韩精品免费在线观看 | 久久com | 久久久久亚洲精品 | 国产1区2区在线观看 | 狠狠狠色丁香婷婷综合久久五月 | 国产视频综合 | 麻豆久久久9性大片 | 午夜精品一区二区三区在线视频 | 一级黄色大片 | 亚洲黄色国产 | 国产日韩欧美在线一区 | 国产黄视频在线播放 | 激情综合五月天 | 国产激情小视频 | 欧美高清一级片 | 久久国产麻豆 | 中文字幕日韩欧美 | 伊人精品视频 | 国产亚洲久 | 国内自拍第一页 | 日韩精品| 欧美一区二区三区久久精品 | 国产精品久久久久久婷婷天堂 |