專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

恨死單片機(jī)之點(diǎn)亮LED

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2010年07月21日   【字體:

當(dāng)一個(gè)女生對你說討厭的時(shí)候,很大的可能是在說喜歡。所以,俺也學(xué)習(xí)一下,來個(gè)恨死單片機(jī)吧。

51開發(fā)板買來一個(gè)學(xué)期了。可是就是沒有學(xué)過,汗啊。。趁著暑假的時(shí)候,終于開始動工。最近在聽徐成老師的課,收獲很大,雖然他講的知識點(diǎn)不多,但是很能開拓視野。更重要的是,從他那里學(xué)到的不是知識,而是學(xué)習(xí)知識的方法。收獲最大的,就是從宏觀的角度看問題。舉個(gè)例子:徐老師講,啥單片機(jī),DSP,ARM,PC機(jī),搞那么多干什么,在我看來,就是圖靈機(jī)。在具體一點(diǎn),就是馮諾依曼結(jié)構(gòu)。頓時(shí)如同醍醐灌頂。

話不多說,轉(zhuǎn)入正題。

以前學(xué)習(xí)單片機(jī),都是從C語言入手的。后來覺得,從匯編入手能更好的理解計(jì)算機(jī)。所以又從頭開始學(xué)。可惡的匯編啊。一句話,真難。

來個(gè)程序

­ ;*******************************************************************
;*   by 小馬哥                                                     *

 


      ORG   0000H
      AJMP  MAIN
;***************************************************
MAIN:
      MOV P0,#0FFH   ;端口初始化,0表示無符號
;
START:
      MOV P0,#00FH     ;LED ON 此時(shí)LED正極接電源,負(fù)極接P1.0
      CALL  DELAY     ;做一個(gè)延遲
      MOV P0,#0FFH     ;LED OFF
      CALL  DELAY     ;做一小段延遲
      AJMP  START
;
; 延時(shí)子程序1秒
;==================================================
;==================================================
DELAY:           
                   mov r1,#11
delay_1s_lp2:      mov r2,#200
delay_1s_lp1:      mov r3,#200
                   djnz r3,$
                   djnz  r2,delay_1s_lp1
                   djnz r1,delay_1s_lp2
                   ret

        END            ;結(jié)束

;************************************************

 

看懂沒,如果看不懂的話,看看下面的視頻吧。

 

視頻錄制的不是很清楚,將就著看吧。

如果我們稍微改變一個(gè)數(shù)字,把上面的一段程序改為下面的

;***************************************************
MAIN:
      MOV P0,#0FFH   ;端口初始化,0表示無符號
;
START:
      MOV P0,#0AAH     ;LED ON 此時(shí)LED正極接電源,負(fù)極接P1.0
      CALL  DELAY     ;做一個(gè)延遲
      MOV P0,#055H     ;LED OFF
      CALL  DELAY     ;做一小段延遲
      AJMP  START
;
; 延時(shí)子程序1秒
;==================================================


再來看看一個(gè)視頻,

怎么樣。。。是不是很好玩。

本來想講講這個(gè)程序。但是不知道從何講起。不過有一點(diǎn)可以說明一下。這玩意就像我們在實(shí)驗(yàn)室做的FPGA一樣,把管教設(shè)置為0或者1。不同的不過是那個(gè)用VHDL,這個(gè)用匯編而已。(暫時(shí)這么類比)。

下一篇文章,就講講流水燈吧,F(xiàn)在還沒做出來,明天繼續(xù)奮斗。

關(guān)閉窗口

相關(guān)文章