欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)開關(guān)點(diǎn)燈程序求思路

[復(fù)制鏈接]
ID:72649 發(fā)表于 2021-9-22 07:31 | 顯示全部樓層 |閱讀模式
只要單片機(jī)p20低電平,延時(shí)十五秒p00的led燈點(diǎn)亮,延時(shí)五秒p01的led燈熄滅,斷開p20,延時(shí)五秒p01點(diǎn)亮,延時(shí)十秒p00點(diǎn)熄滅。p20接開關(guān)。這個(gè)代碼怎么完成。求大神給個(gè)思路
回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2021-9-22 10:13 | 顯示全部樓層
樓主求的思路有點(diǎn)清奇,你這問題本身就是思路除非有某處短路
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2021-9-22 12:38 | 顯示全部樓層
給一段例子,讓你參考
中斷內(nèi)容自己思考一下

  1. void main()
  2. {
  3.     Timer1Init();
  4.     Sys_Init();
  5.                 P01 = 0;
  6.                 P00 = 1;
  7.     while (1)
  8.     {
  9.                                         if(!Delayms_1000)//在1ms定時(shí)中斷中減一,直到零
  10.                                         {Delayms_1000=1000;//重載
  11.                                                 if(Sec<30)Sec++;
  12.                                         }
  13.                                         if(++Delay_Filter>250)
  14.                                         {Delay_Filter = 0;
  15.                                                 if(P20 != P20_O)//按鍵變化
  16.                                                 {
  17.                                                         Delayms_1000=1000;//重載
  18.                                                         Sec = 0;//清零
  19.                                                 }P20_O = P20;
  20.                                                 if(!P20)//按下
  21.                                                 {
  22.                                                         if(Sec>=15)P00 = 0;
  23.                                                         if(Sec>=20)P01 = 1;
  24.                                                 }else//<span style="font-family: Tahoma, &quot;Microsoft Yahei&quot;, SimSun;">放開</span>
  25.                                                 {
  26.                                                         if(Sec>=5)P01 = 0;
  27.                                                         if(Sec>=10)P00 = 1;
  28.                                                 }                                               
  29.                                         }                       
  30.     }
  31. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

無效樓層,該帖已經(jīng)被刪除
ID:90613 發(fā)表于 2021-9-22 13:31 | 顯示全部樓層
while(1)
{
  if(P20)
  {
    delay_ms(5000);
    P01=1;
    delay_ms(5000);
    P00=0;
  }
  else
  {
    delay_ms(5000);
    P01=0;
    delay_ms(10000);
    P00=1;
  }
}
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2021-9-22 16:18 | 顯示全部樓層
你需要計(jì)幾種時(shí)間,就做幾個(gè)計(jì)時(shí)器,如JS1、JS2,JS2……
開一個(gè)定時(shí)中斷,在中斷服務(wù)程序中對JS1、JS2,JS2……計(jì)時(shí),但計(jì)時(shí)的條件由P20決定。
接下來,當(dāng)計(jì)時(shí)計(jì)滿時(shí),做你要做的事。
這其中還需要考慮,如何初始化,如何結(jié)束,如何開起,自己想想吧。
還是不會(huì)做的話,教你最后一著:改學(xué)CEO專業(yè),讓別人為你打工,做這件事。

回復(fù)

使用道具 舉報(bào)

ID:359272 發(fā)表于 2021-9-23 08:13 | 顯示全部樓層
yzwzfyz 發(fā)表于 2021-9-22 16:18
你需要計(jì)幾種時(shí)間,就做幾個(gè)計(jì)時(shí)器,如JS1、JS2,JS2……
開一個(gè)定時(shí)中斷,在中斷服務(wù)程序中對JS1、JS2,J ...

最后一招,有詳細(xì)教程嗎?我想學(xué)
回復(fù)

使用道具 舉報(bào)

ID:72649 發(fā)表于 2021-9-24 22:29 | 顯示全部樓層
lkc8210 發(fā)表于 2021-9-22 12:38
給一段例子,讓你參考
中斷內(nèi)容自己思考一下

void Timer0Init(void)                //20毫秒@12.000MHz
{
        AUXR &= 0x7F;                //定時(shí)器時(shí)鐘12T模式
        TMOD &= 0xF0;                //設(shè)置定時(shí)器模式
        TL0 = 0xE0;                //設(shè)置定時(shí)初始值
        TH0 = 0xB1;                //設(shè)置定時(shí)初始值
        TF0 = 0;                //清除TF0標(biāo)志
        TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)
}

timer0() interrupt 1
{
        SysTick++;      
}

void Delay_20ms(unsigned long var)
{
    unsigned long i;
      
        i = SysTick;

        while(SysTick-i < var)
        {
       ;
        }   
}這個(gè)代碼對嗎?
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2021-9-25 23:45 | 顯示全部樓層
hjx5548 發(fā)表于 2021-9-24 22:29
void Timer0Init(void)                //20毫秒@12.000MHz
{
        AUXR &= 0x7F;                //定時(shí)器時(shí)鐘12T模式

定時(shí)器初始化正確
中斷內(nèi)容請了解一下我的代碼
再去想怎樣寫
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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