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

標(biāo)題: 請問單片機P1_1,P1_2,P1_3仿真無法按下的原因是什么? [打印本頁]

作者: rdtgrfuf    時間: 2024-1-12 17:56
標(biāo)題: 請問單片機P1_1,P1_2,P1_3仿真無法按下的原因是什么?

單片機源程序如下:

  1.     #include "main.h"
  2.     #include "lcd1602.h"
  3.     #include "key.h"
  4.     #include "motor_zhiliu.h"


  5.    
  6.     uchar key_num = 0;                                                                                       
  7.     uchar flag_display = 0;                                                                        
  8.     uint time_num = 0;                                                                                       
  9.     char display_buf[16];                                                                                
  10.     bit flag_mode = 0;                                                                                       
  11.     extern bit flag_direction;                                                        
  12.     extern uchar pwm_num;                                                                                
  13.     uchar flag_speed = 0;                                                                                


  14.    
  15.     void Delay_function(uint x);                                                
  16.     void Key_function(void);                                                               
  17.     void Display_function(void);                                                
  18.     void Manage_function(void);                                                        
  19.     uchar Simulation_Keyboard_Scan(void);

  20.    
  21.     void main()
  22.     {
  23.             Lcd1602_Init();                                                                                    
  24.             Delay_function(50);                                                                          
  25.             lcd1602_clean();                                                                           
  26.             Delay_function(50);                                                                          
  27.             Timer0_Init();                                                                                                
  28.             Delay_function(50);                                                                          
  29.            
  30.             while(1)
  31.             {
  32.                     Key_function();                                                                                 
  33.                     Display_function();                                                                        
  34.                     Manage_function();                                                                        

  35.                     Delay_function(10);                                                                        
  36.                     time_num++;                                                                                            
  37.                     if(time_num == 5000)
  38.                     {
  39.                             time_num = 0;
  40.                     }
  41.             }
  42.     }

  43.    
  44.     void Delay_function(uint x)
  45.     {
  46.             uint m,n;
  47.             for(m=x;m>0;m--)
  48.             for(n=110;n>0;n--);
  49.     }

  50.    
  51.     uchar Simulation_Keyboard_Scan(void)
  52.     {
  53.         uchar key_value = 0;
  54.       
  55.         
  56.         key_value = ~P1 & 0x0F;
  57.       
  58.         
  59.         
  60.       
  61.         return key_value;
  62.     }


  63.     void Key_function(void)
  64.     {
  65.         #ifdef SIMULATION
  66.             key_num = Simulation_Keyboard_Scan();
  67.         #else
  68.             key_num = Chiclet_Keyboard_Scan(0);  
  69.         #endif
  70.         if(key_num != 0)  
  71.         {
  72.             switch(key_num)
  73.             {
  74.                 case 1:  
  75.                     flag_direction = ~flag_direction;
  76.                     break;

  77.                 case 2:  
  78.                     if(flag_speed < 3)
  79.                         flag_speed++;
  80.                     flag_mode = 1;
  81.                     break;

  82.                 case 3:  
  83.                     if(flag_speed > 0)
  84.                         flag_speed--;
  85.                     flag_mode = 1;
  86.                     break;
  87.                
  88.                 case 4:  
  89.                     flag_speed = 0;
  90.                     flag_mode = 1;
  91.                     break;

  92.                 default:
  93.                     break;
  94.             }
  95.         }
  96.     }


  97.    
  98.     void Display_function(void)
  99.     {
  100.             if(flag_direction == 0)                                                               
  101.                     lcd1602_display_str(2, 0, "D:Right");
  102.             else
  103.                     lcd1602_display_str(2, 0, "D:Lift ");
  104.            
  105.             switch(flag_speed)                                                                                
  106.             {
  107.                     case 0:
  108.                             lcd1602_display_str(2, 9, "S:Stop");
  109.                     break;
  110.                   
  111.                     case 1:
  112.                             lcd1602_display_str(2, 9, "S:Low ");
  113.                     break;
  114.                   
  115.                     case 2:
  116.                             lcd1602_display_str(2, 9, "S:Mid ");
  117.                     break;
  118.                   
  119.                     case 3:
  120.                             lcd1602_display_str(2, 9, "S:High");
  121.                     break;
  122.                   
  123.                     default:
  124.                     break;
  125.             }
  126.     }

  127.    
  128.     void Manage_function(void)
  129.     {
  130.         if(flag_mode == 0)
  131.         {
  132.             flag_speed = 1;
  133.         }
  134.         else
  135.         {
  136.             switch(key_num)
  137.             {
  138.                 case 1:  
  139.                     flag_direction = ~flag_direction;
  140.                     break;

  141.                 case 2:  
  142.                     if(flag_speed < 3)
  143.                         flag_speed++;
  144.                     flag_mode = 1;
  145.                     break;

  146.                 case 3:  
  147.                     if(flag_speed > 0)
  148.                         flag_speed--;
  149.                     flag_mode = 1;
  150.                     break;
  151.                
  152.                 case 4:  
  153.                     flag_speed = 0;
  154.                     flag_mode = 1;
  155.                     break;

  156.                 default:
  157.                     break;
  158.             }
  159.         }      
  160.     }
復(fù)制代碼



作者: rdtgrfuf    時間: 2024-1-12 17:57
不懂怎么上傳代碼就亂碼了

作者: zhuls    時間: 2024-1-13 08:59
你沒按到開關(guān)的點上當(dāng)然按對不下了。
作者: by64214    時間: 2024-1-13 12:07
單片機P1_1,P1_2,P1_3仿真無法按下的原因是 按鍵處有"<TEXT>"  將其移開就正常了

無標(biāo)題.jpg (78.04 KB, 下載次數(shù): 84)

無標(biāo)題.jpg

作者: rdtgrfuf    時間: 2024-1-13 13:40
zhuls 發(fā)表于 2024-1-13 08:59
你沒按到開關(guān)的點上當(dāng)然按對不下了。

不是這個原因,就算對準(zhǔn)了開關(guān),仍然無法按下P1_1,P1_2,P1_3,并且會顯示“測量時必須停止仿真”字樣
作者: rdtgrfuf    時間: 2024-1-13 16:21
我知道原因了。。∈欠抡娴乃膫按鍵靠太近了。。。!
作者: rdtgrfuf    時間: 2024-1-14 14:28
by64214 發(fā)表于 2024-1-13 12:07
單片機P1_1,P1_2,P1_3仿真無法按下的原因是 按鍵處有""  將其移開就正常了

原來如此哈哈哈哈哈哈,好咧謝謝大佬!!!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久精品国产亚洲一区二区 | 成人精品国产 | 欧美男人天堂 | 精品在线一区二区三区 | 日韩精品一区二区三区在线播放 | 一级做a爰片久久毛片免费看 | 成人影院av | 久久一区二| 在线观看中文字幕亚洲 | 日韩视频免费看 | 久久夜夜 | 免费午夜电影 | 一区在线免费视频 | 婷婷福利| 欧美一区二区精品 | 久久久精品影院 | 国产片淫级awww | 欧美日韩精品影院 | 亚洲一区二区三区免费视频 | 久久久中文 | 福利视频一区二区 | 免费在线观看黄色av | 国产日韩一区二区 | 久久9视频 | 可以在线看的黄色网址 | 精品综合久久久 | 紧缚调教一区二区三区视频 | 日韩在线小视频 | 一区二区三区免费 | 日韩精品一区二区不卡 | 国产精品福利网站 | 日韩成人免费在线视频 | 在线视频一区二区 | 99精品国产一区二区青青牛奶 | 美女视频.| 久久大陆 | 婷婷久久五月天 | 福利色导航 | 国内精品久久久久 | 在线一级片 | av在线免费观看网站 |