131 1300 0010
開關(guān)電源
  • 導(dǎo)航欄目
  • 逆變電源
  • 開關(guān)電源
  • 電機伺服
  • 其他電源
  • 51單片機的復(fù)位操作方法解析
    51單片機的復(fù)位操作方法解析
  • 51單片機的復(fù)位操作方法解析
  •   發(fā)布日期: 2019-05-22  瀏覽次數(shù): 3,181

    單片機時鐘信號用來提供單片機片內(nèi)各種微操作的時間基準,復(fù)位操作則使單片機的片內(nèi)電路初始化,使單片機從一種確定的初態(tài)開始運行。

    時鐘電路:

     

    8031單片機的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。

    在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。內(nèi)部振蕩方式的外部電路如下圖所示。

    圖中,電容器Col,C02起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5-30pF。晶振頻率的典型值為12MH2,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時鐘情號比較穩(wěn)定,實用電路中使用較多。

    外部振蕩方式是把外部已有的時鐘信號引入單片機內(nèi)。這種方式適宜用來使單片機的時鐘與外部信號保持同步。外部振蕩方式的外部電路如下圖所示。

    51單片機的復(fù)位操作方法解析

    由上圖可見,外部振蕩信號由XTAL2引入,XTAL1接地。為了提高輸入電路的驅(qū)勸能力,通常使外部信號經(jīng)過一個帶有上拉電阻的TTL反相門后接入XTAL2。

    基本時序單位:

    單片機以晶體振蕩器的振蕩周期(或外部引入的時鐘周期)為最小的時序單位,片內(nèi)的各種微操作都以此周期為時序基準。

    振蕩頻率二分頻后形成狀態(tài)周期或稱s周期,所以,1個狀態(tài)周期包含有2個振蕩周期。振蕩頻率foscl2分頻后形成機器周期MC。所以,1個機器周期包含有6個狀態(tài)周期或12個振蕩周期。1個到4個機器周期確定一條指令的執(zhí)行時間,這個時間就是指令周期。8031單片機指令系統(tǒng)中,各條指令的執(zhí)行時間都在1個到4個機器周期之間。

    4種時序單位中,振蕩周期和機器周期是單片機內(nèi)計算其它時間值(例如,波特率、定時器的定時時間等)的基本時序單位。下面是單片機外接晶振頻率12MHZ時的各種時序單位的大小:

    振蕩周期=1/fosc=1/12MHZ=0.0833us

    51單片機的復(fù)位操作方法解析

    復(fù)位電路:

    當MCS-5l系列單片機的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。

    根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。

    上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。常用的上電復(fù)位電路如下圖A中左圖所示。圖中電容C1和電阻R1對電源十5V來說構(gòu)成微分電路。上電后,保持RST一段高電平時間,由于單片機內(nèi)的等效電阻的作用,不用圖中電阻R1,也能達到上電復(fù)位的操作功能,如下圖(A)中右圖所示。

    51單片機的復(fù)位操作方法解析

    上電或開關(guān)復(fù)位要求電源接通后,單片機自動復(fù)位,并且在單片機運行期間,用開關(guān)操作也能使單片機復(fù)位。常用的上電或開關(guān)復(fù)位電路如上圖(B)所示。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當單片機已在運行當中時,按下復(fù)位鍵K后松開,也能使RST為一段時間的高電平,從而實現(xiàn)上電或開關(guān)復(fù)位的操作。

    根據(jù)實際操作的經(jīng)驗,下面給出這兩種復(fù)位電路的電容、電阻參考值。

    上圖(A)中:Cl=10-30uF,R1=1kO

    上圖1.27(B)中:C:=1uF,Rl=lkO,R2=10kO

    單片機復(fù)位后的狀態(tài):

    單片機的復(fù)位操作使單片機進入初始化狀態(tài),其中包括使程序計數(shù)器PC=0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機冷啟動后,片內(nèi)RAM為隨機值,運行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見下表。

    值得指出的是,記住一些特殊功能寄存器復(fù)位后的主要狀態(tài),對于了解單片機的初態(tài),減少應(yīng)用程序中的韌始化部分是十分必要的。

    說明:表中符號*為隨機狀態(tài);

    A=00H,表明累加器已被清零;

    特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0~P3FFHSBUF不定

           IP***00000BSCON00HIE0**00000BPCON0*******B

    PSW=00H,表明選寄存器0組為工作寄存器組;

    SP=07H,表明堆棧指針指向片內(nèi)RAM 07H字節(jié)單元,根據(jù)堆棧操作的先加后壓法則,第一個被壓入的內(nèi)容寫入到08H單元中;

    Po-P3=FFH,表明已向各端口線寫入1,此時,各端口既可用于輸入又可用于輸出;

    IP=×××00000B,表明各個中斷源處于低優(yōu)先級;

    IE=0××00000B,表明各個中斷均被關(guān)斷;

    系統(tǒng)復(fù)位是任何微機系統(tǒng)執(zhí)行的第一步,使整個控制芯片回到默認的硬件狀態(tài)下。51單片機的復(fù)位是由RESET引腳來控制的,此引腳與高電平相接超過24個振蕩周期后,51單片機即進入芯片內(nèi)部復(fù)位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET引腳轉(zhuǎn)為低電平后,才檢查EA引腳是高電平或低電平,若為高電平則執(zhí)行芯片內(nèi)部的程序代碼,若為低電平便會執(zhí)行外部程序。

    51單片機在系統(tǒng)復(fù)位時,將其內(nèi)部的一些重要寄存器設(shè)置為特定的值,(在特殊寄存器介紹時再做詳細說明)至于內(nèi)部RAM內(nèi)部的數(shù)據(jù)則不變。


  • ·上一篇:
    ·下一篇:
  • 其他關(guān)聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機:131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權(quán)所有:Copyright?2010-2023 m.xbquwah.cn 電話:13113000010 粵ICP備2021111333號