新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)復(fù)位的一些相關(guān)問(wèn)題

單片機(jī)復(fù)位的一些相關(guān)問(wèn)題

作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
在和一人聊天時(shí),遇到了一個(gè)問(wèn)題,單片機(jī)復(fù)位的問(wèn)題,實(shí)在是很高深啊,因?yàn)橐话銜锸遣徽f(shuō)的,所以上網(wǎng)看看,轉(zhuǎn)載于下:

/////////////////////////////

本文引用地址:http://butianyuan.cn/article/201611/320633.htm

問(wèn)題

////////////////////////////

1、單片機(jī)要完成復(fù)位,為什么復(fù)位信號(hào)必須至少持續(xù)2個(gè)機(jī)器周期啊。
2、復(fù)位期間單片機(jī)在做什么?主要是這2個(gè)機(jī)器周期內(nèi)在做什么。
3、單片機(jī)上電之后復(fù)位之前,單片機(jī)在做什么?

////////////////////////////////////////////////////

答案

////////////////////////////////////////

1.復(fù)位信號(hào)要持續(xù)一定的時(shí)期,因?yàn)闄z測(cè)復(fù)位信號(hào)狀態(tài)首先需要一定的時(shí)間,其次是為了單片機(jī)狀態(tài)的穩(wěn)定。

2.主要做的就是初始化每個(gè)寄存器,包括最重要的PC指針,不包括RAM,然后單片機(jī)從復(fù)位地址開(kāi)始執(zhí)行程序。

3.單片機(jī)上電后,上電復(fù)位信號(hào)使單片機(jī)被鎖定在復(fù)位狀態(tài)直到復(fù)位信號(hào)撤銷。復(fù)位信號(hào)一上電就有,但是這時(shí)單片機(jī)并不執(zhí)行復(fù)位操作,首先要等Vcc穩(wěn)定、然后晶振開(kāi)始起振、振蕩穩(wěn)定后才執(zhí)行兩周期的復(fù)位操作(晶振沒(méi)起振CPU怎么操作?。?br />
因此單片機(jī)上電之后復(fù)位之前單片機(jī)不操作,狀態(tài)穩(wěn)定。開(kāi)始復(fù)位操作時(shí)(振蕩穩(wěn)定后,也就是2周期開(kāi)始)RESET信號(hào)仍然使單片機(jī)鎖定在復(fù)位狀態(tài),但CPU執(zhí)行PC指針、SFR等的復(fù)位操作。

所以從上電到復(fù)位信號(hào)撤銷前,單片機(jī)的狀態(tài)一直是穩(wěn)定的,單片機(jī)程序跑飛是由于復(fù)位信號(hào)的保持時(shí)間小于這個(gè)過(guò)程所需的時(shí)間,也就是PC指針、SFR等還沒(méi)復(fù)位,復(fù)位信號(hào)就撤銷了而放任CPU執(zhí)行,從而導(dǎo)致程序跑飛、單片機(jī)混亂等現(xiàn)象。復(fù)位信號(hào)的保持時(shí)間跟復(fù)位電路的設(shè)計(jì)有關(guān)。

//////////////////////////////////////////////////////////////

一點(diǎn)感慨:

什么東西,往深了一挖總能挖出寶來(lái)……希望自己做一個(gè)往深了挖的人



評(píng)論


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

關(guān)閉