版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章單片機(jī)系統(tǒng)的抗干擾技術(shù)熟悉單片機(jī)系統(tǒng)的各種干擾來源及形式學(xué)會(huì)供電系統(tǒng)及過程通道的抗干擾措施能說出在印制電路板設(shè)計(jì)中體現(xiàn)的抗干擾措施學(xué)習(xí)設(shè)計(jì)軟件陷阱及看門狗電路9.1干擾的來源
在日常生活中,經(jīng)常會(huì)遇到這樣一些現(xiàn)象。比如聽收音機(jī)時(shí),有汽車經(jīng)過,喇叭就會(huì)出現(xiàn)刺耳的噪聲,這就是干擾。所謂干擾,就是有用信號(hào)外的噪聲或造成惡劣影響的變化部分的總稱。
在進(jìn)行單片機(jī)應(yīng)用產(chǎn)品的開發(fā)過程中,我們經(jīng)常會(huì)碰到一個(gè)很棘手的問題,即在實(shí)驗(yàn)室環(huán)境下系統(tǒng)運(yùn)行很正常,但小批量生產(chǎn)并安裝在工作現(xiàn)場(chǎng)后,卻出現(xiàn)一些不太規(guī)律、不太正常的現(xiàn)象。究其原因主要是系統(tǒng)的抗干擾設(shè)計(jì)不全面,導(dǎo)致應(yīng)用系統(tǒng)的工作不可靠。引起單片機(jī)控制系統(tǒng)干擾的主要原因有以下幾類:(1)供電系統(tǒng)的干擾
眾所周知,電源開關(guān)的通斷、電機(jī)和大的用電設(shè)備的啟停會(huì)使供電電網(wǎng)發(fā)生波動(dòng),受這些因素的影響,電網(wǎng)上常常出現(xiàn)幾百伏、甚至幾千伏的尖峰脈沖干擾,這就會(huì)使同一電網(wǎng)供電的單片機(jī)控制系統(tǒng)無法正常運(yùn)行。這種干擾是危害最嚴(yán)重也是最廣泛的一種干擾形式。(2)過程通道的干擾
在單片機(jī)應(yīng)用系統(tǒng)中,開關(guān)量輸入、輸出和模擬量輸入、輸出通道是必不可少的。這些通道不可避免地會(huì)使各種干擾直接進(jìn)入單片機(jī)系統(tǒng)。同時(shí),在這些輸入輸出通道中的控制線及信號(hào)線彼此之間會(huì)通過電磁感應(yīng)而產(chǎn)生干擾,從而使單片機(jī)應(yīng)用系統(tǒng)的程序錯(cuò)誤,甚至?xí)拐麄€(gè)系統(tǒng)無法正常運(yùn)行。(3)空間電磁波的干擾
空間干擾主要來自太陽及其它天體輻射電磁波、廣播電臺(tái)或通訊發(fā)射臺(tái)發(fā)出的電磁波及各種周圍電氣設(shè)備發(fā)射的電磁干擾等。如果單片機(jī)應(yīng)用系統(tǒng)工作在電磁波較強(qiáng)的區(qū)域而沒有采取相關(guān)的防護(hù)措施,就容易引起干擾。但這種干擾一般可通過適當(dāng)?shù)钠帘渭敖拥卮胧┘右越鉀Q。因此,針對(duì)以上出現(xiàn)的問題,我們必須采用有效措施以提高單片機(jī)應(yīng)用系統(tǒng)抗干擾的能力。9.2主要干擾通道及抗干擾措施9.2.1供電系統(tǒng)干擾及抗干擾措施1、供電干擾的種類
如果把電源電壓變化持續(xù)時(shí)間定為Δt,那么,根據(jù)Δt的大小可以把電源干擾分為四種情況:(1)過壓、欠壓、停電:當(dāng)Δt>1s時(shí)產(chǎn)生的干擾,解決辦法是使用各種穩(wěn)壓器、電源調(diào)節(jié)器,對(duì)短時(shí)停電可用不間斷電源(UPS)供電。(2)浪涌、下陷、半周降出:當(dāng)1s>Δt>10ms時(shí)產(chǎn)生的干擾,可使用快速響應(yīng)的交流電源調(diào)壓器克服。(3)尖峰電壓:當(dāng)Δt為μs量級(jí)時(shí)產(chǎn)生的干擾,解決辦法是使用具有噪聲抑制能力的交流電源調(diào)節(jié)器、參數(shù)穩(wěn)壓器或超隔離變壓器。
(4)射頻干擾:當(dāng)Δt為ns量級(jí)時(shí)產(chǎn)生的干擾,可加2~3節(jié)低通濾波器消除干擾。2、抗干擾設(shè)計(jì)
在單片機(jī)系統(tǒng)中,為了提高供電系統(tǒng)的質(zhì)量,防止竄入干擾,建議采用如下措施:(1)單片機(jī)輸入電源與強(qiáng)電設(shè)備動(dòng)力電源分開。(2)采用具有靜電屏蔽和抗電磁干擾的隔離電源變壓器。
隔離變壓器的初級(jí)和次級(jí)之間均采用隔離屏蔽層(可用漆包線或銅等非導(dǎo)磁材料在初級(jí)和次級(jí)繞一層,但電氣上不能與初級(jí)、次級(jí)線圈短路,而后引出一個(gè)頭接地)。各初級(jí)、次級(jí)間的靜電屏蔽與初級(jí)間的零電位線相接,再用電容耦合接地。如圖所示。(3)交流進(jìn)線端加低通濾波器,可濾掉高頻干擾。安裝時(shí)外殼要加屏蔽并使其良好接地,濾波器的輸入、輸出引線必須相互隔離,以防止感應(yīng)和輻射耦合。直流輸出部分采用大容量電解電容進(jìn)行平滑濾波。(4)對(duì)于功率不大的小型或微型計(jì)算機(jī)系統(tǒng),為了抑制電網(wǎng)電壓起伏的影響,可設(shè)置交流穩(wěn)壓器。(5)采用獨(dú)立功能塊單獨(dú)供電,并用集成穩(wěn)壓塊實(shí)現(xiàn)兩級(jí)穩(wěn)壓。例如主板電源先用7809穩(wěn)壓到9V,再用7805穩(wěn)壓到5V。如圖9—2所示。(6)盡量提高接口器件的電源電壓,提高接口的抗干擾能力。例如用光耦合器輸出端驅(qū)動(dòng)直流繼電器,選用直流24V繼電器比6V繼電器效果好。9.2.2過程通道干擾及抗干擾措施圖9-2供電系統(tǒng)配置圖
過程通道是系統(tǒng)輸入、輸出以及單片機(jī)之間進(jìn)行信息傳輸?shù)穆窂健S捎谳斎胼敵鰧?duì)象與單片機(jī)之間的連接線長(zhǎng),容易串入干擾,必須采用隔離技術(shù)、雙絞線傳輸、阻抗匹配等措施抑制。(1)光電隔離器
光電耦合器是把一個(gè)發(fā)光二極管和一個(gè)光敏三極管封裝在一個(gè)外殼里的器件,光電耦合器的電路符號(hào)如圖9—3所示。輸入信號(hào)使發(fā)光二極管發(fā)光,其光線又使光敏三極管產(chǎn)生電信號(hào)輸出,從而既完成了信號(hào)的傳遞,又實(shí)現(xiàn)了電氣上的隔離,如圖9—4所示。對(duì)啟動(dòng)或停止負(fù)荷不太大的設(shè)備,常采用光電耦合器來抑制輸出通道的干擾。圖9—4開關(guān)量輸入光電隔離電路圖9—3光電隔離器圖形符號(hào)1、開關(guān)量隔離
常用的開關(guān)量隔離器有光電隔離器、繼電器、光電隔離固態(tài)繼電器(SSR)。
如果輸出開關(guān)量是用于控制大負(fù)荷設(shè)備時(shí),就需采用繼電器隔離輸出。因?yàn)槔^電器觸點(diǎn)的負(fù)載能力遠(yuǎn)遠(yuǎn)大于光電隔離的負(fù)載能力,它能直接控制動(dòng)力回路。在采用繼電器做開關(guān)量隔離輸出時(shí),要在單片機(jī)輸出端的鎖存器74LS273與繼電器間設(shè)置一個(gè)OC門驅(qū)動(dòng)器。用以提供較高的驅(qū)動(dòng)電流。如圖9—5所示。圖9—5開關(guān)量繼電器隔離電路(2)繼電器
雙向晶閘管是在普通晶閘管的基礎(chǔ)上發(fā)展而成的,它也是一種常用的大功率半導(dǎo)體器件,具有弱電控制,強(qiáng)電輸出的特點(diǎn),只需要很小的功率,就可以控制較大的電流。圖9-6(a)給出了普通小功率雙向晶閘管的外形及引腳排列。
(a)普通小功率雙向晶閘管的外形(b)結(jié)構(gòu)符號(hào)圖9-6雙向晶閘管的外形及結(jié)構(gòu)符號(hào)(3)雙向晶閘管2、A/D、D/A與單片機(jī)之間的隔離措施(1)模擬量隔離
對(duì)A/D、D/A變換前后的模擬信號(hào)進(jìn)行隔離,是常用的一種方法。通常采用隔離型放大器對(duì)模擬量進(jìn)行隔離。但所用的隔離型放大器必須滿足A/D、D/A變換的精度和線性要求。圖9—9數(shù)字量隔離
利用若干個(gè)鎖存器對(duì)高速的地址信號(hào)、控制信號(hào)及數(shù)據(jù)進(jìn)行鎖存.然后用該信號(hào)對(duì)A/D、D/A芯片進(jìn)行操作,完成多路開關(guān)的選通,進(jìn)行A/D、D/A變換。換言之,A/D變換時(shí),先將模擬量變?yōu)閿?shù)字量進(jìn)行隔離,然后再送入單片機(jī)。D/A變換時(shí),先將數(shù)字量進(jìn)行隔離,然后進(jìn)行D/A變換。如圖9—9所示。(2)數(shù)字量隔離
雙絞線是較常用的一種傳輸線。與同軸電纜相比,其波阻抗高、抗共模噪聲能力強(qiáng),對(duì)電磁場(chǎng)具有一定抑制效果。根據(jù)傳送距離不同,雙絞線使用方法不同。當(dāng)用雙絞線傳輸與光電耦合器配合使用時(shí),可按圖9—10所示的方式連接。圖中(a)是集電極開路驅(qū)動(dòng)器與光電耦合器的一般情況。(b)是開關(guān)接點(diǎn)通過雙絞線與光電耦合器連接的情況。如光電耦合器的光敏晶體管的基極上接有電容(12pF~0.01μF)及電阻(10~20M),且后面連接施密特集成電路驅(qū)動(dòng)器,則會(huì)大大加強(qiáng)抗噪聲能力,如圖(c)所示。3、利用雙絞線抑制長(zhǎng)線傳輸干擾圖9—10雙絞線與光電耦合器聯(lián)合使用4、機(jī)械觸點(diǎn)及交流、直流電路的噪聲抑制(1)機(jī)械觸點(diǎn)的抗干擾措施開關(guān)、按鈕、繼電器觸點(diǎn)等在操作時(shí),經(jīng)常會(huì)發(fā)生抖動(dòng),如不采取措施,則會(huì)造成誤動(dòng)作。這類器件可采用如圖9—11所示的辦法,以獲得沒有振蕩的邏輯信號(hào)。(a)濾波消抖電路(b)單穩(wěn)態(tài)電路(c)觸發(fā)器消抖電路(d)施密特電路圖9—11機(jī)械觸點(diǎn)的抗干擾措施(2)抑制反電動(dòng)勢(shì)的抗干擾措施
電機(jī)、變壓器、繼電器、電磁閥等工業(yè)電氣設(shè)備多為感性負(fù)載,投切時(shí)會(huì)產(chǎn)生很高的反電勢(shì),這不僅可能損壞元件,而且會(huì)產(chǎn)生高頻的電磁波干擾其它電路,通過電源直接侵入到單片機(jī)裝置中。因此,在輸入/輸出通道中使用這類器件時(shí),必須在繼電器線圈或開關(guān)觸頭兩端并接抗干擾電路,如圖9—12所示。其中,(a)(b)用于直流電流的干擾抑制;(c)圖電路對(duì)交、直流干擾均適用;(d)(e)用于接觸器和繼電器觸頭的兩端。(a)二極管—穩(wěn)壓管抑制電路(b)電阻—二極管抑制電路(c)R-C阻容抑制電路(d)(e)開關(guān)觸頭兩端的反電勢(shì)抑制電路圖9—12反電勢(shì)抑制電路☆9.3印制電路板及電路的抗干擾設(shè)計(jì)
在單片機(jī)系統(tǒng)中,印制電路板的設(shè)計(jì)好壞對(duì)抗干擾能力影響很大。印制電路板是用來支撐電路元件,并提供電路元件和器件之間電氣連接的重要組件。為了減少干擾,在印制電路板設(shè)計(jì)過程中必須遵循以下三大原則:
●盡量控制噪聲源;●盡量減小噪聲的傳播與耦合;●盡量增加噪聲的吸收。9.3.1印制電路板的尺寸及元件的選擇1.印制電路板大小要適中
如果印制電路板太大,會(huì)增加線路的阻抗及成本,降低抗干擾能力;太小,則散熱不好,而且線路間干擾也會(huì)大大增加。
2.合理配置去耦電容(1)直流電源輸入端應(yīng)跨接10~100μF以上的電解電容器。(2)原則上每個(gè)集成電路芯片的Vcc引腳都應(yīng)安置—個(gè)0.01μF的陶瓷電容器。也可每4~10個(gè)芯片安置一個(gè)1~10μF的鉭電容器。(3)對(duì)于抗噪聲能力弱、關(guān)斷時(shí)電流變化大的器件和ROM、RAM等存儲(chǔ)器件,應(yīng)在芯片的電源線(Vcc)和地線(GND)間直接接入去耦電容。(4)電容引線不能太長(zhǎng),特別是高頻旁路電容不能帶引線。(5)在選用作為電路充電的儲(chǔ)能電容時(shí),盡量采用大容量的鉭電容或聚脂電容,而不用電解電容。若使用電解電容則要與高頻特性好的去耦電容成對(duì)使用。如圖8—13所示為去耦電容的安裝位置圖。圖9—13去耦電容的安裝位置圖3.選擇時(shí)鐘頻率低的單片機(jī)及外部時(shí)鐘部件。4.元件的選擇盡量采用低速器件。5.對(duì)進(jìn)入電路板的信號(hào)源及從高噪聲區(qū)來的信號(hào)要加濾波,繼電器線圈處要加續(xù)流二極管。6.盡量不使用IC插座,而把IC直接焊在印制板上,這樣可減少IC插座間較大的分布電容。7.電源插接件與信號(hào)插接件要盡量遠(yuǎn)離,主要信號(hào)的插接件外面最好帶有屏蔽。
在安排插針信號(hào)時(shí),用一部分插針為接地針,均勻分布于各信號(hào)針之間,起到隔離干擾的作用。信號(hào)針與接地針理想的比例為1:1。1.元件布置要合理分區(qū)。單片機(jī)應(yīng)用系統(tǒng)通??煞秩齾^(qū),即模擬電路區(qū)(怕干擾)、數(shù)字電路區(qū)(既怕干擾、又產(chǎn)生干擾)、功率驅(qū)動(dòng)區(qū)(干擾源)。應(yīng)將這三個(gè)區(qū)合理分開,使它們相互間的信號(hào)耦合最小。2.印制電路板要按單點(diǎn)接電源、單點(diǎn)接地的原則送電。三個(gè)區(qū)的電源線、地線由該點(diǎn)分三路引出。3.噪聲元件與非噪聲元件要離得遠(yuǎn)一些。易產(chǎn)生噪聲的器件、小電流電路、大電流電路等應(yīng)盡量遠(yuǎn)離計(jì)算機(jī)邏輯電路,如有可能,應(yīng)另做電路板。4.時(shí)鐘發(fā)生器、晶振和CPU的時(shí)鐘輸入端要盡量靠近,并遠(yuǎn)離I/O線及接插件。8.3.2印制電路板的合理布局5.I/O驅(qū)動(dòng)器件、功率放大器件盡量靠近印制電路板的邊緣、靠近引出接插件。6.器件的布置上也應(yīng)考慮到散熱。最好把ROM、RAM、時(shí)鐘發(fā)生器等發(fā)熱較多的器件布置在印制板的偏上方部位(當(dāng)印制板豎直安裝時(shí))或易通風(fēng)散熱的地方。單片機(jī)組件的參考布局如圖9—14所示。圖9—14單片機(jī)組件位置分配示意圖
1.正確處理電源線
根據(jù)印制線路板電流的大小,盡量加粗電源線寬度,減少環(huán)路電阻。同時(shí),使電源線、地線的走向和數(shù)據(jù)傳遞的方向一致。電源線和地線最好分別設(shè)計(jì)在不同的版面上,以防雜物引起短路。(發(fā)熱與效率)9.3.3印制電路板的合理布線
一般銅線安全計(jì)算方法是:
2.5平方毫米銅電源線的安全載流量--28A。
4平方毫米銅電源線的安全載流量--35A。
6平方毫米銅電源線的安全載流量--48A。
10平方毫米銅電源線的安全載流量--65A。
16平方毫米銅電源線的安全載流量--91A。
25平方毫米銅電源線的安全載流量--120A。
如果是鋁線,線徑要取銅線的1.5-2倍。
100mil=2.54mm圖9—15接地的3種方式(1)正確選擇單點(diǎn)接地與多點(diǎn)接地。當(dāng)信號(hào)頻率小于1MHz時(shí),應(yīng)盡量采用并聯(lián)單點(diǎn)接地,實(shí)際布線有困難時(shí),可部分串聯(lián)后再并聯(lián)接地;當(dāng)頻率大于10MHz時(shí),宜采用多點(diǎn)串聯(lián)接地;當(dāng)信號(hào)頻率在1~10MHz之間時(shí),如地線長(zhǎng)度不超過波長(zhǎng)的1/20,可用單點(diǎn)接地,否則多點(diǎn)接地。3種接地方式如圖9—15所示。2.正確處理地線(2)將數(shù)字地、模擬地、電源地等分開走線,在一點(diǎn)上可靠連接。如圖9—16所示。圖9—16數(shù)字地與模擬地的正確連接(3)接地線應(yīng)盡量加粗,使它能通過三倍于印制板上的允許電流。一般接地線寬度應(yīng)在2~3mm以上。地線、電源線與信號(hào)線的關(guān)系是:地線>電源線>信號(hào)線。(4)使數(shù)字電路的接地線形成閉環(huán)路。(5)高頻部分盡量采用大面積包圍式地線。(1)用地線將時(shí)鐘振蕩電路圈起來,讓周圍電場(chǎng)趨近于零。(2)石英晶體振蕩器外殼要接地,時(shí)鐘線盡量短,且在石英晶體振蕩器下面要加大接地的面積,不要走其它信號(hào)線。(3)時(shí)鐘線垂直于I/O線,必要時(shí)要遠(yuǎn)離I/O線。3.時(shí)鐘振蕩電路的處理
數(shù)字電路中,閑置不用的門電路輸入端不能懸空。運(yùn)算放大器中,閑置不用的正輸入端接地,閑置的負(fù)輸入端與輸出端連接。單片機(jī)中不用的I/O口定義成輸出。單片機(jī)上有一個(gè)以上電源、接地端的,每一端都要接上,不要懸空。如圖9—17所示。圖9—17不用空閑端的處理方法4.閑置不用的引腳要做好處理(1)盡量使用多層板,過孔要盡量少。(2)電路板銅膜線的布線盡量使用45°的折線,不要使用90°折線,以減小高頻信號(hào)的發(fā)射。其布線方式如圖9—18所示。圖9—18銅膜線的布線方式5.信號(hào)線的布線(3)重要的信號(hào)線應(yīng)盡量短且要盡量粗,并在兩側(cè)加上保護(hù)地。將信號(hào)通過扁平電纜引出時(shí),要使用地線—信號(hào)—地線……的結(jié)構(gòu)。(4)任何信號(hào)線都不要形成環(huán)路,如不可避免,環(huán)路應(yīng)盡量小。(5)對(duì)于A/D類器件,數(shù)字部分與模擬部分信號(hào)線不能交叉。對(duì)噪聲敏感的信號(hào)線不要與高速線、大電流線平行。☆9.4軟件的抗干擾設(shè)計(jì)
單片機(jī)應(yīng)用系統(tǒng)的抗干擾不可能完全依靠硬件解決,軟件抗干擾設(shè)計(jì)也是防止和消除應(yīng)用系統(tǒng)故障的重要途徑。9.4.1單片機(jī)的數(shù)字濾波算法
限幅濾波法(又稱程序判斷濾波法);中位值濾波法;算術(shù)平均濾波法;遞推平均濾波法(又稱滑動(dòng)平均濾波法);中位值平均濾波法(又稱防脈沖干擾平均濾波法);限幅平均濾波法;一階滯后濾波法;加權(quán)遞推平均濾波法;消抖濾波法;限幅消抖濾波法。
1、限幅濾波法(又稱程序判斷濾波法)
A、方法:
根據(jù)經(jīng)驗(yàn)判斷,確定兩次采樣允許的最大偏差值(設(shè)為A)
每次檢測(cè)到新值時(shí)判斷:
如果本次值與上次值之差<=A,則本次值有效
如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值
B、優(yōu)點(diǎn):
能有效克服因偶然因素引起的脈沖干擾
C、缺點(diǎn)
無法抑制那種周期性的干擾
平滑度差溫度2、中位值濾波法
A、方法:
連續(xù)采樣N次(N取奇數(shù))
把N次采樣值按大小排列
取中間值為本次有效值
B、優(yōu)點(diǎn):
能有效克服因偶然因素引起的波動(dòng)干擾
對(duì)溫度、液位的變化緩慢的被測(cè)參數(shù)有良好的濾波效果
C、缺點(diǎn):
對(duì)流量、速度等快速變化的參數(shù)不宜3、算術(shù)平均濾波法
A、方法:
連續(xù)取N個(gè)采樣值進(jìn)行算術(shù)平均運(yùn)算
N值較大時(shí):信號(hào)平滑度較高,但靈敏度較低
N值較小時(shí):信號(hào)平滑度較低,但靈敏度較高
N值的選?。阂话懔髁?,N=12;壓力:N=4
B、優(yōu)點(diǎn):
適用于對(duì)一般具有隨機(jī)干擾的信號(hào)進(jìn)行濾波
這樣信號(hào)的特點(diǎn)是有一個(gè)平均值,信號(hào)在某一數(shù)值范圍附近上下波動(dòng)
C、缺點(diǎn):
對(duì)于測(cè)量速度較慢或要求數(shù)據(jù)計(jì)算速度較快的實(shí)時(shí)控制不適用
比較浪費(fèi)RAM工頻干擾4、遞推平均濾波法(又稱滑動(dòng)平均濾波法)
A、方法:
把連續(xù)取N個(gè)采樣值看成一個(gè)隊(duì)列;隊(duì)列的長(zhǎng)度固定為N
每次采樣到一個(gè)新數(shù)據(jù)放入隊(duì)尾,并扔掉原來隊(duì)首的一次數(shù)據(jù).(先進(jìn)先出原則),把隊(duì)列中的N個(gè)數(shù)據(jù)進(jìn)行算術(shù)平均運(yùn)算,就可獲得新的濾波結(jié)果
N值的選?。毫髁?,N=12;壓力:N=4;液面,N=4~12;溫度,N=1~4
B、優(yōu)點(diǎn):
對(duì)周期性干擾有良好的抑制作用,平滑度高
適用于高頻振蕩的系統(tǒng)
C、缺點(diǎn):
靈敏度低
對(duì)偶然出現(xiàn)的脈沖性干擾的抑制作用較差
不易消除由于脈沖干擾所引起的采樣值偏差
不適用于脈沖干擾比較嚴(yán)重的場(chǎng)合
比較浪費(fèi)RAM7、一階滯后濾波法
A、方法:
取a=0~1
本次濾波結(jié)果=(1-a)*本次采樣值+a*上次濾波結(jié)果
B、優(yōu)點(diǎn):
對(duì)周期性干擾具有良好的抑制作用
適用于波動(dòng)頻率較高的場(chǎng)合
C、缺點(diǎn):
相位滯后,靈敏度低
滯后程度取決于a值大小
踏板濾波9.4.2程序運(yùn)行失常的軟件對(duì)策
一旦單片機(jī)因干擾而使得程序計(jì)數(shù)器PC偏離了原定的值,程序便脫離正常運(yùn)行軌道,出現(xiàn)操作數(shù)數(shù)值改變或?qū)⒉僮鲾?shù)當(dāng)作操作碼的“跑飛”現(xiàn)象。此時(shí),可采用軟件陷阱和“看門狗”技術(shù)使程序恢復(fù)到正常狀態(tài)。1、設(shè)置軟件陷阱所謂軟件陷阱,是指一些可以使混亂的程序恢復(fù)正常運(yùn)行或使“跑飛“的程序恢復(fù)到初始狀態(tài)的—系列指令。其主要形式見表9—2。表9—2軟件陷阱的兩種指令形式及適用范圍形式軟件陷阱形式對(duì)應(yīng)入口形式適用范圍1NOPNOPLJMP0000H0000H:LJMPMAIN;運(yùn)行程序①雙字節(jié)指令和3字節(jié)指令之后②0003H~0030H地址未使用的中斷區(qū)③跳轉(zhuǎn)指令及子程序調(diào)用和返回指令之后④程序段之間的未用區(qū)域⑤數(shù)據(jù)表格及散轉(zhuǎn)表格的最后⑥每隔一些指令(一般為十幾條指令)后2LJMP0202HLJMP0000H0000H:LJMPMAIN;運(yùn)行主程序:0202H:LJMP0000H:注:形式一的機(jī)器碼為0000020000(十六進(jìn)制)形式二的機(jī)器碼為020202020000(十六進(jìn)制)
當(dāng)未使用的中斷因干擾而開放時(shí),在對(duì)應(yīng)的中斷服務(wù)程序中設(shè)置軟件陷阱,就能及時(shí)捕捉到錯(cuò)誤的中斷。在中斷服務(wù)程序中要注意:返回指令用RETI,也可用LJMP。其中斷服務(wù)程序形式為以下兩種:形式一:形式二:NOPNOPPOPdirect1POPdirect2LJMP0000HNOPNOPPOPdirect1 ;將原先斷點(diǎn)彈出POPdirect2PUSH00H ;斷點(diǎn)地址改為0000HPUSH00HRETI(1)未使用的中斷區(qū)
單片機(jī)系統(tǒng)中使用的EPROM很少能夠全部用完,這些非程序區(qū)可用0000020000或020202020000數(shù)據(jù)填滿。需要注意的是,最后一條填入數(shù)據(jù)應(yīng)為020000。當(dāng)程序“跑飛”進(jìn)入此區(qū)后,便會(huì)迅速自動(dòng)入軌。(2)未使用的EPROM空間
單片機(jī)系統(tǒng)尋址空間為64K。如果系統(tǒng)僅選用了一片2764,其地址空間為8K,那么還有56K地址空間閑置。當(dāng)程序“跑飛”到這些空間時(shí),讀入數(shù)據(jù)將為FFH,這是“MOVR7,A”指令的機(jī)器碼,此代碼的執(zhí)行將修改R7中的內(nèi)容。因此,可采用圖9—19所示電路來避免。圖中74LS08為四二與門,當(dāng)PC落入2000H~FFFFH這段閑置空間時(shí),定有為高電平。當(dāng)執(zhí)行取指令操作時(shí),為低電平,從而引起中斷,在中斷服務(wù)程序中設(shè)置軟件陷阱可將“跑飛”的程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托辦理供電委托書模板
- 電梯機(jī)房管理制
- 租工地做停車場(chǎng)合同(2篇)
- 資產(chǎn)收購合同書范本(2篇)
- 天凈沙課件 秋思
- 嫘祖養(yǎng)蠶 課件
- 《蝸牛的花園》少兒美術(shù)教育繪畫課件創(chuàng)意教程教案
- 西南林業(yè)大學(xué)《插花藝術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《商務(wù)談判》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《課程與教學(xué)論》2022-2023學(xué)年第一學(xué)期期末試卷
- 重管高壓旋噴止水樁施工組織設(shè)計(jì)
- 鉆孔樁施工組織設(shè)計(jì)
- 生物質(zhì)壓縮成型.
- 35kV線路工程檢測(cè)試驗(yàn)項(xiàng)目計(jì)劃
- 建設(shè)工程安全文明綜合評(píng)價(jià)書
- 讀后續(xù)寫公開課-ppt課件
- 旅游廁所等級(jí)申請(qǐng)?jiān)u報(bào)告書
- 泰國(guó)的一些造紙廠
- YUASA電池車型對(duì)照表
- 水泥土(噴漿)攪拌樁施工工藝規(guī)程與施工方案
- 快遞統(tǒng)計(jì)明細(xì)表
評(píng)論
0/150
提交評(píng)論