欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求單片機大神告知,為什么按鈕沒法控制lcd上面數(shù)字變化 [打印本頁]

作者: hl1124    時間: 2020-5-4 21:07
標題: 求單片機大神告知,為什么按鈕沒法控制lcd上面數(shù)字變化


單片機源程序如下:
  1. #include "reg52.h"                        
  2. #include "QN8027.h"
  3. #include "stdio.h"               


  4. typedef unsigned int u8;         
  5. typedef unsigned char u16;

  6. u16 LCD_FM[]=" FM: ";
  7. u16 LCD_MH[]=" MHz";
  8. u16 LCD_VOL[]=" VOL:";
  9. u16 i;
  10. u16 a,b,c;
  11. void FM_key()
  12. {
  13. if(LCD1602_FM_ADD==0)
  14. {
  15.   Lcd1602_Delay1ms(5);
  16.   if(LCD1602_FM_ADD==0)        
  17.   {

  18.         b=b++;
  19. }
  20.          while(!LCD1602_FM_ADD);
  21.         }
  22. if(LCD1602_FM_MIN==0)
  23. {
  24. Lcd1602_Delay1ms(5);

  25. if(LCD1602_FM_MIN==0)
  26. {

  27.   b=b--;

  28. }
  29. while(!LCD1602_FM_MIN);
  30. }
  31.    if(b>9)
  32.    {
  33.            b=0;
  34.         a=a+1;

  35.    }


  36. }

  37. /*頻率調(diào)節(jié)按鈕設(shè)置*/

  38. void VOL_key()
  39.    {

  40.    if(LCD1602_VOL_ADD==0)
  41.    {
  42.             Lcd1602_Delay1ms(1);

  43.         if(LCD1602_VOL_ADD==0)
  44.         {
  45.          
  46.          c=c++;
  47.         }
  48.         while(!LCD1602_VOL_ADD);
  49.         }
  50.         if(LCD1602_VOL_MIN==0)
  51.         {
  52.           Lcd1602_Delay1ms(1);
  53.         
  54.          if(LCD1602_VOL_MIN==0)
  55.          {
  56.             
  57.             c=c--;
  58.          }
  59.          while(!LCD1602_VOL_MIN);
  60.          }
  61.          
  62.    }
  63.    /*聲音調(diào)節(jié)按鈕設(shè)置*/

  64. void main(void)
  65. {

  66.         a=100;
  67.         b=0;
  68.         c=4;
  69.         /*賦值語句*/
  70.         LcdInit();
  71.         while(1){         
  72.         
  73.         LcdWriteCom(0x80); /*光標定位到第一排第一個位置*/
  74.         for(i=0;i<6;i++)
  75.         {
  76.                 LcdWriteData(LCD_FM[i]);
  77.                         
  78.         }/*顯示" FM "*/         
  79.      LcdWriteCom(0x85); /*光標定位于第一排第六個位置*/
  80.         
  81.            /*u16 a[2];                                   sprintf(a,"%s",FM_key());*/
  82.            FM_key();
  83.           if(a<100)
  84.           {
  85.         
  86.          LcdWriteData(a/10+0X30);        
  87.           LcdWriteData(a%10+0X30);
  88.          }
  89.          else
  90.          {                                                        /*根據(jù)按鍵顯示小數(shù)點前面?zhèn)位到百位的頻率*/
  91.           LcdWriteData(a/100+0X30);
  92.           LcdWriteData((a-100)/10+0X30);
  93.           LcdWriteData(a%10+0X30);
  94.          }
  95.          LcdWriteCom(0x88);         /*顯示小數(shù)點*/
  96.          LcdWriteData(0x2E);

  97.          LcdWriteCom(0x89);        /*光標定位于第一排第11個位置*/
  98.      LcdWriteData(b+0X30); /*根據(jù)按鍵顯示小數(shù)點后面的頻率*/
  99.          LcdWriteCom(0x8A);
  100.          for(i=0;i<6;i++)
  101.         {
  102.                 LcdWriteData(LCD_MH[i]);
  103.                         
  104.         }          /*顯示“ MHz"*/                                                        

  105.         LcdWriteCom(0xc0);/*光標定位于第二排第一個位置*/        
  106.         for(i=0;i<5;i++)
  107.         {
  108.                 LcdWriteData(LCD_VOL[i]);
  109.                         
  110.         }  /*顯示” VOL:“*/
  111.         LcdWriteCom(0xc5); /*光標定位于第二排第六個位子*/
  112.         VOL_key();
  113.         for(i=0;i<c;i++)
  114.         {
  115.         
  116.            LcdWriteData(0xff);
  117.            }
  118.                
  119.         }
  120.         }
  121.         
復制代碼



作者: man1234567    時間: 2020-5-5 10:31
while(!LCD1602_VOL_ADD); ?
拉電阻接在開關(guān)前而不是開關(guān)后。
作者: hl1124    時間: 2020-5-5 15:29
什么意思,能具體點嗎?

作者: hl1124    時間: 2020-5-5 15:38
能具體點嗎?
作者: hl1124    時間: 2020-5-5 15:48

while(!LCD1602_VOL_ADD); ?這個是防止一直按著開關(guān)的
作者: hantu    時間: 2020-5-5 20:52
你的上拉電阻都畫錯了
作者: hl1124    時間: 2020-5-6 17:38
我改了,還是不行





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1