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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

要求P1、P2同時啟動,這個程序怎么寫?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:86913 發表于 2016-10-19 15:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機的P1口接8個LED燈,即LED1、LED2、.....LED8,亮、滅程序如下(為簡化起見,只寫了3個)。
如果P2口也接8個LED燈,即LED11、LED12、.....LED18,并且要求P1、P2同時啟動,即LED1和LED11要同時亮。
這個程序怎么寫?敬請行家幫助,謝謝!

*******************
#include <REG51.h>  
sbit LED1=P1^7;
sbit LED2=P1^6;   
sbit LED2=P1^5;   
void Delay(unsigned int a)  
{
     unsigned int i;
     while(--a !=0)
   {
       for(i=0;i<600;i++);//延時約1毫秒
   }
}

void main(void)
{
     while (1)
   {
       LED1=0;       //1個循環用時5秒
       Delay(1000);   
       LED1=1;
       Delay(500);
       LED2=0;
       Delay(500);
       LED2=1;
       Delay(500);
       LED3=0;
       Delay(2000);
       LED3=1;
       Delay(500);
   }
}
*****************


要求P2的LED燈亮、滅狀態如下:
       LED11=0;          //1個循環用時5秒
       Delay(500);   
       LED11=1;
       Delay(1000);
       LED12=0;
       Delay(1000);
       LED12=1;
       Delay(500);
       LED13=0;
       Delay(1000);
       LED13=1;
       Delay(1000);

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

使用道具 舉報

沙發
ID:138144 發表于 2016-10-19 16:19 | 只看該作者
你的是流水燈,而且很繁瑣,下面是同時亮和滅
while(1)
{
      P1 = 0xff;
      P2 = 0xff;
      Delay(1000);
      
      P1 = 0x00;
      P2 =0x00;
      Delay(1000);
}

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:138622 發表于 2016-10-19 16:27 | 只看該作者
樓上是對的
回復

使用道具 舉報

地板
ID:123732 發表于 2016-10-19 16:41 | 只看該作者
  1. /*********************************************************************************************
  2. 編寫:劉海龍
  3. 程序名:測試
  4. 硬件支持:

  5. /*********************************************************************************************/
  6. #include <REG51.h>  
  7. sbit LED1=P1^7;
  8. sbit LED2=P1^6;   
  9. sbit LED3=P1^5;
  10. sbit LED11=P2^7;
  11. sbit LED12=P2^6;   
  12. sbit LED13=P2^5;  
  13. void Delay(unsigned int a)  
  14. {
  15.      unsigned int i;
  16.      while(--a !=0)
  17.    {
  18.        for(i=0;i<600;i++);//延時約1毫秒
  19.    }
  20. }

  21. void main(void)
  22. {
  23.      while (1)
  24.    {
  25.        LED1=0;LED11=0;       //1個循環用時5秒
  26.        Delay(500);   
  27.        LED11=1;
  28.        Delay(500);
  29.        LED1=1;
  30.        Delay(500);
  31.        LED2=0;LED12=0;
  32.        Delay(500);
  33.        LED2=1;
  34.        Delay(500);
  35.        LED3=0;LED12=1;
  36.        Delay(500);
  37.            LED13=0;
  38.            Delay(1000);
  39.            LED13=1;
  40.            Delay(500);
  41.            LED3=1;
  42.    }
  43. }

  44. /************************************END*********************************************************/
復制代碼

評分

參與人數 1黑幣 +100 收起 理由
admin + 100 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:123732 發表于 2016-10-19 16:42 | 只看該作者
測試.rar (451 Bytes, 下載次數: 6)
回復

使用道具 舉報

6#
ID:123732 發表于 2016-10-19 16:45 | 只看該作者
我的思路:以500ms為最小時間單位,在時間軸上每過500ms查看是否有指令,沒有則延時500沒事繼續向下查看,程序見附件

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:86913 發表于 2016-10-20 22:50 | 只看該作者
先在這里謝謝各位,我想對劉先生的程序驗證一下,因為我是新手,看不出來對與錯,驗證后再來感謝!
回復

使用道具 舉報

8#
ID:86913 發表于 2016-10-21 12:55 | 只看該作者
本帖最后由 tmxk0574 于 2016-10-21 13:03 編輯

試了一下,好象不對,燈的亮滅與我的要求完全不一樣。下面是LED燈亮滅的時序圖
   希望各位行家再幫我改一改,非常感謝!




回復

使用道具 舉報

9#
無效樓層,該帖已經被刪除
10#
ID:123732 發表于 2016-10-21 22:06 | 只看該作者
少了最后一條關500ms,重新改了見附件

測試2.rar

450 Bytes, 下載次數: 4

回復

使用道具 舉報

11#
ID:86913 發表于 2017-2-27 17:11 | 只看該作者
衷心感謝幫助我的朋友們,使我弄懂了這個問題,也感謝《51黑電子論壇》,給我這個學習的平臺。愿朋友們快樂健康,愿《51黑電子論壇》發展、興旺!
回復

使用道具 舉報

12#
ID:111634 發表于 2017-2-27 22:04 | 只看該作者
P1、P2同時啟動點亮LED1和LED11,沒意義。P1、P2同時啟動是1us,LED亮燈差別給人的感覺至少是數十ms。
回復

使用道具 舉報

13#
ID:167037 發表于 2017-2-28 08:53 | 只看該作者
不錯000000
回復

使用道具 舉報

14#
ID:167066 發表于 2017-2-28 11:02 | 只看該作者
同時點亮只需對P1、P2進行操作,如果有特別的需要,可進行位操作P1.x、P2.x
回復

使用道具 舉報

15#
ID:140906 發表于 2017-3-11 18:26 來自觸屏版 | 只看該作者
菜鳥路過
回復

使用道具 舉報

16#
ID:217754 發表于 2017-10-5 23:07 | 只看該作者
還是好人多呀。
回復

使用道具 舉報

17#
ID:213173 發表于 2017-10-6 07:57 | 只看該作者
P2=P1=0xfe;
Delay(500);
P2=P1=0xff;
Delay(1000);
P2=P1=0xfd;
Delay(500);
P2=P1=0xff;
Delay(1000);
P2=P1=0xfb;
Delay(500);
P2=P1=0xff;
Delay(1000);
..............
回復

使用道具 舉報

18#
ID:478073 發表于 2019-2-25 03:45 | 只看該作者

還是好人多呀!學的也多!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表