找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)并口簡單應(yīng)用(流水燈)P0-7控制

[復(fù)制鏈接]
ID:180782 發(fā)表于 2018-5-28 19:20 | 顯示全部樓層 |閱讀模式

單片機(jī)并口簡單應(yīng)用(流水燈)

  • 硬件電路

如圖1所示,流水燈硬件電路由發(fā)光二極管、單片機(jī)并口(P0)、限流電阻等組成。發(fā)光二極管連接成共陽極結(jié)構(gòu)。發(fā)光二極管點(diǎn)亮的條件是:陽極接高電平、各陰極接低電平。因此,二極管公共端陽極就接成高電平,然后再按一定規(guī)則從P0口輸出數(shù)據(jù),發(fā)光二極管就會點(diǎn)亮。

1 流水燈電路圖


2、程序流程圖如下。

1、開發(fā)板接線圖

編寫程序


編寫程序

實(shí) 驗(yàn) 名: 流水燈實(shí)驗(yàn)

實(shí)驗(yàn)說明 : 延時(shí)實(shí)現(xiàn)LED流水燈效果P0口八個(gè)燈作跑馬燈。

//--包含你要使用的頭文件


  1. #include <reg52.h>                //此文件中定義了52的一些特殊功能寄存器

  2. #include <intrins.h>



  3. //--聲明全局函數(shù)--//

  4. void Delay10ms(unsigned int c);   //延時(shí)10ms                 



  5. /******************************************************************************

  6. * 函 數(shù) 名  : main

  7. * 函數(shù)功能  : 主函數(shù)

  8. * 輸    入  : 無

  9. * 輸    出  : 無

  10. ******************************************************************************/



  11. void main()

  12. {

  13.               unsigned char LED;

  14.               LED = 0xfe;                //0xfe = 1111 1110

  15.               while (1)

  16.               {

  17.                   P0 = LED;

  18.                             Delay10ms(50);

  19.                             LED = LED << 1;    //循環(huán)右移1位,點(diǎn)亮下一個(gè)LED "<<"為左移位

  20.                             if (P0 == 0x00)              //當(dāng)它全滅的時(shí)候,重新賦值

  21.                             {

  22.                                           LED = 0xfe;                // 0xfe = 1111 1110

  23.                             }

  24.                                                          

  25.               }

  26. }

  27. /******************************************************************************

  28. * 函 數(shù) 名         : Delay10ms

  29. * 函數(shù)功能                               : 延時(shí)函數(shù),延時(shí)10ms

  30. * 輸    入         : 無

  31. * 輸    出         : 無

  32. ******************************************************************************/



  33. void Delay10ms(unsigned int c)   //誤差 0us

  34. {

  35.     unsigned char a, b;

  36.               //--c已經(jīng)在傳遞過來的時(shí)候已經(jīng)賦值了,所以在for語句第一句就不用賦值了--//

  37.     for (;c>0;c--)

  38.               {

  39.                             for (b=38;b>0;b--)

  40.                             {

  41.                                           for (a=130;a>0;a--);

  42.                             }



  43.               }      

  44. }
復(fù)制代碼

完整的Word格式文檔51黑下載地址:

1單片機(jī)并口簡單應(yīng)用(流水燈).docx (434.04 KB, 下載次數(shù): 8)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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