|
本文我們來談一談51單片機的最小化應用系統(tǒng)的問題,相信你做了這個簡單的最小系統(tǒng)試驗以后,會對單片機逐漸感興趣起來的,單片機要正常運行,必須具備一定的硬件條件,其中最主要的就是三個基本條件:1.電源正常;2.時鐘正常;3.復位正常。下面就以我們實驗用的51單片機AT89S51為例介紹其硬件連接方法。
下圖就是AT89S51單片機構成的最小系統(tǒng)(僅驅動1個發(fā)光二極管)的電路,在AT89S51單片機的40個引腳中:電源引腳2根,晶振引腳2根,控制引腳4根,可編程輸入輸出引腳32根。
《51單片機的最小化應用系統(tǒng)電路圖》
1、工作電源:電源是單片機工作的動力源泉,廢話!沒有電源當然不能工作啦:),對應的接線方法為:40腳(VCC)電源引腳,工作時接+5V電源,20腳(GND)為接地線。
2、時鐘電路:時鐘電路為單片機產(chǎn)生時序脈沖,單片機所有運算與控制過程都是在統(tǒng)一的時序脈沖的驅動下的進行的,時鐘電路就好比人的心臟,如果人的心跳停止了,人就。。。同樣,如果單片機的時鐘電路停止工作(晶振停振),那么單片機也就停止運行了。當采用內(nèi)部時鐘時,連接方法如下圖所示,在晶振引腳XTAL1(19腳)和XTAL2(18腳)引腳之間接入一個晶振,兩個引腳對地分別再接入一個電容即可產(chǎn)生所需的時鐘信號,電容的容量一般在幾十皮法,如30PF。
3、接著我們給單片機加一個指示燈。我們在單片機P1.7(8腳)上接一個發(fā)光二極管,這樣就可以用來做單片機驅動發(fā)光二極管的簡單實驗了,圖中發(fā)光二極管負極對單片機引腳P1.7之間串接了一個560歐姆的限流電阻,防止發(fā)光二極管和單片機的引腳P1.7因為電流過大燒壞,使發(fā)光二極管和單片機都工作在安全狀態(tài)。
4、控制引腳EA接法。EA/VPP(31腳)為內(nèi)外程序存儲器選擇控制引腳,當EA為低電位時,單片機從外部程序存儲器取指令;當EA接高電平時,單片機從內(nèi)部程序存儲器取指令。。。AT89S51單片機內(nèi)部有4KB可反復擦寫1000次以上的程序存儲器,因此我們把EA接到+5V高電平,讓單片機運行內(nèi)部的程序,我們就可以通過反復燒寫來驗證我們的程序了。
5、復位電路:在復位引腳(9腳)腳持續(xù)出現(xiàn)24個振蕩器脈沖周期(即2個機器周期)的高電平信號將使單片機復位。如下圖所示電容C和電阻R構成了單片機上電自動復位電路,復位后,單片機從0000H單元開始執(zhí)行程序,并初始化一些專用寄存器為復位狀態(tài)值,受影響的專用寄存器如下表所示:
|
寄存器 |
狀態(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單片機的最小化應用系統(tǒng)的連接,只要正確的燒寫程序,并接上+5V電源就可以了,單片機剩下的其他可以不接線懸空。
下面我們來寫一個驅動發(fā)光二極管閃爍的程序,這是很簡單的事情,只需要以一定的世界間隔,給p1.7高電平,然后低電平,如此重復,我們就看到了發(fā)光2極管在閃爍,程序如下: 完整的源程序如下: ;******** 51單片機的最小化應用系統(tǒng)主程序 ******** MAIN: CLR P1.7 ;主程序開始,P1.7輸出低電平"0",讓點亮發(fā)光二極管 ACALL DELAY ;調用延時子程序延時一段時間,讓發(fā)光二極管亮一段時間 SETB P1.7 ;P1.7輸出高電平"1",熄滅發(fā)光二極管 ACALL DELAY ;調用延時子程序延時一段時間,讓發(fā)光二極管熄滅一段時間 AJMP MAIN ;跳轉到程序開頭重復執(zhí)行
;******** 51單片機的最小化應用系統(tǒng)延時子程序 ******** DELAY: MOV R7,#255 Y1: MOV R6,#255 DJNZ R6,$ DJNZ R7,Y1 RET ;延時子程序返回 END ;程序結束 |