新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 80C51單片機上電復(fù)位和復(fù)位延時的時序分析

        80C51單片機上電復(fù)位和復(fù)位延時的時序分析

        作者: 時間:2011-05-18 來源:網(wǎng)絡(luò) 收藏

          由于標(biāo)準(zhǔn)邏輯相對簡單,源只有RST一個(相對新型來說,源比較單一),因此各種原因所導(dǎo)致的復(fù)位活動以及復(fù)位狀態(tài)的進入,都要依靠在外接引腳RST上施加一定時間寬度的高電平信號來實現(xiàn)。

          標(biāo)準(zhǔn)不僅復(fù)位源比較單一,而且還沒有設(shè)計內(nèi)部復(fù)位的功能,因此必須借助于外接阻容支路來增加環(huán)節(jié),如圖3(a)所示。其實,外接電阻R還是可以省略的,理由是一些CMOS芯片內(nèi)部存在一個現(xiàn)成的下拉電阻Rrst。例如,AT89系列的Rrst阻值約為50~200 kΩ;P89V51Rx2系列的Rrst阻值約為40~225 kΩ,如圖4所示。因此,在圖3(a)基礎(chǔ)上,復(fù)位電路還可以精簡為圖3(b)所示的簡化電路(其中電容C的容量也相應(yīng)減小了)。

        按此在新窗口瀏覽圖片
        圖4 復(fù)位引腳RST內(nèi)部電路

          在每次斷電之后,須使延時電容C上的電荷立刻放掉,以便為隨后可能在很短的時間內(nèi)再次加電作好準(zhǔn)備。否則,在斷電后C還沒有充分放電的情況下,如果很快又加電,那么RC支路就失去了它應(yīng)有的延遲功能。因此,在圖3(a)的基礎(chǔ)上添加一個放電二極管D,復(fù)位延時電路就變成了如圖3(c)所示的改進電路。也就是說,只有RC支路的充電過程對電路是有用的,放電過程不僅無用,而且會帶來潛在的危害。于是附加一個放電二極管D來大力縮短放電持續(xù)時間,以便消除隱患。二極管D只有在單片機斷電的瞬間(即VCC趨近于0 V,可以看作VCC對地短路)正向?qū)?,平時一直處于反偏截止?fàn)顟B(tài)。

        3 上電復(fù)位失敗的2種案例

          假如上電復(fù)位延遲時間不夠或者根本沒有延時過程,則單片機可能面臨以下2種危險,從而導(dǎo)致CPU開始執(zhí)行程序時沒有一個良好的初始化,甚至陷入錯亂狀態(tài)。

        ① 在時鐘振蕩器輸出的時鐘脈沖還沒有穩(wěn)定,甚至還沒有起振之前,就因釋放RST信號的鎖定狀態(tài)而放縱CPU開始執(zhí)行程序。這將會導(dǎo)致程序計數(shù)器PC中首次抓取的地址碼很可能是0000H之外的隨機值,進而引導(dǎo)CPU陷入混亂狀態(tài)。參考圖5所示的實測信號曲線。

        按此在新窗口瀏覽圖片
        圖5 在時鐘未穩(wěn)定前釋放RST的情況

        ② 在電源電壓還沒有上升到合適范圍之前(自然也是時鐘尚未穩(wěn)定之前),就釋放RST信號的鎖定狀態(tài),將會使單片機永遠(yuǎn)感受不到復(fù)位信號、經(jīng)歷不到復(fù)位過程、包含PC在內(nèi)的各個SFR內(nèi)容沒有被初始化而保留了隨機值,從而導(dǎo)致CPU從一個隨機地址開始執(zhí)行程序,進而也陷入混亂狀態(tài)。參考圖6所示的實測信號曲線。

        按此在新窗口瀏覽圖片
        圖6 在電源和時鐘均未穩(wěn)定前釋放RST的情況



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 虹口区| 兰州市| SHOW| 大安市| 麻城市| 营口市| 静安区| 枞阳县| 浮梁县| 弋阳县| 金华市| 佛坪县| 汉川市| 金门县| 寿阳县| 西畴县| 海林市| 城步| 桐梓县| 鱼台县| 阿尔山市| 庄浪县| 自治县| 翁牛特旗| 高陵县| 文成县| 宁南县| 镶黄旗| 铜鼓县| 东安县| 称多县| 延边| 克什克腾旗| 山阳县| 华亭县| 塘沽区| 同德县| 宣威市| 蓬溪县| 商丘市| 漳浦县|