找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1401|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

在點亮一顆LED燈的基礎(chǔ)上讓LED燈閃爍 源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:647532 發(fā)表于 2022-6-1 14:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. /**************************************************************************************
  2. *                              LED燈閃爍實驗                                                                                          *
  3. 實現(xiàn)現(xiàn)象:下載程序后D1指示燈點會間隔500MS閃爍一次
  4. 注意事項:無                                                                                                                                                                  
  5. ***************************************************************************************/
  6. //          思路是讓LED點亮一段時間,然后讓LED熄滅一段時間,點亮的程序是讓led=0;熄滅就是讓led=1;
  7. //   再加上一個延時函數(shù)delay()即可實現(xiàn)LED燈閃爍

  8. #include "reg52.h"    //此文件中定義了單片機的一些特殊功能寄存器
  9. typedef unsigned int u16;  //類型重定義
  10. void LedOn (void);          //LedOn()函數(shù)聲明           開燈
  11. void LedOff (void);         // 關(guān)燈
  12. void Delay(u16 i);          //可以向函數(shù)內(nèi)傳遞一個無符號整型的參數(shù)  (0-65535)
  13. sbit led=P2^0;           //將單片機的P2.0端口定義為led

  14. /*******************************************************************************
  15. * 函 數(shù) 名       : main
  16. * 函數(shù)功能                 : 主函數(shù)
  17. * 輸    入       : 無

  18. * 輸    出             : 無
  19. *******************************************************************************/
  20. void main(void)                        //程序從main函數(shù)開始執(zhí)行                                       
  21. {
  22.         while(1)                        //1表示條件表達(dá)式值為真,程序一直循環(huán)
  23.         {        
  24.                  LedOn();  //函數(shù)調(diào)用
  25.                 Delay(50000);
  26.                 LedOff();
  27.                 Delay(50000);
  28.         }
  29. }

  30. /*******************************************************************************
  31. * 函 數(shù) 名       : LedOn
  32. * 函數(shù)功能                 : 點亮一顆LED燈
  33. * 輸    入       : 無

  34. * 輸    出             : 無
  35. *******************************************************************************/
  36. void LedOn(void)
  37. {
  38.   led=0;                                 led=0;        //P2.0端口設(shè)置為低電平

  39. }

  40.   /*******************************************************************************
  41. * 函 數(shù) 名       : LedOff
  42. * 函數(shù)功能                 : 讓LED燈熄滅
  43. * 輸    入       : 無

  44. * 輸    出             : 無
  45. *******************************************************************************/
  46. void LedOff(void)
  47. {
  48.   led=1;                                 led=1;        //P2.0端口設(shè)置為高電平

  49. }

  50.   /*******************************************************************************
  51. * 函 數(shù) 名       : Delay
  52. * 函數(shù)功能                 : 延時一段時間,i=1時大約延時10us,程序使用12MHZ晶振調(diào)試的延時時間
  53. * 輸    入       : 0-65535

  54. * 輸    出             : 無
  55. *******************************************************************************/
  56. void Delay(u16 i)
  57. {
  58.   while(i--);                                 
  59. }
復(fù)制代碼





評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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