天天看點

c語言流水燈程式 16,16個發光二極管流水燈程式

c語言流水燈程式 16,16個發光二極管流水燈程式

檔案:

流水燈16.rar

大小:

32KB

下載下傳:16個發光二極管流水燈程式

作者:流水落花

ORG 0100H

LOOP0: MOV A, #0FEH

MOV P2, #0FEH

MOV R2, #8; R2用于計數

LOOP1: MOV P1, A

LCALL DEL200

RL A

DJNZ R2, LOOP1

MOV P1, #0FFH; 使P1複位

LOOP2: MOV A, #0FEH

MOV P2, #0FDH

MOV R2, #8

LOOP3: MOV P1, A

LCALL DEL200

RL A

DJNZ R2, LOOP3

MOV P2, #0FFH; 使P2複位

LCALL LOOP0; 傳回LOOP0

DEL200: MOV R7, #200

DEL1: MOV R6, #250

DJNZ R6, $

DJNZ R7, DEL1

RET

END

下面是我編寫這個程式的心得吧!:

一、編寫程式時我遇到了許多的麻煩,開始時我把程式編了出來,但是我用Proteus仿真就和我想要的結果不一緻,然後我又通過認真的分析,發現我的邏輯思維出錯了,用彙編語言編寫時要求我們要有很好的邏輯思維能力,我也是在我們老師的指導下才發現,這個習慣是很管用的,那就是在你編寫程式時,每一個獨立的子程式最好用回車把它與其它的語句分開,這樣就是為了在你查找程式錯誤時能夠很清楚的找到錯誤。也可以說這是一種好習慣吧!也就像學C語言一樣,一個好的程式設計習慣對我們的程式設計是很有幫助的。

二、在我編寫這個程式是時我改了好多次才得到了我想要的結果,我發現我最容易出錯的就是在調用子程式時我搞不懂子程式的标号應該設在哪裡,還有就是在我對程式做認真分析時我發現我有時很難厘清哪一句程式在前哪一句程式在後,這也是要求我有很好的邏輯思維能力,在這方面我會在我以後的程式設計中慢慢練習提高這方面的能力。

三、在我編寫這個程式時,我還發現,我的程式在理論上看似沒錯,但是用PROTEUS仿真時,你隻要仔細觀察就會發現程式還是有一個小小的問題,這個問題對于我一個初學彙編語言的人來說真的很難找到問題的所在,仿真是我發現,當流水燈從上到下到最底的時候上面的第8個發光二極管會閃一下,這不是我想要的結果,後來我就請我們的老師給我指點,我老師很快就幫我找到了問題是所在,那就是當二極管從上到下時要把P2口清零,我才明白這一點,後來我回到宿舍又用PROTEUS仿真了一下老師給我改後的程式,我發現在我電腦上還是那樣的現象,我又繼續改這個程式,我沒有懷疑老師結我的指點,而我覺得老師說的很正确,也正是老師給我的指點,讓我對P1口是否也要清零産生了懷疑,接下來我就對我的想法做了實驗,實驗的結果證明的是正确的,呵呵就這樣我的程式才算做成功了!!覺得很有成就感!!!!!!!!!