單片機是怎么工作的?
我們大概的了解了單片機的結(jié)構(gòu)、特點,下面我們主要講解單片機如何工作,有那些工作方式。
單片機共有復(fù)位、程序執(zhí)行、低功耗和編程與加密四種工作方式,下面分別加以介紹。
1.復(fù)位方式
(1)為什么要復(fù)位
大家知道,單片機執(zhí)行程序時總是從地址0000H 開始的,所以在進(jìn)入系統(tǒng)時必須對CPU 進(jìn)行復(fù)位,也叫初始化;另外由于程序運行中的錯誤或操作失誤使系統(tǒng)處于死鎖狀態(tài)時,為了擺脫這種狀態(tài),也需要進(jìn)行復(fù)位,就象電腦死機了要重新啟動一樣。
(2)復(fù)位的原理
單片機復(fù)位的方法其實很簡單,只要在RST 引腳(9 腳)上加一個持續(xù)時間為24 個振蕩周期(即兩個機器周期)的高電平就可以了。如果晶振為12M,計算一下這個持續(xù)脈沖需要多長時間?
(3)如何進(jìn)行復(fù)位
復(fù)位操作有上電自動復(fù)位、按鍵復(fù)位和外部脈沖復(fù)位3 種方法,上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的,當(dāng)電源剛接通時電容C 對下拉電阻開始充電,由于電容兩邊的電壓不能突變,所以RTS 端維持高電平,只要這個充電時間不超過1ms,就可以實現(xiàn)對單片機的自動上電復(fù)位,即接通電源就完成了系統(tǒng)的初始化,在實際的工程應(yīng)用中,如果沒有特殊要求,一般都采用這種復(fù)位方式;按鍵復(fù)位的電路如圖2 所示,它其實就是在上電復(fù)位的基礎(chǔ)上加了R2 和SA,這種電路一般用在需要經(jīng)常復(fù)位的系統(tǒng)中;外部脈沖復(fù)位的電路如圖3 所示,外部復(fù)位通常用于要求比較高的系統(tǒng),比如希望系統(tǒng)死鎖后能自動復(fù)位。外部復(fù)位是由專門的集成電路來實現(xiàn)的,也就是我們通常俗稱的“看門狗”電路,這種電路有很多,它們不但能完成對單片機的自動復(fù)位功能,而且還有管理電源、用作外部存儲器等功能,比如X25045,MAX813L 等等就是比較常用的此類芯片,
現(xiàn)在讓我們先來看看單片機復(fù)位后,它的內(nèi)部會有些什么變化呢?看下面的表:
(4)復(fù)位后的狀態(tài)
這就是單片機復(fù)位后內(nèi)部系統(tǒng)的狀。
2.程序執(zhí)行方式
程序執(zhí)行是單片機的基本工作方式,由于復(fù)位后PC=0000 ,所以程序就從地址0000H 開始執(zhí)行,此時單片機就根據(jù)指令的要求完成一系列的操作控制,比如前面講的讓LED 燈閃爍起來,不過在實際使用中,程序并不會從0000H 開始執(zhí)行,而總是安排一條跳轉(zhuǎn)指令,比如LJMP START ,為什么要這樣安排,我們講到中斷時再來解釋。
3. 低功耗操作方式
在以電池供電的系統(tǒng)中,有時為了降低電池的功耗,在程序不運行時就要采用低功耗方式,低功耗方式有兩種—待機方式和掉電方式。
低功耗方式是由電源控制寄存器PCON (上一課我們提到過的)來控制的。電源控制寄存器是一個逐位定義的8 位寄存器,其格式如下,
其中:SMOD 為波特率倍增位,在串行通訊時用;GF1 為通用標(biāo)志位1;GF0 為通用標(biāo)志位0;PD 為掉電方式位,PD=1,進(jìn)入掉電方式;IDL 為待機方式位,IDL=1 ,進(jìn)入待機方式。也就是說只要執(zhí)行一條指令讓PD 位或IDL 位為1 就可以了。那么單片機是如何進(jìn)入或退出掉電工作方式和待機工作方式的。
1 .待機方式
2 .進(jìn)入待機方式
當(dāng)使用指令使PCON 寄存器的IDL=1 ,則進(jìn)入待機工作方式。此時CPU 停止工作,但時鐘信號仍提供給RAM,定時器,中斷系統(tǒng)和串行口;同時堆棧指針SP,程序計數(shù)器PC,程序狀態(tài)字PSW,累加器ACC 以及全部的通用寄存器都被凍結(jié)起來;單片機的消耗電流從24mA 降為3.7mA,這樣就可以節(jié)省電源的消耗。
② 退出待機方式
退出待機方式可以采用引入中斷的方法,在中斷程序中安排一條RETI 的指令就可以了,什么是中斷,我們現(xiàn)在還不知道,當(dāng)然這沒關(guān)系。其實待機方式和我們使用電腦時的睡眠方式有異曲同工之妙。
(2)掉電方式
①進(jìn)入待機方式
當(dāng)使用指令使PCON 寄存器的PD=1 ,則進(jìn)入掉電工作方式,此時單片機的一切工作都停止,只有內(nèi)部RAM 的數(shù)據(jù)被保持下來;掉電方式下電源可以降到2V,耗電僅50uA 。此時就相當(dāng)于把顯示器和硬盤也關(guān)閉了。
② 退出待機方式
退出掉電工作方式的唯一方法是復(fù)位,不過應(yīng)在電源電壓恢復(fù)到正常值后再進(jìn)行復(fù)位,復(fù)位時間要大于10mS ,在進(jìn)入掉電方式前,電源電壓是不能降下來的,因此可靠的單片機電路最好要有電源檢測電路。顯然掉電方式和待機方式是兩種不同的低功耗工作方式,前者可以在無外部事件觸發(fā)時降低電源的消耗,而后者則在程序停止運行時才使用。關(guān)于單片機的低功耗的方式就簡單的講這些,更詳細(xì)的內(nèi)容也留到下冊再講解,因為那都是大蝦們的作品。
4. 編程和加密方式
單片機的編程與加密是由專門的設(shè)備來完成的,這種設(shè)備稱為編程器或燒錄器,類似的產(chǎn)品有很多,功能也不盡相同。本站的XL2000是集燒錄、試驗、編程、仿真一體化的產(chǎn)品
編輯:admin 最后修改時間:2018-05-18