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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

新手求助!!單片機點亮1,3,5,7這四個發光管,如何用總線操作完成

查看數: 11856 | 評論數: 24 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2016-12-26 11:18

正文摘要:

點亮1,3,5,7這四個發光管,如何用總線操作完成。我自己是這樣的。 #include<reg52.h> void main() {      P1=0xfe;      P1=0xfc;       ...

回復

ID:519089 發表于 2021-7-14 19:58
MOV P0,H0FE
ID:752225 發表于 2021-7-14 18:38
按照程序執行順序,11111110執行到11111100到11101111到11001111然后結束,每一條重新執行速度非常快,你感受不到,在現實中就是單片機只顯示了第四行功能,也就是只亮兩個燈
ID:934353 發表于 2021-7-14 15:39
void main()
{
    whilw(1)
{
     P1=0xaa;
}
}
這樣就可以了,一次點亮就行,如果要依次點亮就不是這樣寫
ID:824490 發表于 2021-7-14 15:29
認真學 發表于 2021-7-14 10:57
void  main()

     P1=Oxfe;Oxfb;Oxef;Oxbf;

你的名字起的真不錯!我只能這么說了。。。按你的名字來吧!
ID:952924 發表于 2021-7-14 10:57
void  main()

     P1=Oxfe;Oxfb;Oxef;Oxbf;

  }

是這樣的嗎
ID:157764 發表于 2017-1-14 22:40
.meiyou 問題吧
ID:158106 發表于 2017-1-14 17:16
  如果只是一次點亮1357用一條語句就行了
ID:161433 發表于 2017-1-13 16:28
感覺都沒有循環,雖然我是剛接觸,但還是能看懂一點,呵呵
ID:149144 發表于 2017-1-13 16:09
你只點亮了一瞬間 沒有保持
while(1)
   {
     P1=0xfe;
     P1=0xfc;
     P1=0xef;
     P1=0xcf;
   }
ID:140489 發表于 2017-1-13 11:26
//點亮1,3,5,7這四個發光管
#include<reg52.h>
void main()
{   
     while(1)
    {
     P1=0xaa;
     )
}
ID:159874 發表于 2017-1-4 14:41
其實你差不多了,再仔細研究一下
ID:159841 發表于 2017-1-4 13:02
你這個肯定不對三  你不覺得少了東西?
ID:155888 發表于 2017-1-4 12:53
已經弄明白了,多謝各位的幫助!!
ID:159171 發表于 2017-1-1 11:38
while 來一個循環
ID:156580 發表于 2016-12-31 22:10
執行完之后應該最后一條有效吧,然后程序就跑飛了
ID:159130 發表于 2016-12-31 21:11
要正確的點亮1357 你可以賦值0x55
ID:159130 發表于 2016-12-31 21:09
qq23412 發表于 2016-12-31 21:08
同學,你p1在第一條語句里點亮了第一個燈,但同時也滅了其他的燈

第二條語句點亮的第二個,同時也滅了其他燈。不信你可以留四條賦值語句中的其中一條試試
ID:159130 發表于 2016-12-31 21:08
同學,你p1在第一條語句里點亮了第一個燈,但同時也滅了其他的燈
ID:149988 發表于 2016-12-31 17:30

RE: 新手求助!!單片機點亮1,3,5,7這四個發光管,如何用總線操作完成

試試這個程序怎么樣。
#include<reg52.h>         
#include<intrins.h>
void Delay10ms(unsigned int a)  
{
  unsigned int b,c;
  for(c=a;c>0;c--)
    for(b=2000;b>0;b--);  
}   
main()
{
        unsigned char LED;
        LED=0x80;          
        while(1)
        {
    P0=LED;
    Delay10ms(50);
    LED=_crol_(LED,2);   
        }
}
ID:158282 發表于 2016-12-28 11:05
你的這段都不是這個意思
ID:111634 發表于 2016-12-27 21:30
本帖最后由 zl2168 于 2016-12-27 21:32 編輯

中間要有延時,而且要循環顯示。
花樣循環燈



花樣循環1

全亮2秒;

從上至下依次暗滅(間歇約0.5秒),每次減少一個,直至全滅;

從上至下依次點亮(間歇約0.5秒),每次增加一個,直至全亮;

閃爍5次(亮暗時間各約0.5秒);

重復上述過程,不斷循環。

花樣循環2

全亮,全暗,并重復一次;

從上至下,每次亮2個,并重復一次;

從上至下,每次亮4個,并重復一次;

從上至下,每次間隔亮2個(亮燈中間暗一個),并重復一次;

從上至下,每次間隔亮4個(亮燈中間暗一個),并重復一次;

上述過程更新間隔0.5秒,不斷循環重復。


Proteus仿真一下,確認有效
實例28 花樣循環燈(3種控制程序).rar (35.78 KB, 下載次數: 10)

以上摘自張志良編著《單片機實驗實訓100例》 ISBN978-7-5124-1603-1,北航社出版
書中電路和程序設計有詳細說明,程序語句條條有注解。





ID:152252 發表于 2016-12-27 11:39
多試幾次
ID:98767 發表于 2016-12-27 10:48
如果只是一次點亮1357用一條語句就行了

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

Powered by 單片機教程網

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