採用AT89C51單片機設計八路LED跑馬燈的實驗 現在讓我們開始做第一個實驗:八路發光二極體輪流點亮的實驗,也就是通常所說的跑馬燈實驗,首先讓我們來完成必須的硬體部分,我們需要焊接上8個發光二極體和8個限流電阻,可以參考下面的原理圖和實物圖像進行操作,需要注意的是LED是有極性的,引腳長的為正極,引腳短的為負極,負極和電阻一側連接,如果接錯那麼相應的那一路可能在實驗中不會點亮了,在焊接前要看仔細哦. 下面我們來完成軟體編程設計,這裡我們沒有採用高深的編程技巧,而是用了最笨、最直接的向埠送數的辦法來實現,一來程序比較簡單,沒必要玩深沉,而且初學者看起來直觀易懂。 ORG 0000H START:MOV P1,#01111111B;最下面的LED點亮 LCALL DELAY;延時1秒 MOV P1,#10111111B;最下面第二個的LED點亮 LCALL DELAY;延時1秒 MOV P1,#11011111B;最下面第三個的LED點亮 (以下省略) LCALL DELAY MOV P1,#11101111B LCALL DELAY MOV P1,#11110111B LCALL DELAY MOV P1,#11111011B LCALL DELAY MOV P1,#11111101B LCALL DELAY MOV P1,#11111110B LCALL DELAY MOV P1,#11111111B;完成第一次循環點亮,延時約0.25秒 AJMP START;反覆循環 ;延時子程序,12M晶振延時約250毫秒 DELAY: MOV R4,#2 L3: MOV R2 ,#250 L1: MOV R3 ,#250 L2: DJNZ R3 ,L2 DJNZ R2 ,L1 DJNZ R4 ,L3 RET END AT89C51簡介 AT89C51是一種帶4K位元組快閃記憶體可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K位元組快閃記憶體可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反覆擦除1000次。 |