亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: RTX51-tny之按鍵點(diǎn)LED燈 [打印本頁]

作者: jubaolun    時(shí)間: 2018-6-13 10:22
標(biāo)題: RTX51-tny之按鍵點(diǎn)LED燈
由于公共電腦不方便發(fā)實(shí)物演示圖。
程序如下:

//功能:RTX51_TNY開關(guān)點(diǎn)燈

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


    task1 : LED0每  1s改變一次狀態(tài)
    task2 :LED1每0.7s改變一次狀態(tài)
    task3 :LED2每0.4s改變一次狀態(tài)
    task4 :LED3每0.2s改變一次狀態(tài)
*******************************************************/  
#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;           //關(guān)閉四個(gè)LED  

    os_create_task(1);  //創(chuàng)建任務(wù)1  
    os_create_task(2);  //創(chuàng)建任務(wù)2  

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

void job1(void) _task_ 1 //按鍵開啟任務(wù)
{  
        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 //按鍵關(guān)閉任務(wù)
{  
        while(1)
        {  
        if(KEY0==0)
                {           //判斷按鍵是否按下  
                       
                                while(!KEY0);//等待取反
                                LED0 = 1;LED1 = 1;LED2 = 1;LED3 = 1;            
                                os_delete_task(4);   //按鍵關(guān)閉任務(wù)3。4。5。6。
                                os_delete_task(3);
                                os_delete_task(5);
                                os_delete_task(6);
                       
                       
        }  
    }  
}



//以下是各任務(wù)

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

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

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

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

望大家共同探討。謝謝!

作者: 583703056A    時(shí)間: 2018-10-9 13:28
這個(gè)不需要主函數(shù)嗎!
作者: 小呀嘛小菜鳥    時(shí)間: 2018-10-13 15:23
請(qǐng)問怎么能讓燈一直閃爍
作者: 底層用戶    時(shí)間: 2022-3-26 18:20
583703056A 發(fā)表于 2018-10-9 13:28
這個(gè)不需要主函數(shù)嗎!

_task_ 0  至 _task_ 6都是主函數(shù)
作者: 卑微小趙    時(shí)間: 2022-7-26 15:23
RTX51 Tiny是時(shí)間輪片 所有任務(wù)優(yōu)先級(jí)都是一樣的 不支持搶占
有沒有 RTX51 FULL 的

作者: QiaoZhiZhong    時(shí)間: 2022-9-25 17:36
非常感謝您的無私奉獻(xiàn)!我用了您的例子,稍作改動(dòng),就在我的STC8A8K64S4A12單片機(jī)上實(shí)現(xiàn)了;這是我第一次在單片機(jī)上接觸RTOS。以后還請(qǐng)不吝指教
作者: QiaoZhiZhong    時(shí)間: 2022-9-25 17:43
小呀嘛小菜鳥 發(fā)表于 2018-10-13 15:23
請(qǐng)問怎么能讓燈一直閃爍

按照樓主的程序,只要按下KEY1,程序就一直運(yùn)行,4只LED交替點(diǎn)亮;我已實(shí)現(xiàn)了
作者: 一帆有風(fēng)    時(shí)間: 2024-11-16 18:18
while(!KEY0);// 請(qǐng)問各位大神碰到這個(gè)循環(huán)會(huì)不會(huì)死等還是會(huì)先跳出這個(gè)任務(wù)執(zhí)行下一個(gè)任務(wù)
作者: logicha    時(shí)間: 2026-1-12 11:17
請(qǐng)問是用的IDE的庫嗎?




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