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

標題: RTX51_TNY之按鍵控制LED流水燈左右依次點亮,用信號傳遞方式。 [打印本頁]

作者: jubaolun    時間: 2018-6-13 11:28
標題: RTX51_TNY之按鍵控制LED流水燈左右依次點亮,用信號傳遞方式。
程序經過實物驗證過的。
程序如下:
  1. /*////////////////////////////////////////////////////
  2. 系統:RTX51-TNY
  3. 功能:按鍵控制LED流水燈左右依次點亮。用信號傳遞方式。
  4. 日期:2018/06/13

  5. /////////////////////////////////////////////////////////*/
  6. #include <rtx51tny.h>  
  7. #include <reg52.h>  

  8. #define u8 unsigned char
  9. #define u16 unsigned int
  10. // LED依次亮滅控制數組  

  11. u8 LED_L[] = {0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00};
  12. u8 LED_R[] = {0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00};

  13. u8 retry = 0;  

  14. sbit KEY1=P1^0;
  15. sbit KEY2=P1^1;



  16. void task_start(void) _task_ 0  
  17. {  
  18.   
  19.     // 創建4個任務  
  20.         os_create_task(1);
  21.     os_create_task(2);  
  22.     os_create_task(3);   
  23.     os_create_task(4);   
  24.     // 創建任務后,刪除自己     
  25.      os_delete_task(0);
  26. }



  27. void job1(void) _task_ 1 //按鍵開啟任務
  28. {         
  29.         while(1)
  30.         {  
  31.         if(KEY1==0)
  32.                 {           //判斷按鍵是否按下  
  33.                         
  34.                         while(!KEY1);
  35.                         os_send_signal (3);        
  36.                         os_create_task(3);
  37.         }
  38.         
  39.     }  
  40.         
  41. }

  42. void job2(void) _task_ 2 //按鍵關閉任務
  43. {         
  44.         while(1)
  45.         {  
  46.       
  47.                 if(KEY2==0)
  48.                 {           //判斷按鍵是否按下  
  49.                         
  50.                         while(!KEY2);
  51.                         P0=0XFF;                        
  52.                         os_delete_task (3);                        
  53.         }                  
  54.     }  
  55.         
  56. }

  57. //以下是左右流水任務

  58. void LightOnLed(void) _task_ 3  
  59. {  
  60.     while(1){         
  61.         // 等待一個信號  
  62.         os_wait (K_SIG, 0, 0);  
  63.         // 依次點亮 LED  
  64.         for(retry=0; retry!=8; ++retry)
  65.                 {  
  66.             P0 = LED_L[retry];  
  67.             os_wait (K_TMO, 8, 0);  
  68.         }
  69.                 P0=0xff;
  70.         // 給任務3發送一個信號  
  71.         os_send_signal (4);  
  72.     }  
  73. }  
  74.   
  75. void LightOffLed(void) _task_ 4  
  76. {  
  77.     while(1){  
  78.         // 等待一個信號  
  79.         os_wait (K_SIG, 0, 0);  
  80.         // 依次熄滅 LED  
  81.         for(retry=0; retry!=8; ++retry)
  82.                 {  
  83.             P0 = LED_R[retry];  
  84.             os_wait (K_TMO, 8, 0);  
  85.         }
  86.         P0=0xff;               
  87.         // 給任務2發送一個信號  
  88.         os_send_signal (3);      
  89.     }  
  90. }  
復制代碼


main.rar

863 Bytes, 下載次數: 28, 下載積分: 黑幣 -5


作者: 小房    時間: 2018-10-14 03:32
連按兩次key1,燈就會亂。




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品久久久一区二区三区 | 欧美日韩专区 | 精品蜜桃一区二区三区 | 国产日屁 | 日本黄色一级片视频 | 91亚洲精| 在线看片国产 | 欧美日韩国产高清视频 | 亚洲精品国产第一综合99久久 | 午夜影院在线观看 | 国产一二三区电影 | 欧美久久久久久 | 水蜜桃久久夜色精品一区 | 日韩五月天| 99精品视频免费观看 | 国产日韩欧美一区二区 | 久久99精品久久久久久 | 亚洲最新在线 | 国产精品福利视频 | 国产探花在线精品一区二区 | 中文字幕在线免费观看 | 日韩视频中文字幕 | 亚洲精品2| 一区二区精品 | 久久精品中文 | 黄色片视频免费 | 精品国产乱码久久久久久闺蜜 | 精品视频在线观看 | 日韩国产一区二区三区 | 欧美一级高潮片免费的 | 中文字幕在线观 | 久久九九99 | 99热热精品 | 国产九九av | 国产三级一区二区三区 | 2018天天干天天操 | 国产成人av在线 | 亚洲三区视频 | 狠狠操狠狠色 | 在线一区 | 超碰操|