新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機最小系統(tǒng)原理及編程電路設(shè)計

51單片機最小系統(tǒng)原理及編程電路設(shè)計

作者: 時間:2013-01-15 來源:網(wǎng)絡(luò) 收藏

下面以匯編語言來編程,讓某個端口輸出高電平語句是SETB,讓端口輸出低電平的語句是CLR語句,讓P1.7端口輸出高電平的語句是: SETBP1.7; 讓P1.7端口輸出低電平的語句是: CLRP1.7,實現(xiàn)發(fā)光二極管LED閃爍的編程思路如下圖3所示。


圖3: 《原理編程框圖》

完整的源程序如下:
;******** 原理及設(shè)計主程序 ********
MAIN: CLRP1.7;主程序開始,P1.7輸出低電平"0",讓點亮發(fā)光二極管
ACALLDELAY ;調(diào)用延時子程序延時一段時間,讓發(fā)光二極管亮一段時間
SETB P1.7;P1.7輸出高電平"1",熄滅發(fā)光二極管
ACALLDELAY ;調(diào)用延時子程序延時一段時間,讓發(fā)光二極管熄滅一段時間
AJMP MAIN;跳轉(zhuǎn)到程序開頭重復(fù)執(zhí)行

;******** 下面是延時子程序 ********
DELAY:MOVR7,#255
Y1: MOVR6,#255
DJNZ R6,$
DJNZ R7,Y1
RET;延時子程序返回
END;程序結(jié)束

啟動“Keil uVision2”單片機集成開發(fā)環(huán)境,如沒有請再這里下載 keil下載 建立一個新工程,輸入上面的源程序,最后編譯得到一個lich1.hex目標(biāo)文件,用編程器把lich1.hex寫入單片機AT89S51中,插到實驗板上就可以看到第一個程序的運行效果了(P1.7端口的發(fā)光二極管不停閃爍)。這就是我們學(xué)習(xí)的第一個最簡單的程序,是一個完整的單片機開發(fā)過程,再復(fù)雜龐大的程序都是由簡單的語句、程序構(gòu)成的,希望該教程能給初學(xué)者對單片機開發(fā)有一個感性的認(rèn)識。不懂如何在Keil中編輯源程序的初學(xué)者請看 keil教程


圖4:ISP編程器將產(chǎn)生的目標(biāo)程序lich1.hex寫入AT89S51單片機


圖5:單片機插入實驗板上程序的運行效果

單片機的學(xué)習(xí)是一個循序漸進(jìn)的過程,制作單片機,并徹底了解其原理,能把你快速帶入單片機世界的大門,這只是一個最簡單的制作,有什么問題請聯(lián)系我


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉