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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

RTX51-tny之按鍵點LED燈

  [復制鏈接]
跳轉到指定樓層
樓主
ID:105206 發表于 2018-6-13 10:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
由于公共電腦不方便發實物演示圖。
程序如下:

//功能:RTX51_TNY開關點燈

/*******************************************************


    task1 : LED0每  1s改變一次狀態
    task2 :LED1每0.7s改變一次狀態
    task3 :LED2每0.4s改變一次狀態
    task4 :LED3每0.2s改變一次狀態
*******************************************************/  
#include <rtx51tny.h>  
#include <reg52.h>  

#define uchar unsigned char
#define uint unsigned int
//typedef unsigned char uchar;  
//typedef unsigned int  uint;  

sbit LED0 = P0^0;  
sbit LED1 = P0^1;  
sbit LED2 = P0^2;  
sbit LED3 = P0^3;  

sbit KEY0 = P1^0;
sbit KEY1=P1^1;

void job0(void) _task_ 0   
{  
    LED0 = 1;  
    LED1 = 1;  
    LED2 = 1;  
    LED3 = 1;           //關閉四個LED  

    os_create_task(1);  //創建任務1  
    os_create_task(2);  //創建任務2  

    os_delete_task(0);  //刪除自己(task0),使task0退出任務鏈表  
}   

void job1(void) _task_ 1 //按鍵開啟任務
{  
        while(1)
        {  
        if(KEY1==0)
                {           //判斷按鍵是否按下  
                       
                                while(!KEY1);
                                   
                                os_create_task (4);   //按鍵開啟LED3,
                                os_create_task (3);
                                os_create_task (5);
                                os_create_task (6);
                                               
        }  
    }  
}

void job2(void) _task_ 2 //按鍵關閉任務
{  
        while(1)
        {  
        if(KEY0==0)
                {           //判斷按鍵是否按下  
                       
                                while(!KEY0);//等待取反
                                LED0 = 1;LED1 = 1;LED2 = 1;LED3 = 1;            
                                os_delete_task(4);   //按鍵關閉任務3。4。5。6。
                                os_delete_task(3);
                                os_delete_task(5);
                                os_delete_task(6);
                       
                       
        }  
    }  
}



//以下是各任務

void job3(void) _task_ 3   
{   
    while(1){               
        LED0 = !LED0;  
        os_wait(K_TMO, 100, 0);  //等待100個時鐘滴答(ticks),即1s  
                     //配置文件ConfTny.A51中INT_CLOCK EQU 10000; default is 10000 cycles  
                     //意思是時鐘滴答為10000個機器周期,即10000*1uS=10ms   
    }   
}   

void job4(void) _task_ 4   
{   
    while(1){               
        LED1 = !LED1;  
        os_wait(K_TMO, 70, 0);   //等待(延時)0.7s   
    }  
}  

void job5(void) _task_ 5  
{  
    while(1){  
        LED2 = !LED2;  
        os_wait(K_TMO, 40, 0);   //等待(延時)0.4s  
    }  
}  

void job6(void) _task_ 6  
{  
    while(1){  
        LED3 = !LED3;  
        os_wait(K_TMO, 20, 0);   //等待(延時)0.2s  
    }  
}  

望大家共同探討。謝謝!

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:82419 發表于 2018-10-9 13:28 來自觸屏版 | 只看該作者
這個不需要主函數嗎!
回復

使用道具 舉報

板凳
ID:409055 發表于 2018-10-13 15:23 | 只看該作者
請問怎么能讓燈一直閃爍
回復

使用道具 舉報

地板
ID:730009 發表于 2022-3-26 18:20 | 只看該作者
583703056A 發表于 2018-10-9 13:28
這個不需要主函數嗎!

_task_ 0  至 _task_ 6都是主函數
回復

使用道具 舉報

5#
ID:670608 發表于 2022-7-26 15:23 | 只看該作者
RTX51 Tiny是時間輪片 所有任務優先級都是一樣的 不支持搶占
有沒有 RTX51 FULL 的
回復

使用道具 舉報

6#
ID:1045827 發表于 2022-9-25 17:36 | 只看該作者
非常感謝您的無私奉獻!我用了您的例子,稍作改動,就在我的STC8A8K64S4A12單片機上實現了;這是我第一次在單片機上接觸RTOS。以后還請不吝指教
回復

使用道具 舉報

7#
ID:1045827 發表于 2022-9-25 17:43 | 只看該作者
小呀嘛小菜鳥 發表于 2018-10-13 15:23
請問怎么能讓燈一直閃爍

按照樓主的程序,只要按下KEY1,程序就一直運行,4只LED交替點亮;我已實現了
回復

使用道具 舉報

8#
ID:135997 發表于 2024-11-16 18:18 來自觸屏版 | 只看該作者
while(!KEY0);// 請問各位大神碰到這個循環會不會死等還是會先跳出這個任務執行下一個任務
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美一区二区三区视频 | 天堂在线一区 | www.伊人.com | 狼色网| 伊人久久在线 | 久久这里只有精品首页 | 日日夜夜天天 | 欧美精品乱码久久久久久按摩 | 国产99久久精品一区二区永久免费 | 喷水毛片| av黄在线观看 | avav在线看 | 大香网伊人 | 欧美色999 | 国产日韩欧美在线观看 | 九九一级片 | 免费在线观看毛片 | 免费激情av| 日韩中文字幕第一页 | 在线中文av| 天天综合网7799精品 | 欧美一级二级视频 | 狠狠狠| 中文字幕一区二区三区在线观看 | 欧美亚洲视频在线观看 | 久久免费视频1 | 在线亚州 | 欧美一区视频 | 欧美一级免费黄色片 | 国产精品99久久久久久动医院 | 91久久伊人| 91视视频在线观看入口直接观看 | 六月成人网 | 国内成人免费视频 | 韩国久久 | 成人免费大片黄在线播放 | 色综合视频| 午夜免费小视频 | 国产福利在线视频 | 精品亚洲视频在线 | 亚洲精品一区二区 |