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

51單片機的最小化應(yīng)用系統(tǒng)

作者:mcu110   來源:51hei   點擊數(shù):  更新時間:2007年08月10日   【字體:

本文我們來談一談51單片機的最小化應(yīng)用系統(tǒng)的問題,相信你做了這個簡單的最小系統(tǒng)試驗以后,會對單片機逐漸感興趣起來的,單片機要正常運行,必須具備一定的硬件條件,其中最主要的就是三個基本條件:1.電源正常;2.時鐘正常;3.復(fù)位正常。下面就以我們實驗用的51單片機AT89S51為例介紹其硬件連接方法。

下圖就是AT89S51單片機構(gòu)成的最小系統(tǒng)(僅驅(qū)動1個發(fā)光二極管)的電路,在AT89S51單片機的40個引腳中:電源引腳2根,晶振引腳2根,控制引腳4根,可編程輸入輸出引腳32根。


《51單片機的最小化應(yīng)用系統(tǒng)電路圖》

1、工作電源:電源是單片機工作的動力源泉,廢話!沒有電源當(dāng)然不能工作啦:),對應(yīng)的接線方法為:40腳(VCC)電源引腳,工作時接+5V電源,20腳(GND)為接地線。

2、時鐘電路:時鐘電路為單片機產(chǎn)生時序脈沖,單片機所有運算與控制過程都是在統(tǒng)一的時序脈沖的驅(qū)動下的進行的,時鐘電路就好比人的心臟,如果人的心跳停止了,人就。。。同樣,如果單片機的時鐘電路停止工作(晶振停振),那么單片機也就停止運行了。當(dāng)采用內(nèi)部時鐘時,連接方法如下圖所示,在晶振引腳XTAL1(19腳)和XTAL2(18腳)引腳之間接入一個晶振,兩個引腳對地分別再接入一個電容即可產(chǎn)生所需的時鐘信號,電容的容量一般在幾十皮法,如30PF。

3、接著我們給單片機加一個指示燈。我們在單片機P1.7(8腳)上接一個發(fā)光二極管,這樣就可以用來做單片機驅(qū)動發(fā)光二極管的簡單實驗了,圖中發(fā)光二極管負(fù)極對單片機引腳P1.7之間串接了一個560歐姆的限流電阻,防止發(fā)光二極管和單片機的引腳P1.7因為電流過大燒壞,使發(fā)光二極管和單片機都工作在安全狀態(tài)。

4、控制引腳EA接法。EA/VPP(31腳)為內(nèi)外程序存儲器選擇控制引腳,當(dāng)EA為低電位時,單片機從外部程序存儲器取指令;當(dāng)EA接高電平時,單片機從內(nèi)部程序存儲器取指令。。。AT89S51單片機內(nèi)部有4KB可反復(fù)擦寫1000次以上的程序存儲器,因此我們把EA接到+5V高電平,讓單片機運行內(nèi)部的程序,我們就可以通過反復(fù)燒寫來驗證我們的程序了。

5、復(fù)位電路:在復(fù)位引腳(9腳)腳持續(xù)出現(xiàn)24個振蕩器脈沖周期(即2個機器周期)的高電平信號將使單片機復(fù)位。如下圖所示電容C和電阻R構(gòu)成了單片機上電自動復(fù)位電路,復(fù)位后,單片機從0000H單元開始執(zhí)行程序,并初始化一些專用寄存器為復(fù)位狀態(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單片機的最小化應(yīng)用系統(tǒng)的連接,只要正確的燒寫程序,并接上+5V電源就可以了,單片機剩下的其他可以不接線懸空。

      下面我們來寫一個驅(qū)動發(fā)光二極管閃爍的程序,這是很簡單的事情,只需要以一定的世界間隔,給p1.7高電平,然后低電平,如此重復(fù),我們就看到了發(fā)光2極管在閃爍,程序如下:
完整的源程序如下:
  ;******** 51單片機的最小化應(yīng)用系統(tǒng)主程序 ********
  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í)行

  ;******** 51單片機的最小化應(yīng)用系統(tǒng)延時子程序 ********
  DELAY: MOV   R7,#255
  Y1:   MOV   R6,#255
      DJNZ   R6,$
      DJNZ   R7,Y1
      RET        ;延時子程序返回
      END        ;程序結(jié)束

關(guān)閉窗口