單片機(jī)系統(tǒng)的基本概念
(2)存儲(chǔ)器:物理實(shí)質(zhì)是一組或多組具備數(shù)據(jù)輸入/輸出和數(shù)據(jù)存儲(chǔ)功能的集成電路,用于充當(dāng)設(shè)備緩存或保存固定的程序及數(shù)據(jù)。
A、ROM(只讀存儲(chǔ)器):一般用于存放固定的程序或數(shù)據(jù)表格等,數(shù)據(jù)在掉電后仍然會(huì)保留下來(lái)。
B、RAM(隨機(jī)存儲(chǔ)器):用于暫存程序和數(shù)據(jù)、中間計(jì)算結(jié)果,或用作堆棧用等,數(shù)據(jù)在掉電后就會(huì)丟失。
(3)I/O端口:?jiǎn)纹瑱C(jī)與外界聯(lián)系的通道,它可以對(duì)各類外部信號(hào)(開關(guān)量、模擬量、頻率信號(hào))進(jìn)行檢測(cè)、判斷、處理,并可控制各類外部設(shè)備?,F(xiàn)在的單片機(jī)I/O口已經(jīng)集成了更多的特性和功能,對(duì)I/O端口的功能進(jìn)行了拓展和復(fù)用,例如外部中斷、ADC檢測(cè)以及PWM輸出等等。
(4)輸出電平:高電平電壓(輸出“1”時(shí))和低電平電壓(輸出“0”時(shí))
A、TTL電平:正邏輯,5V為邏輯正,0V為邏輯負(fù),例如單片機(jī)的輸出。
B、RS232電平:負(fù)邏輯,-12V為邏輯正,+12V為邏輯負(fù),例如PC的輸出。
注:因此在單片機(jī)和PC進(jìn)行通訊的時(shí)候需要一個(gè)MAX232芯片進(jìn)行電平轉(zhuǎn)換。
(5)堆棧:它是一種線性的數(shù)據(jù)結(jié)構(gòu),是一個(gè)只有一個(gè)進(jìn)出口的一維空間。
A、堆棧特性:后進(jìn)先出(LIFO)
B、堆棧指針:用于指示棧頂?shù)奈恢茫ǖ刂罚?dāng)發(fā)生壓?;蛘叱鰲2僮鲿r(shí),導(dǎo)致棧頂位置變化時(shí),堆棧指針會(huì)隨之變化。
C、堆棧操作:壓棧操作(PUSH)和出棧操作(POP)。
D、堆棧類型:“向上生長(zhǎng)”型堆棧,每次壓棧時(shí)堆棧指針加1;“向下生長(zhǎng)”型堆棧,每次壓棧堆棧時(shí)指針減1。
E、堆棧應(yīng)用:調(diào)用子程序、響應(yīng)中斷時(shí),堆棧用于保護(hù)現(xiàn)場(chǎng);還可以用作臨時(shí)數(shù)據(jù)緩沖區(qū)來(lái)使用。
F、使用注意:堆棧溢出問題,壓棧和出棧的匹配問題。
(6)定時(shí)/計(jì)數(shù)器:實(shí)質(zhì)都是計(jì)數(shù)器。用作定時(shí)器時(shí)是對(duì)單片機(jī)內(nèi)部的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),而在用作計(jì)數(shù)器時(shí)是對(duì)單片機(jī)外部的輸入脈沖進(jìn)行計(jì)數(shù),其作用如下:
A、計(jì)時(shí)、定時(shí)或延時(shí)控制;
B、脈沖技術(shù);
C、測(cè)量脈沖寬度或頻率(捕獲功能)
(7)中斷:優(yōu)先級(jí)更高的事件發(fā)生,打斷優(yōu)先級(jí)低的時(shí)間進(jìn)程。引起中斷的事件稱為中斷源。一個(gè)單片機(jī)可能支持多個(gè)中斷源,這些中斷源可以分為可屏蔽中斷和非可屏蔽中斷,而這些中斷源并不都是系統(tǒng)工作所需的,我們可以根據(jù)系統(tǒng)需求屏蔽那些不需要的中斷源。
A、中斷嵌套:當(dāng)一個(gè)低級(jí)中斷尚未執(zhí)行完畢,又發(fā)生了一個(gè)高級(jí)優(yōu)先級(jí)的中斷,系統(tǒng)轉(zhuǎn)而執(zhí)行高級(jí)中斷服務(wù)程序,待處理完高級(jí)中斷后再回過(guò)頭來(lái)執(zhí)行低級(jí)中斷服務(wù)程序。
B、中斷響應(yīng)時(shí)間是指從發(fā)出中斷請(qǐng)求到進(jìn)入中斷處理所用的時(shí)間;中斷處理時(shí)間是指中斷處理開始到中斷處理結(jié)束的時(shí)間。
C、中斷響應(yīng)過(guò)程:
a、保護(hù)現(xiàn)場(chǎng):將當(dāng)前地址、累加器ACC、狀態(tài)寄存器保存到堆棧中。
b、切換PC指針:根據(jù)不同的中斷源所產(chǎn)生的中斷,切換到相應(yīng)的入口地址。
c、執(zhí)行中斷服務(wù)處理程序。
d、恢復(fù)現(xiàn)場(chǎng):將保存在堆棧中的主程序地址、累加器ACC、狀態(tài)寄存器恢復(fù)。
e、中斷返回:從中斷處返回到主程序,繼續(xù)執(zhí)行。
D、中斷入口地址:?jiǎn)纹瑱C(jī)為每個(gè)中斷源分配了不同的中斷入口地址,也稱為中斷向量。
(8)復(fù)位:通過(guò)外部電路給單片機(jī)的復(fù)位引進(jìn)一個(gè)復(fù)位信號(hào),讓系統(tǒng)重新開始運(yùn)行。
A、復(fù)位發(fā)生時(shí)的動(dòng)作:
a、PC指針從起始位置開始執(zhí)行(大多數(shù)單片機(jī)都時(shí)從0x0000處開始執(zhí)行)。
b、I/O端口設(shè)置成缺省狀態(tài)(高阻態(tài)、或者輸出低電平)。
c、部分專用控制寄存器SFR恢復(fù)到缺省狀態(tài)。
d、普通RAM不變(如果是上電復(fù)位,則是隨即數(shù))。
B、兩種不同的復(fù)位啟動(dòng)方式:
a、冷啟動(dòng):也叫上電復(fù)位,指在斷電狀態(tài)下給系統(tǒng)加電,讓系統(tǒng)開始正常運(yùn)行。
b、熱啟動(dòng):在不斷電的狀態(tài)下,給單片機(jī)復(fù)位引進(jìn)一個(gè)復(fù)位信號(hào),讓系統(tǒng)重新開始。
C、兩種類型的復(fù)位電路:高電平復(fù)位和低電平復(fù)位。
D注意事項(xiàng):
a、
注意復(fù)位信號(hào)的電平狀態(tài)及持續(xù)時(shí)間必須滿足系統(tǒng)要求。
b、
注意避免復(fù)位信號(hào)抖動(dòng)。
(9)時(shí)鐘電路:?jiǎn)纹瑱C(jī)是一種時(shí)序電路,必須提供脈沖電路才能正常工作。時(shí)鐘電路相當(dāng)于單片機(jī)的心臟,它的每一次跳動(dòng)(振動(dòng)節(jié)拍)都控制著單片機(jī)的工作節(jié)奏。振蕩得慢時(shí),系統(tǒng)工作速度就慢,振蕩得快時(shí),系統(tǒng)工作速度就快(功耗也增大)。
A、振蕩周期:振蕩源的振蕩節(jié)拍。
B、機(jī)器周期:?jiǎn)纹瑱C(jī)完成一個(gè)基本操作需要的振蕩周期(節(jié)拍)。
C、指令周期:執(zhí)行一條指令需要幾個(gè)機(jī)器周期。不同的指令需要的機(jī)器周期數(shù)不同。
評(píng)論