51單片機的最小化應用系統
3、接著(zhù)我們給單片機加一個(gè)指示燈。我們在單片機P1.7(8腳)上接一個(gè)發(fā)光二極管,這樣就可以用來(lái)做單片機驅動(dòng)發(fā)光二極管的簡(jiǎn)單實(shí)驗了,圖中發(fā)光二極管負極對單片機引腳P1.7之間串接了一個(gè)560歐姆的限流電阻,防止發(fā)光二極管和單片機的引腳P1.7因為電流過(guò)大燒壞,使發(fā)光二極管和單片機都工作在安全狀態(tài)。
4、控制引腳EA接法。EA/VPP(31腳)為內外程序存儲器選擇控制引腳,當EA為低電位時(shí),單片機從外部程序存儲器取指令;當EA接高電平時(shí),單片機從內部程序存儲器取指令。。。AT89S51單片機內部有4KB可反復擦寫(xiě)1000次以上的程序存儲器,因此我們把EA接到+5V高電平,讓單片機運行內部的程序,我們就可以通過(guò)反復燒寫(xiě)來(lái)驗證我們的程序了。
5、復位電路:在復位引腳(9腳)腳持續出現24個(gè)振蕩器脈沖周期(即2個(gè)機器周期)的高電平信號將使單片機復位。如下圖所示電容C和電阻R構成了單片機上電自動(dòng)復位電路,復位后,單片機從0000H單元開(kāi)始執行程序,并初始化一些專(zhuān)用寄存器為復位狀態(tài)值,受影響的專(zhuān)用寄存器如下表所示:
寄存器 | 狀態(tài) | 寄存器 | 狀態(tài) |
---|---|---|---|
PC | 0000H | TCON | 00H |
ACC | 00H | TL0 | 00H |
PSW | 00H | TH0 | 00H |
SP | 07H | TL1 | 00H |
DPTR | 0000H | TH1 | 00H |
P0 -- P3 | FFH | SCON | 00H |
IP | xxx00000H | SBUF | 不確定 |
IE | 0xx00000H | PCON | 0xxx0000H |
TMOD | 00H |
至此,我們完成了51單片機的最小化應用系統的連接,只要正確的燒寫(xiě)程序,并接上+5V電源就可以了,單片機剩下的其他可以不接線(xiàn)懸空。
下面我們來(lái)寫(xiě)一個(gè)驅動(dòng)發(fā)光二極管閃爍的程序,這是很簡(jiǎn)單的事情,只需要以一定的世界間隔,給p1.7高電平,然后低電平,如此重復,我們就看到了發(fā)光2極管在閃爍,程序如下:
完整的源程序如下:
;******** 51單片機的最小化應用系統主程序 ********
MAIN: CLR P1.7 ;主程序開(kāi)始,P1.7輸出低電平"0",讓點(diǎn)亮發(fā)光二極管
ACALL DELAY ;調用延時(shí)子程序延時(shí)一段時(shí)間,讓發(fā)光二極管亮一段時(shí)間
SETB P1.7 ;P1.7輸出高電平"1",熄滅發(fā)光二極管
ACALL DELAY ;調用延時(shí)子程序延時(shí)一段時(shí)間,讓發(fā)光二極管熄滅一段時(shí)間
AJMP MAIN ;跳轉到程序開(kāi)頭重復執行
;******** 51單片機的最小化應用系統延時(shí)子程序 ********
DELAY: MOV R7,#255
Y1: MOV R6,#255
DJNZ R6,$
DJNZ R7,Y1
RET ;延時(shí)子程序返回
END ;程序結束
評論