找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 9732|回復(fù): 31
收起左側(cè)

讓兩個(gè)LED燈一直亮滅亮滅

  [復(fù)制鏈接]
ID:242890 發(fā)表于 2017-12-1 21:00 | 顯示全部樓層 |閱讀模式
如果讓兩個(gè)LED燈按不同的頻率亮滅,例如:while(1)
{
LED1隔一秒亮一次,LED2隔兩秒亮一次;

}  
這樣應(yīng)該怎樣解決,求C語(yǔ)言示例代碼
回復(fù)

使用道具 舉報(bào)

ID:74784 發(fā)表于 2017-12-1 21:57 | 顯示全部樓層
這個(gè)不難吧?
回復(fù)

使用道具 舉報(bào)

ID:244326 發(fā)表于 2017-12-1 22:32 | 顯示全部樓層
先給一個(gè)高電平,第二條取反
回復(fù)

使用道具 舉報(bào)

ID:42943 發(fā)表于 2017-12-1 23:31 | 顯示全部樓層
選擇P1口其中兩個(gè)個(gè)管腳作為輸出控制
寫一個(gè)1秒延時(shí)函數(shù)

根據(jù)設(shè)計(jì)電路 兩個(gè)管腳輸出相應(yīng)電平 點(diǎn)亮對(duì)應(yīng)發(fā)光二極管

以下為循環(huán)體內(nèi)容

{
調(diào)用延時(shí)
管腳1 取反 改變燈狀態(tài)
調(diào)用延時(shí)
管腳1取反 改變燈狀態(tài)
管腳2取反 改變燈狀態(tài)
}
回復(fù)

使用道具 舉報(bào)

ID:249808 發(fā)表于 2017-12-2 10:05 | 顯示全部樓層
while(1)
{
LED1=1;
delay1S;
LED1=0;
LED2=1;
delay2S;
LED2=0;

}  

去試一下看!
回復(fù)

使用道具 舉報(bào)

ID:255508 發(fā)表于 2017-12-2 11:25 | 顯示全部樓層
int i=0;
whiie(1)

           i++;
           delay_ms(500);//延時(shí)500ms
          if(i==1)            //到1s
               {
                   led0=~led0;    //狀態(tài)取反  
              }
          if(i==3)           //到2s
           {
                 led1=~led1;
               i=0;                 //重新賦值
            }

評(píng)分

參與人數(shù) 1黑幣 +12 收起 理由
lebronda + 12 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:255915 發(fā)表于 2017-12-2 11:57 來(lái)自觸屏版 | 顯示全部樓層
你可以調(diào)用一個(gè)延時(shí)函數(shù)
回復(fù)

使用道具 舉報(bào)

ID:60379 發(fā)表于 2017-12-2 12:00 | 顯示全部樓層

12-用定時(shí)中斷長(zhǎng)延時(shí)實(shí)現(xiàn)P0口多個(gè)LED亮滅.rar (13.68 KB, 下載次數(shù): 7)

/****************《51單片機(jī)輕松入門-基于STC15W4K系列》配套例程 *************
★★★★★★★★★★★★★★★★★★★★★★★★
《51單片機(jī)輕松入門-基于STC15W4K系列》 配套例程
// 用定時(shí)中斷長(zhǎng)延時(shí)實(shí)現(xiàn)P0口多個(gè)LED亮滅.rar
  ★★★★★★★★★★★★★★★★★★★★★★★★*/


#include "STC15W4K.H"         // 包含 "STC15W4K.H"寄存器定義頭文件
sbit LED0=P0^0;
sbit LED1=P0^1;       
void main()
{
        TMOD=0x01;     // 定時(shí)器0_16位計(jì)數(shù)
        TH0=0x70;      // 經(jīng)計(jì)算定時(shí)20ms初值是0x7000
        TL0=0x00;
        TR0=1;         // 定時(shí)器開(kāi)始運(yùn)行
        ET0=1;         // 開(kāi)定時(shí)器0中斷開(kāi)關(guān)
        EA=1;                   // 開(kāi)總中斷開(kāi)關(guān)
    while(1);
}  
void Timer0() interrupt 1
{       
        static         Count1=0;    // 靜態(tài)變量計(jì)數(shù)器,靜態(tài)變量只在首次運(yùn)行時(shí)賦值1次*/
        static  Count2=0;    // 靜態(tài)變量計(jì)數(shù)器
        Count1++;                     // 每次中斷計(jì)數(shù)器加1
        Count2++;                     // 每次中斷計(jì)數(shù)器加1
        if(Count1>=25)             // 如果計(jì)數(shù)器超過(guò)25
        {       
                LED0=!LED0;             // 取返P0.0
                Count1=0;             // 計(jì)數(shù)器清零  
        }
        if(Count2>=50)             // 如果計(jì)數(shù)器超過(guò)50
        {       
                LED1=!LED1;             // 取返P0.1
                Count2=0;             // 計(jì)數(shù)器清零  
        }
        TH0=0x70;                     // 重裝定時(shí)初值
        TL0=0x00;
}


評(píng)分

參與人數(shù) 1黑幣 +12 收起 理由
lebronda + 12 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:256413 發(fā)表于 2017-12-2 12:15 | 顯示全部樓層
你可以調(diào)用一個(gè)延時(shí)函數(shù)
回復(fù)

使用道具 舉報(bào)

ID:256394 發(fā)表于 2017-12-2 12:33 | 顯示全部樓層
比如說(shuō)循環(huán)1秒內(nèi)讓它占空比20% 不亮占空比為80%
回復(fù)

使用道具 舉報(bào)

ID:255476 發(fā)表于 2017-12-2 15:10 | 顯示全部樓層
LED=0;delayms(1000);
回復(fù)

使用道具 舉報(bào)

ID:255476 發(fā)表于 2017-12-2 15:12 | 顯示全部樓層
LED1=0;delayms(1000);LED2=0;delayms(2000);就是用延時(shí)函數(shù)具體括號(hào)內(nèi)的數(shù)字需要你自己調(diào)試。
回復(fù)

使用道具 舉報(bào)

ID:168857 發(fā)表于 2017-12-2 16:47 | 顯示全部樓層
用一個(gè)中斷最好,比較準(zhǔn)確
回復(fù)

使用道具 舉報(bào)

ID:209379 發(fā)表于 2017-12-2 23:08 | 顯示全部樓層
led1=~led1;
回復(fù)

使用道具 舉報(bào)

ID:217829 發(fā)表于 2017-12-3 04:55 | 顯示全部樓層
一個(gè)簡(jiǎn)單的延時(shí)函數(shù)就搞定啦,
回復(fù)

使用道具 舉報(bào)

ID:242890 發(fā)表于 2017-12-3 10:54 | 顯示全部樓層
szb0321 發(fā)表于 2017-12-2 11:25
int i=0;
whiie(1)

如果用兩個(gè)定時(shí)器去完成,應(yīng)該怎樣寫
回復(fù)

使用道具 舉報(bào)

ID:255231 發(fā)表于 2017-12-3 12:20 | 顯示全部樓層
i=200; while(i--) {if(i=100) LED1=1; if (i=1) LED2=1;}
回復(fù)

使用道具 舉報(bào)

ID:242890 發(fā)表于 2017-12-3 13:24 | 顯示全部樓層
hebaobao 發(fā)表于 2017-12-2 16:47
用一個(gè)中斷最好,比較準(zhǔn)確

中斷應(yīng)該怎樣寫
回復(fù)

使用道具 舉報(bào)

ID:256774 發(fā)表于 2017-12-3 14:19 | 顯示全部樓層
可以用延時(shí),也可以用中斷,中斷比較精準(zhǔn)
回復(fù)

使用道具 舉報(bào)

ID:256817 發(fā)表于 2017-12-3 15:47 | 顯示全部樓層
加一個(gè)delay()函數(shù)
回復(fù)

使用道具 舉報(bào)

ID:254549 發(fā)表于 2017-12-3 21:58 | 顯示全部樓層
這個(gè)延時(shí)函數(shù)不能處理嗎?我想著應(yīng)該2個(gè)不同的延時(shí)時(shí)間就可以處理的吧
回復(fù)

使用道具 舉報(bào)

ID:257002 發(fā)表于 2017-12-3 23:50 | 顯示全部樓層
選擇P1口其中兩個(gè)個(gè)管腳作為輸出控制 寫一個(gè)1秒延時(shí)函數(shù)  根據(jù)設(shè)計(jì)電路 兩個(gè)管腳輸出相應(yīng)電平 點(diǎn)亮對(duì)應(yīng)發(fā)光二極管  以下為循環(huán)體內(nèi)容  { 調(diào)用延時(shí) 管腳1 取反 改變燈狀態(tài) 調(diào)用延時(shí) 管腳1取反 改變燈狀態(tài) 管腳2取反 改變燈狀態(tài) }
回復(fù)

使用道具 舉報(bào)

ID:231046 發(fā)表于 2017-12-4 10:45 | 顯示全部樓層
用一個(gè)1秒延時(shí)函數(shù)也可以實(shí)現(xiàn),要2S就調(diào)用2 次就行了
回復(fù)

使用道具 舉報(bào)

ID:257047 發(fā)表于 2017-12-4 11:21 來(lái)自觸屏版 | 顯示全部樓層
可以用中斷或查詢
回復(fù)

使用道具 舉報(bào)

ID:257111 發(fā)表于 2017-12-4 11:33 | 顯示全部樓層
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:257131 發(fā)表于 2017-12-4 12:38 | 顯示全部樓層
marked
回復(fù)

使用道具 舉報(bào)

ID:257137 發(fā)表于 2017-12-4 12:59 | 顯示全部樓層
編寫兩個(gè)循環(huán)語(yǔ)句控制電流信號(hào)
回復(fù)

使用道具 舉報(bào)

ID:257192 發(fā)表于 2017-12-4 14:45 | 顯示全部樓層

led1=~led1;
回復(fù)

使用道具 舉報(bào)

ID:243193 發(fā)表于 2017-12-4 15:06 | 顯示全部樓層
這個(gè)可以使用定時(shí)器來(lái)做,這是在裸機(jī)的情況下。最容易實(shí)現(xiàn)的就是在操作系統(tǒng)上調(diào)用
回復(fù)

使用道具 舉報(bào)

ID:186936 發(fā)表于 2017-12-4 16:06 | 顯示全部樓層
調(diào)用定時(shí)器中斷,if判斷執(zhí)行不同的功能
回復(fù)

使用道具 舉報(bào)

ID:257364 發(fā)表于 2017-12-4 20:10 | 顯示全部樓層

while(1)
{
LED1高;
延時(shí)1S;
LED1低;
LED2高;
延時(shí)(1S);
LED2低;
}
回復(fù)

使用道具 舉報(bào)

ID:257395 發(fā)表于 2017-12-4 20:42 | 顯示全部樓層
用定時(shí)器定時(shí)1s和2s
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表