版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第13章單片機(jī)綜合實(shí)例分析13.1單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)設(shè)計(jì)13.2單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)13.6基于51單片機(jī)的溫濕度檢測(cè)儀13.7家庭安全報(bào)警系統(tǒng)13.8思考與練習(xí)本章要點(diǎn)單片機(jī)應(yīng)用系統(tǒng)的技術(shù)要求各不相同,針對(duì)具體的任務(wù),設(shè)計(jì)方法和步驟也不完全相同。為完成某一任務(wù)的單片機(jī)應(yīng)用系統(tǒng)需要包含硬件和軟件系統(tǒng)。硬件和軟件必須緊密結(jié)合,協(xié)調(diào)一致才能正常工作。在系統(tǒng)研制過(guò)程中,硬件設(shè)計(jì)和軟件設(shè)計(jì)不能截然分開(kāi)。硬件設(shè)計(jì)時(shí)應(yīng)考慮軟件設(shè)計(jì)方法,而軟件也一定是基于硬件基礎(chǔ)上進(jìn)行設(shè)計(jì)的。這就是所謂的“軟硬結(jié)合”。單片機(jī)應(yīng)用系統(tǒng)的研制過(guò)程包括確定任務(wù)、總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)調(diào)試、產(chǎn)品化等幾個(gè)階段。它們不是絕對(duì)分開(kāi)的,有時(shí)是交叉進(jìn)行的。本章要點(diǎn):?jiǎn)纹瑱C(jī)系統(tǒng)設(shè)計(jì)的方法和步驟單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具單片機(jī)應(yīng)用系統(tǒng)調(diào)試方法典型實(shí)例的設(shè)計(jì)過(guò)程CONTNTS13.1單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)設(shè)計(jì)13.1單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)設(shè)計(jì)01單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)設(shè)計(jì)流程圖如圖13-1所示。1.方案論證(1)了解用戶的需求,確定設(shè)計(jì)規(guī)模和總體框架。
(2)摸清軟硬件技術(shù)難度,明確技術(shù)主攻問(wèn)題。
(3)針對(duì)主攻問(wèn)題開(kāi)展調(diào)研工作,查找中外有關(guān)資料,確定初步方案。
(4)單片機(jī)應(yīng)用開(kāi)發(fā)技術(shù)是軟硬件結(jié)合的技術(shù),方案設(shè)計(jì)要權(quán)衡任務(wù)的軟硬件分工。有時(shí)硬件設(shè)計(jì)會(huì)影響到軟件程序結(jié)構(gòu)。
如果系統(tǒng)中增加某個(gè)硬件接口芯片,
而給系統(tǒng)程序的模塊化帶來(lái)了可能和方便,那么這個(gè)硬件開(kāi)銷是值得的。在無(wú)礙大局的情況下,以軟件代替硬件正是計(jì)算機(jī)技術(shù)的長(zhǎng)處。
(5)盡量采納可借鑒的成熟技術(shù),減少重復(fù)性勞動(dòng)。
13.1單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)設(shè)計(jì)012.硬件系統(tǒng)的設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)可劃分為兩部分:一部分是與單片機(jī)直接接口的數(shù)字電路范圍的電路芯片的設(shè)計(jì)。如存儲(chǔ)器和并行接口的擴(kuò)展,定時(shí)系統(tǒng)、中斷系統(tǒng)擴(kuò)展,一般的外部設(shè)備的接口,甚至于A/D、D/A芯片的接口。另一部分是與模擬電路相關(guān)的電路設(shè)計(jì),包括信號(hào)整形、變換、隔離和選用傳感器;輸出通道中的隔離和驅(qū)動(dòng)以及執(zhí)行元件的選用。(1)從應(yīng)用系統(tǒng)的總線觀念出發(fā),各局部系統(tǒng)和通道接口設(shè)計(jì)與單片機(jī)要做到全局一盤(pán)棋。例如,芯片間的時(shí)間是否匹配,電平是否兼容,能否實(shí)現(xiàn)總線隔離緩沖等,避免“拼盤(pán)”戰(zhàn)術(shù)。(2)盡可能選用符合單片機(jī)用法的典型電路。(3)盡可能采用新技術(shù),選用新的元件及芯片。(4)抗干擾設(shè)計(jì)是硬件設(shè)計(jì)的重要內(nèi)容,如看門狗電路、去耦濾波、通道隔離、合理的印制板布線等。13.1單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)設(shè)計(jì)01(5)當(dāng)系統(tǒng)擴(kuò)展的各類接口芯片較多時(shí),要充分考慮到總線驅(qū)動(dòng)能力。當(dāng)負(fù)載超過(guò)允許范圍時(shí),為了保證系統(tǒng)可靠工作,必須加總線驅(qū)動(dòng)器。(6)可用印制板輔助設(shè)計(jì)軟件,如PROTEL進(jìn)行印制板的設(shè)計(jì)。3.應(yīng)用軟件設(shè)計(jì)(1)采用模塊程序設(shè)計(jì)。(2)采用自頂向下的程序設(shè)計(jì)。(3)外部設(shè)備和外部事件盡量采用中斷方式與CPU聯(lián)絡(luò),這樣,既便于系統(tǒng)模塊化,也可提高程序效率。(4)近幾年推出的單片機(jī)開(kāi)發(fā)系統(tǒng),有些是支持高級(jí)語(yǔ)言的,如C51與PL/M96的編程和在線跟蹤調(diào)試。(5)目前已有一些實(shí)用子程序發(fā)表,程序設(shè)計(jì)時(shí)可適當(dāng)使用,其中包括運(yùn)行子程序和控制算法程序等。(6)系統(tǒng)的軟件設(shè)計(jì)應(yīng)充分考慮到軟件抗干擾措施。13.1單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)設(shè)計(jì)014.軟硬件調(diào)試
單片機(jī)系統(tǒng)主要的功能是:
·程序的錄入、
編輯和交叉匯編功能。
·提供仿真RAM、
仿真單片機(jī)。
·支持用戶匯編語(yǔ)言(有的同時(shí)支持高級(jí)語(yǔ)言)源文件跟蹤調(diào)試。
·目前一般的開(kāi)發(fā)裝置都有與通用微機(jī)的連機(jī)接口,可以利用微機(jī)環(huán)境進(jìn)行調(diào)試。
·EPROM的寫(xiě)入功能。
5.EPROM固化所有開(kāi)發(fā)裝置調(diào)試通過(guò)的程序,最終要脫機(jī)運(yùn)行,即將仿真ROM中運(yùn)行的程序固化到EPROM脫機(jī)運(yùn)行。但在開(kāi)發(fā)裝置上運(yùn)行正常的程序,固化后脫機(jī)運(yùn)行并不一定同樣正常。若脫機(jī)運(yùn)行有問(wèn)題,需分析原因,如是否總線驅(qū)動(dòng)功能不夠,或是對(duì)接口芯片操作的時(shí)間不匹配等。經(jīng)修改的程序需再次寫(xiě)入。CONTNTS13.2
單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具
13.2單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具02單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)必須經(jīng)過(guò)調(diào)試階段,只有經(jīng)過(guò)調(diào)試才能發(fā)現(xiàn)問(wèn)題,改正錯(cuò)誤,最終完成開(kāi)發(fā)任務(wù)。實(shí)際上,對(duì)于較復(fù)雜的程序,大多數(shù)情況下都不可能一次性就調(diào)試成功,即使是資深程序員也是如此。單片機(jī)只是一塊芯片而已,本身并無(wú)開(kāi)發(fā)能力,要借助開(kāi)發(fā)工具才能實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)。開(kāi)發(fā)工具主要包括電腦、編程器(又稱寫(xiě)入器)、仿真機(jī)。如果使用EPROM作為存儲(chǔ)器還要配備紫外線擦除器。其中必不可少的工具是電腦和編程器(當(dāng)然對(duì)于在線可編程(ISP)的單片機(jī),如89S51,也可以不用編程器,而通過(guò)下載電纜下載)。1.仿真機(jī)及其使用(1)開(kāi)發(fā)環(huán)境單片機(jī)程序的編寫(xiě)、編譯、調(diào)試等都是在一定的集成開(kāi)發(fā)環(huán)境下進(jìn)行的。集成開(kāi)發(fā)環(huán)境仿真軟件(IDE)將文件的編輯,匯編語(yǔ)言的匯編、連接,高級(jí)語(yǔ)言的編譯、連接高度集成于一體,能對(duì)匯編程序和高級(jí)程序進(jìn)行仿真調(diào)試。單片機(jī)程序如果是匯編編寫(xiě)的,文件名后必須加后綴名“.ASM”。如果是C51編寫(xiě)的,必須加后綴名“.C”。13.2單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具02(2)仿真機(jī)的使用為了實(shí)現(xiàn)目標(biāo)系統(tǒng)的一次性完全開(kāi)發(fā),必須用到仿真機(jī)(也稱在線仿真機(jī))。在線仿真機(jī)的主要作用是能完全“逼真”地扮演用戶單片機(jī)的角色,且能在集成開(kāi)發(fā)環(huán)境中對(duì)運(yùn)行程序進(jìn)行各種調(diào)試操作,即時(shí)發(fā)現(xiàn)問(wèn)題,即時(shí)修改程序,從而提高工作效率,縮短開(kāi)發(fā)周期。使用時(shí),在線仿真機(jī)通過(guò)RS-232插件與電腦的COM1或COM2端口相連。在斷電情況下,撥下用戶系統(tǒng)的單片機(jī)和EPROM,代之以仿真頭,如圖13-2所示。運(yùn)行仿真調(diào)試程序,通過(guò)跟蹤執(zhí)行,能即時(shí)發(fā)現(xiàn)軟硬件方面的問(wèn)題并進(jìn)行修正。當(dāng)設(shè)計(jì)達(dá)到滿足系統(tǒng)要求后,將調(diào)試好的程序編譯時(shí)形成的二進(jìn)制文件用編程器燒寫(xiě)到芯片中,一個(gè)應(yīng)用系統(tǒng)就調(diào)試成功了。13.2單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具02。2.編程器當(dāng)我們編寫(xiě)好的程序在集成開(kāi)發(fā)環(huán)境編譯通過(guò)后,會(huì)形成一個(gè)二進(jìn)制文件(文件名與源程序文件名相同,后綴名為“.BIN”)或十六進(jìn)制文件(后綴名為“.HEX”),即形成所謂的目標(biāo)程序。這個(gè)目標(biāo)程序必須利用編程器才能將目標(biāo)文件燒寫(xiě)到單片機(jī)的程序存儲(chǔ)器中,從而讓單片機(jī)系統(tǒng)的硬件和軟件真正結(jié)合起來(lái),組成一個(gè)完整的單片機(jī)系統(tǒng)。編程器的主要功能是將目標(biāo)程序燒寫(xiě)到芯片中,其與電腦的連接如圖13-3所示圖13-3編程器與計(jì)算機(jī)的連接CONTNTS13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法
13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法03系統(tǒng)功能主要有數(shù)據(jù)采集、數(shù)據(jù)處理、輸出控制等。每一個(gè)功能又可細(xì)分為若干個(gè)子功能。比如數(shù)據(jù)采集可分為模擬信號(hào)采樣與數(shù)字信號(hào)采樣。模擬信號(hào)采樣與數(shù)字信號(hào)采樣在硬件支持與軟件控制上是有明顯差異的。數(shù)據(jù)處理可分為預(yù)處理、功能性處理、抗干擾等子功能,而功能性處理還可以繼續(xù)劃分為各種信號(hào)處理等。輸出控制按控制對(duì)象不同可分為各種控制功能,如繼電器控制、D/A轉(zhuǎn)換控制、數(shù)碼管顯示控制等。系統(tǒng)性能主要由精度、速度、功耗、體積、重量、價(jià)格、可靠性的技術(shù)指標(biāo)來(lái)衡量。系統(tǒng)研制前,要根據(jù)需求調(diào)查結(jié)果給出上述各指標(biāo)的定額。一旦這些指標(biāo)被確定下來(lái),整個(gè)系統(tǒng)將在這些指標(biāo)限定下進(jìn)行設(shè)計(jì)。系統(tǒng)的速度、體積、重量、價(jià)格、可靠性等指標(biāo)會(huì)左右系統(tǒng)軟、硬件的功能的劃分。系統(tǒng)功能盡可能用硬件完成,這樣可提高系統(tǒng)的工作速度,但系統(tǒng)的體積、重量、功耗、硬件成本都相應(yīng)地增大,而且還增加了硬件所帶來(lái)的不可靠因素。用軟件功能盡可能地代替硬件功能,可使系統(tǒng)體積、重量、功耗、硬件成本降低,并可提高硬件系統(tǒng)的可靠性,但是可能會(huì)降低系統(tǒng)的工作速度。因此,在進(jìn)行系統(tǒng)功能的軟、硬件劃分時(shí),一定要依據(jù)系統(tǒng)性能指標(biāo)綜合考慮。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法0313.3.1系統(tǒng)基本結(jié)構(gòu)組成1.單片機(jī)選型主要考慮因素:·單片機(jī)性價(jià)比?!ら_(kāi)發(fā)周期。在選擇單片機(jī)芯片時(shí),一般選擇內(nèi)部不含ROM的芯片比較合適,如8031,通過(guò)外部擴(kuò)展EPROM和RAM即可構(gòu)成系統(tǒng),這樣不需專門的設(shè)備即可固化應(yīng)用程序。但是當(dāng)設(shè)計(jì)的應(yīng)用系統(tǒng)批量比較大時(shí),則可選擇帶ROM、EPROM、OTPROM或EEPROM等的單片機(jī),這樣可使系統(tǒng)更加簡(jiǎn)單。通常的做法是在軟件開(kāi)發(fā)過(guò)程中采用EPROM型芯片,而最終產(chǎn)品采用OTPROM型芯片(一次性可編程EPROM芯片),這樣可以提高產(chǎn)品的性能價(jià)格比。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法032.存儲(chǔ)空間分配存儲(chǔ)空間分配既影響單片機(jī)應(yīng)用系統(tǒng)硬件結(jié)構(gòu),也影響軟件的設(shè)計(jì)及系統(tǒng)調(diào)試。不同的單片機(jī)具有不同的存儲(chǔ)空間分布。MCS-51單片機(jī)的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器空間相互獨(dú)立,工作寄存器、特殊功能寄存器與內(nèi)部數(shù)據(jù)存儲(chǔ)器共享一個(gè)存儲(chǔ)空間,I/O端口則與外部數(shù)據(jù)存儲(chǔ)器共享一個(gè)空間。8098單片機(jī)的片內(nèi)RAM程序存儲(chǔ)區(qū)、數(shù)據(jù)存儲(chǔ)區(qū)、I/O端口全部使用同一個(gè)存儲(chǔ)空間??偟膩?lái)說(shuō),大多數(shù)單片機(jī)都存在不同類型的器件共享同一個(gè)存儲(chǔ)空間的問(wèn)題。因此,在系統(tǒng)設(shè)計(jì)時(shí)就要合理地為系統(tǒng)中的各種部件分配有效的地址空間,以便簡(jiǎn)化譯碼電路,并使CPU能準(zhǔn)確地訪問(wèn)到指定部件。3.I/O通道劃分單片機(jī)應(yīng)用系統(tǒng)中通道的數(shù)目及類型直接決定系統(tǒng)結(jié)構(gòu)。設(shè)計(jì)中應(yīng)根據(jù)被控對(duì)象所要求的輸入/輸出信號(hào)的數(shù)目及類型,確定整個(gè)應(yīng)用系統(tǒng)的通道數(shù)目及類型。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法034.I/O方式的確定采用不同的輸入/輸出方式,對(duì)單片機(jī)應(yīng)用系統(tǒng)的硬、軟要求是不同的。在單片機(jī)應(yīng)用系統(tǒng)中,常用的I/O方式主要有無(wú)條件傳送方式(程序同步方式)、查詢方式和中斷方式。這三種方式對(duì)硬件要求和軟件結(jié)構(gòu)各不相同,而且存在著明顯的優(yōu)缺點(diǎn)差異。在一個(gè)實(shí)際應(yīng)用系統(tǒng)中,選擇哪一種I/O方式,要根據(jù)具體的外設(shè)工作情況和應(yīng)用系統(tǒng)的性能技術(shù)指標(biāo)綜合考慮。一般來(lái)說(shuō),無(wú)條件傳送方式只適用于數(shù)據(jù)變化非常緩慢的外設(shè),這種外設(shè)的數(shù)據(jù)可視為常態(tài)數(shù)據(jù);中斷方式處理器效率較高,但硬件結(jié)構(gòu)稍復(fù)雜一些;而詢問(wèn)方式硬件價(jià)格較低,但處理器效率比較低,速度比較慢。在一般小型的應(yīng)用系統(tǒng)中,由于速度要求不高,控制的對(duì)象也較少,此時(shí),大多采用詢問(wèn)方式。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法035.軟、硬件功能劃分同一般的計(jì)算機(jī)系統(tǒng)一樣,單片機(jī)應(yīng)用系統(tǒng)的軟件和硬件在邏輯上是等效的。具有相同功能的單片機(jī)應(yīng)用系統(tǒng),其軟、硬件功能可以在很寬的范圍內(nèi)變化。一些硬件電路的功能可以由軟件來(lái)實(shí)現(xiàn),反之亦然。在應(yīng)用系統(tǒng)設(shè)計(jì)中,系統(tǒng)的軟、硬件功能劃分要根據(jù)系統(tǒng)的要求而定,多用硬件來(lái)實(shí)現(xiàn)一些功能,可以提高速度,減少存儲(chǔ)容量和軟件研制的工作量,但會(huì)增加硬件成本,降低硬件的利用率和系統(tǒng)的靈活性與適應(yīng)性。相反,若用軟件來(lái)實(shí)現(xiàn)某些硬件功能可以節(jié)省硬件開(kāi)支,提高靈活性和適應(yīng)性,但相應(yīng)速度要下降,軟件設(shè)計(jì)費(fèi)用和所需存儲(chǔ)容量要增加。因此,在總體設(shè)計(jì)時(shí),必須權(quán)衡利弊,仔細(xì)劃分應(yīng)用系統(tǒng)中的硬件和軟件的功能。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法0313.3.2單片機(jī)應(yīng)用系統(tǒng)硬、軟件的設(shè)計(jì)原則1.硬件系統(tǒng)設(shè)計(jì)原則一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包括兩部分內(nèi)容:一是單片機(jī)系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元(如程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、I/O、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等)的容量不能滿足應(yīng)用系統(tǒng)的要求時(shí),必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒?,設(shè)計(jì)相應(yīng)的擴(kuò)展連接電路;二是系統(tǒng)配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤(pán)、顯示器、打印機(jī)、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等,要設(shè)計(jì)合適的接口電路。(1)盡可能選擇典型通用的電路,并符合單片機(jī)的常規(guī)用法。為硬件系統(tǒng)的標(biāo)準(zhǔn)化、模塊化奠定良好的基礎(chǔ)。(2)系統(tǒng)的擴(kuò)展與外圍設(shè)備配置的水平應(yīng)充分滿足應(yīng)用系統(tǒng)當(dāng)前的功能要求,并留有適當(dāng)余地,便于以后進(jìn)行功能的擴(kuò)充。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法03(3)硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用軟件方案一并考慮。硬件結(jié)構(gòu)與軟件方案會(huì)產(chǎn)生相互影響,考慮的原則是:軟件能實(shí)現(xiàn)的功能盡可能由軟件實(shí)現(xiàn),即盡可能地用軟件代硬件,以簡(jiǎn)化硬件結(jié)構(gòu),降低成本,提高可靠性。但必須注意,由軟件實(shí)現(xiàn)的硬件功能,其響應(yīng)時(shí)間要比直接用硬件來(lái)得長(zhǎng)。因此,某些功能選擇以軟件代硬件實(shí)現(xiàn)時(shí),應(yīng)綜合考慮系統(tǒng)響應(yīng)速度、實(shí)時(shí)要求等相關(guān)的技術(shù)指標(biāo)。(4)整個(gè)系統(tǒng)中相關(guān)的器件要盡可能做到性能匹配,例如,選用晶振頻率較高時(shí),存儲(chǔ)器的存取時(shí)間就短,應(yīng)選擇允許存取速度較快的芯片;選擇CMOS芯片單片機(jī)構(gòu)成低功耗系統(tǒng)時(shí),系統(tǒng)中的所有芯片都應(yīng)該選擇低功耗產(chǎn)品。如果系統(tǒng)中相關(guān)的器件性能差異很大,系統(tǒng)綜合性能將降低,甚至不能正常工作。(5)可靠性及抗干擾設(shè)計(jì)是硬件設(shè)計(jì)中不可忽視的一部分,它包括芯片、器件選擇、去耦濾波、印刷電路板布線、通道隔離等。如果設(shè)計(jì)中只注重功能實(shí)現(xiàn),而忽視可靠性及抗干擾設(shè)計(jì),到頭來(lái)只能是事倍功半,甚至?xí)斐上到y(tǒng)崩潰,前功盡棄。(6)單片機(jī)外接電路較多時(shí),必須考慮其驅(qū)動(dòng)能力。驅(qū)動(dòng)能力不足時(shí),系統(tǒng)工作不可靠。解決的辦法是增加驅(qū)動(dòng)能力,增強(qiáng)總線驅(qū)動(dòng)器或者減少芯片功耗,降低總線負(fù)載。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法032.應(yīng)用軟件設(shè)計(jì)的特點(diǎn)應(yīng)用系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能設(shè)計(jì)的,應(yīng)可靠地實(shí)現(xiàn)系統(tǒng)的各種功能。應(yīng)用系統(tǒng)種類繁多,應(yīng)用軟件各不相同,但是一個(gè)優(yōu)秀的應(yīng)用系統(tǒng)的軟件應(yīng)具有以下特點(diǎn):(1)軟件結(jié)構(gòu)清晰、簡(jiǎn)捷、流程合理。(2)各功能程序?qū)崿F(xiàn)模塊化,系統(tǒng)化。這樣,既便于調(diào)試、連接,又便于移植、修改和維護(hù)。(3)程序存儲(chǔ)區(qū)、數(shù)據(jù)存儲(chǔ)區(qū)規(guī)劃合理,既能節(jié)約存儲(chǔ)容量,又能給程序設(shè)計(jì)與操作帶來(lái)方便。(4)運(yùn)行狀態(tài)實(shí)現(xiàn)標(biāo)志化管理。各個(gè)功能程序運(yùn)行狀態(tài)、運(yùn)行結(jié)果以及運(yùn)行需求都設(shè)置狀態(tài)標(biāo)志以便查詢,程序的轉(zhuǎn)移、運(yùn)行、控制都可通過(guò)狀態(tài)標(biāo)志條件來(lái)控制。(5)經(jīng)過(guò)調(diào)試修改后的程序應(yīng)進(jìn)行規(guī)范化,除去修改"痕跡"。規(guī)范化的程序便于交流、借鑒,也為今后的軟件模塊化、標(biāo)準(zhǔn)化打下基礎(chǔ)。(6)實(shí)現(xiàn)全面軟件抗干擾設(shè)計(jì)。軟件抗干擾是計(jì)算機(jī)應(yīng)用系統(tǒng)提高可靠性的有力措施。(7)為了提高運(yùn)行的可靠性,在應(yīng)用軟件中設(shè)置自診斷程序,在系統(tǒng)運(yùn)行前先運(yùn)行自診斷程序,用以檢查系統(tǒng)各特征參數(shù)是否正常。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法0313.3.3硬件設(shè)計(jì)1.程序存儲(chǔ)器若單片機(jī)內(nèi)無(wú)片內(nèi)程序存儲(chǔ)器或存儲(chǔ)容量不夠時(shí),需外部擴(kuò)展程序存儲(chǔ)器。外部擴(kuò)展的存儲(chǔ)器通常選用EPROM或EEPROM。EPROM集成度高、價(jià)格便宜,EEPROM則編程容易。當(dāng)程序量較小時(shí),使用EEPROM較方便;當(dāng)程序量較大時(shí),采用EPROM更經(jīng)濟(jì)。2.數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器利用RAM構(gòu)成。大多數(shù)單片機(jī)都提供了小容量的片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū),只有當(dāng)片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)不夠用時(shí)才擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。存儲(chǔ)器的設(shè)計(jì)原則是:在存儲(chǔ)容量滿足要求的前提下,盡可能減少存儲(chǔ)芯片的數(shù)量。建議使用大容量的存儲(chǔ)芯片以減少存儲(chǔ)器芯片數(shù)目,但應(yīng)避免盲目地?cái)U(kuò)大存儲(chǔ)器容量。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法033.I/O接口由于外設(shè)多種多樣,使得單片機(jī)與外設(shè)之間的接口電路也各不相同。因此,I/O接口常常是單片機(jī)應(yīng)用系統(tǒng)中設(shè)計(jì)最復(fù)雜也是最困難的部分之一。I/O接口大致可歸類為并行接口、串行接口、模擬采集通道(接口)、模擬輸出通道(接口)等。目前有些單片機(jī)已將上述各接口集成在單片機(jī)內(nèi)部,使I/O接口的設(shè)計(jì)大大簡(jiǎn)化。系統(tǒng)設(shè)計(jì)時(shí),可以選擇含有所需接口的單片機(jī)。4.譯碼電路當(dāng)需要外部擴(kuò)展電路時(shí),就需要設(shè)計(jì)譯碼電路。譯碼電路要盡可能簡(jiǎn)單,這就要求存儲(chǔ)空間分配合理,譯碼方式選擇得當(dāng)。考慮到修改方便與保密性強(qiáng),譯碼電路除了可以使用常規(guī)的門電路、譯碼器實(shí)現(xiàn)外,還可以利用只讀存儲(chǔ)器與可編程門陣列來(lái)實(shí)現(xiàn)。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法035.總線驅(qū)動(dòng)器如果單片機(jī)外部擴(kuò)展的器件較多,負(fù)載過(guò)重,就要考慮設(shè)計(jì)總線驅(qū)動(dòng)器。比如,MCS-51單片機(jī)的P0口負(fù)載能力為8個(gè)TTL芯片,P2口負(fù)載能力為4個(gè)TTL芯片,如果P0、P2實(shí)際連接的芯片數(shù)目超出上述定額,就必須在P0、P2口增加總線驅(qū)動(dòng)器來(lái)提高它們的驅(qū)動(dòng)能力。P0口應(yīng)使用雙向數(shù)據(jù)總線驅(qū)動(dòng)器(如74LS245),P2口可使用單向總線驅(qū)動(dòng)器(如74LS244)。6.抗干擾電路針對(duì)可能出現(xiàn)的各種干擾,應(yīng)設(shè)計(jì)抗干擾電路。在單片機(jī)應(yīng)用系統(tǒng)中,一個(gè)不可缺少的抗干擾電路就是抗電源干擾電路。最簡(jiǎn)單的實(shí)現(xiàn)方法是在系統(tǒng)弱電部分(以單片機(jī)為核心)的電源入口對(duì)地跨接1個(gè)大電容(100μF左右)與一個(gè)小電容(0.1μF左右),在系統(tǒng)內(nèi)部芯片的電源端對(duì)地跨接1個(gè)小電容(0.01~0.1μF)。另外,可以采用隔離放大器、光電隔離器件抗共地干擾,采用差分放大器抗共模干擾,采用平滑濾波器抗白噪聲干擾,采用屏蔽手段抗輻射干擾等等。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法0313.3.4軟件設(shè)計(jì)整個(gè)單片機(jī)應(yīng)用系統(tǒng)是一個(gè)整體。在進(jìn)行應(yīng)用系統(tǒng)總體設(shè)計(jì)時(shí),軟件設(shè)計(jì)和硬件設(shè)計(jì)應(yīng)統(tǒng)一考慮,相結(jié)合進(jìn)行。當(dāng)系統(tǒng)的硬件電路設(shè)計(jì)定型后,軟件的任務(wù)也就明確了。一個(gè)應(yīng)用系統(tǒng)中的軟件一般是由系統(tǒng)的監(jiān)控程序和應(yīng)用程序兩部分構(gòu)成的。
其中,應(yīng)用程序是用來(lái)完成諸如測(cè)量、計(jì)算、顯示、打印、輸出控制等各種實(shí)質(zhì)性功能的軟件;系統(tǒng)監(jiān)控程序是控制單片機(jī)系統(tǒng)按預(yù)定操作方式運(yùn)行的程序,它負(fù)責(zé)組織調(diào)度各應(yīng)用程序模塊,完成系統(tǒng)自檢、初始化、處理鍵盤(pán)命令、處理接口命令、處理?xiàng)l件觸發(fā)和顯示等功能。系統(tǒng)軟件設(shè)計(jì)時(shí),應(yīng)根據(jù)系統(tǒng)軟件功能要求,將系統(tǒng)軟件分成若干個(gè)相對(duì)獨(dú)立的部分,并根據(jù)它們之間的聯(lián)系和時(shí)間上的關(guān)系,設(shè)計(jì)出合理的軟件總體結(jié)構(gòu)。通常在編制程序前,先根據(jù)系統(tǒng)輸入和輸出變量建立起正確的數(shù)學(xué)模型,然后畫(huà)出程序流程框圖。要求流程框圖結(jié)構(gòu)清晰、簡(jiǎn)捷、合理。畫(huà)流程框圖時(shí)還要對(duì)系統(tǒng)資源作具體的分配和說(shuō)明。編制程序時(shí)一般采用自頂向下的程序設(shè)計(jì)技術(shù),先設(shè)計(jì)監(jiān)控程序再設(shè)計(jì)各應(yīng)用程序模塊。各功能程序應(yīng)模塊化,子程序化,這樣不僅便于調(diào)試、連接,還便于修改和移植。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法0313.3.5資源分配1.ROM/EPROM資源的分配ROM/EPROM用于存放程序和數(shù)據(jù)表格。按照MCS-51單片機(jī)的復(fù)位及中斷入口的規(guī)定,002FH以前的地址單元格作為中斷、復(fù)位入口地址區(qū)。在這些單元格中一般都設(shè)置了轉(zhuǎn)移指令,用于轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序或復(fù)位啟動(dòng)程序。當(dāng)程序存儲(chǔ)器中存放的功能程序及子程序數(shù)量較多時(shí),應(yīng)盡可能為它們?cè)O(shè)置入口地址表。一般的常數(shù)、表格集中設(shè)置在表格區(qū)。二次開(kāi)發(fā)擴(kuò)展區(qū)盡可能放在高位地址區(qū)。2.RAM資源分配RAM分為片內(nèi)RAM和片外RAM。片外RAM的容量比較大,通常用來(lái)存放批量大的數(shù)據(jù),如采樣結(jié)果數(shù)據(jù);片內(nèi)RAM容量較少,應(yīng)盡量重疊使用,比如數(shù)據(jù)暫存區(qū)與顯示、打印緩沖區(qū)重疊。對(duì)于MCS-51單片機(jī)來(lái)說(shuō),片內(nèi)RAM是指00H~7FH單元,這128個(gè)單元的功能并不完全相同,分配時(shí)應(yīng)注意發(fā)揮各自的特點(diǎn),做到物盡其用。13.3單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法0300H~1FH這32個(gè)字節(jié)可以作為工作寄存器組,在工作寄存器的8個(gè)單元格中,R0和R1具有指針功能,是編程的重要角色,應(yīng)充分發(fā)揮其作用。系統(tǒng)上電復(fù)位時(shí),置PSW=00H,當(dāng)前工作寄存器為0組,而工作寄存器組1為堆棧,并向工作寄存器組2、3延伸。若在中斷服務(wù)程序中,也要使用R1寄存器且不將原來(lái)的數(shù)據(jù)沖掉,則可在主程序中先將堆??臻g設(shè)置在其它位置,然后在進(jìn)入中斷服務(wù)器程序后選擇工作寄存器組1、2或3,這時(shí)若再執(zhí)行諸如MOVR1,#00H指令時(shí),就不會(huì)沖掉R1(01H單元)中的原來(lái)的內(nèi)容,因?yàn)檫@時(shí)R1的地址已改變?yōu)?9H、11H或19H。在中斷服務(wù)程序結(jié)束時(shí),可重新選擇工作寄存器組0。因此,通??稍趹?yīng)用程序中,安排主程序及調(diào)用的子程序使用工作寄存器組0,而安排定時(shí)器溢出中斷、外部中斷、串行口中斷使用工作寄存器組1、2或3。CONTNTS13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試
13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試04單片機(jī)應(yīng)用系統(tǒng)的調(diào)試主要是指使用調(diào)試工具對(duì)系統(tǒng)進(jìn)行軟件、硬件和系統(tǒng)聯(lián)調(diào)等幾個(gè)方面的測(cè)試。13.4.1單片機(jī)應(yīng)用系統(tǒng)調(diào)試工具在單片機(jī)應(yīng)用系統(tǒng)調(diào)試中,最常用的調(diào)試工具有以下幾種:1.單片機(jī)開(kāi)發(fā)系統(tǒng)單片機(jī)開(kāi)發(fā)系統(tǒng)(又稱仿真器)的主要作用是:(1)系統(tǒng)硬件電路的診斷與檢查。(2)程序的輸入與修改。(3)硬件電路、程序的運(yùn)行與調(diào)試。(4)程序在EPROM中的固化。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試042.萬(wàn)用表萬(wàn)用表主要用于測(cè)量硬件電路的通斷、兩點(diǎn)間阻值、測(cè)試點(diǎn)處穩(wěn)定電流或電壓值及其它靜態(tài)工作狀態(tài)。例如,當(dāng)給某個(gè)集成芯片的輸入端施加穩(wěn)定輸入時(shí),可用萬(wàn)用表來(lái)測(cè)試其輸出,通過(guò)測(cè)試值與預(yù)期值的比較,就可大致判定該芯片的工作是否正常。3.邏輯筆邏輯筆可以測(cè)試數(shù)字電路中測(cè)試點(diǎn)的電平狀態(tài)(高或低)及脈沖信號(hào)的有無(wú)。假如要檢測(cè)單片機(jī)擴(kuò)展總線上連接的某譯碼器是否有譯碼信號(hào)輸出,可編寫(xiě)一循環(huán)程序使譯碼器對(duì)一特定譯碼狀態(tài)不斷進(jìn)行譯碼。運(yùn)行該循環(huán)程序后,用邏輯筆測(cè)試譯碼器輸出端,若邏輯筆上紅、綠發(fā)光二極管交替閃亮,則說(shuō)明譯碼器有譯碼信號(hào)輸出;若只有紅色發(fā)光二極管亮(高電平輸出)或綠色發(fā)光二極管亮(低電平輸出),則說(shuō)明譯碼器無(wú)譯碼信號(hào)輸出。這樣就可以初步確定由擴(kuò)展總線到譯碼器之間是否存在故障。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試044.邏輯脈沖發(fā)生器與模擬信號(hào)發(fā)生器邏輯脈沖發(fā)生器能夠產(chǎn)生不同寬度、幅度及頻率的脈沖信號(hào),它可以作為數(shù)字電路的輸入源。模擬信號(hào)發(fā)生器可產(chǎn)生具有不同頻率的方波、正弦波、三角波、鋸齒波等模擬信號(hào)(不同的信號(hào)發(fā)生器能夠產(chǎn)生的信號(hào)波形不完全相同),它可作為模擬電路的輸入源。這些信號(hào)源在模擬調(diào)試中是非常有用的。5.示波器示波器可以測(cè)量電平、模擬信號(hào)波形及頻率,還可以同時(shí)觀察兩個(gè)或三個(gè)信號(hào)的波形及它們之間的相位差(雙蹤或多蹤示波器)。它即可以對(duì)靜態(tài)信號(hào)進(jìn)行測(cè)試,也可以對(duì)動(dòng)態(tài)信號(hào)進(jìn)行測(cè)試,而且測(cè)試準(zhǔn)確性好。它是任何電子系統(tǒng)調(diào)試維修的一種必備工具。6.邏輯分析儀邏輯分析儀能夠以單通道或多通道實(shí)時(shí)獲取與觸發(fā)事件的邏輯信號(hào),可保存顯示觸發(fā)事件前后所獲取的信號(hào),供操作者隨時(shí)觀察,并作為軟、硬件分析的依據(jù),以便快速有效地查出軟、硬件中的錯(cuò)誤。邏輯分析儀主要用于動(dòng)態(tài)調(diào)試中信號(hào)的捕獲。在單片機(jī)應(yīng)用系統(tǒng)調(diào)試中,萬(wàn)用表、示波器及開(kāi)發(fā)系統(tǒng)是最基本的、必備的調(diào)試工具。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試0413.4.2單片機(jī)應(yīng)用系統(tǒng)的一般調(diào)試方法1.硬件調(diào)試硬件調(diào)試是利用開(kāi)發(fā)系統(tǒng)、基本測(cè)試儀器(萬(wàn)用表、示波器等),通過(guò)執(zhí)行開(kāi)發(fā)系統(tǒng)有關(guān)命令或運(yùn)行適當(dāng)?shù)臏y(cè)試程序(也可以是與硬件有關(guān)的部分用戶程序段),檢查用戶系統(tǒng)硬件中存在的故障。硬件調(diào)試可分靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試兩步進(jìn)行。(1)靜態(tài)調(diào)試靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時(shí)的一種硬件檢查。靜態(tài)調(diào)試的第一步為目測(cè)。單片機(jī)應(yīng)用系統(tǒng)中大部分電路安裝在印制電路板上,因此對(duì)每一塊加工好的印制電路板要進(jìn)行仔細(xì)的檢查。檢查它的印制線是否有斷線、是否有毛刺、是否與其它線或焊盤(pán)粘連、焊盤(pán)有否脫落、過(guò)孔是否有未金屬化現(xiàn)象等。如印制板無(wú)質(zhì)量問(wèn)題,則將集成芯片的插座焊接在印制板上,并檢查其焊點(diǎn)是否有毛刺,是否與其它印制線或焊盤(pán)連接、焊點(diǎn)是否光亮飽滿無(wú)虛焊。對(duì)單片機(jī)應(yīng)用系統(tǒng)中所用的器件與設(shè)備,要仔細(xì)核對(duì)型號(hào),檢查它們對(duì)外連線(包括集成芯片引腳)是否完整無(wú)損。通過(guò)目測(cè)查出一些明顯的器件、設(shè)備故障并及時(shí)排除。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試04第二步為萬(wàn)用表測(cè)試,目測(cè)檢查后,可進(jìn)行萬(wàn)用表測(cè)試。先用萬(wàn)用表復(fù)核目測(cè)中認(rèn)為可疑的連接或接點(diǎn),檢查它們的通斷狀態(tài)是否與設(shè)計(jì)規(guī)定相符。再檢查各種電源線與地線之間是否有短路現(xiàn)象,如有再仔細(xì)查出并排除。短路現(xiàn)象一定要在器件安裝及加電前查出。如果電源與地之間短路,系統(tǒng)中所有器件或設(shè)備都可能被毀壞,后果十分嚴(yán)重。所以,對(duì)電源與地的處理,在整個(gè)系統(tǒng)調(diào)試及今后的運(yùn)行中都要相當(dāng)小心。如有現(xiàn)成的集成芯片性能測(cè)試儀器,此時(shí)應(yīng)盡可能地將要使用的芯片進(jìn)行測(cè)試篩選,其它的器件、設(shè)備在購(gòu)買或使用前也應(yīng)當(dāng)盡可能做必要的測(cè)試,以便將性能可靠的器件、設(shè)備用于系統(tǒng)安裝。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試04第三步為加電檢查。當(dāng)給印制板加電時(shí),首先檢查所有插座或器件的電源端是否有符合要求的電壓值(注意,單片機(jī)插座上的電壓不應(yīng)該大于5V,否則聯(lián)機(jī)時(shí)將損壞仿真器),接地端電壓值是否接近于零,接固定電平的引腳端是否電平正確。然后在斷電狀態(tài)下將芯片逐個(gè)插入印制板上的相應(yīng)插座中。每插入一塊做一遍上述的檢查,特別要檢查電源到地是否短路,這樣就可以確定電源錯(cuò)誤或與地短路發(fā)生在哪塊芯片上。全部芯片插入印制板后,如均未發(fā)現(xiàn)電源或接地錯(cuò)誤,將全部芯片取下,把印制板上除芯片外的其它器件逐個(gè)焊接上去,并反復(fù)做前面的各電源、電壓檢查,避免因某器件的損壞或失效造成電源對(duì)地短路或其它電源加載錯(cuò)誤。第四步是聯(lián)機(jī)檢查。因?yàn)橹挥杏脝纹瑱C(jī)開(kāi)發(fā)系統(tǒng)才能完成對(duì)用戶系統(tǒng)的調(diào)試,而動(dòng)態(tài)測(cè)試也需要在聯(lián)機(jī)仿真的情況下進(jìn)行。因此,在靜態(tài)檢查印制板、連接、器件等部分無(wú)物理性故障后,即可將用戶系統(tǒng)與單片機(jī)開(kāi)發(fā)系統(tǒng)用仿真電纜連接起來(lái)。聯(lián)機(jī)檢查上述連接是否正確,是否連接暢通、可靠。靜態(tài)調(diào)試完成后,接著進(jìn)行動(dòng)態(tài)調(diào)試。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試04(2)動(dòng)態(tài)調(diào)試動(dòng)態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故障、器件間連接邏輯錯(cuò)誤等的一種硬件檢查。由于單片機(jī)應(yīng)用系統(tǒng)的硬件動(dòng)態(tài)調(diào)試是在開(kāi)發(fā)系統(tǒng)的支持下完成的,故又稱為聯(lián)機(jī)仿真或聯(lián)機(jī)調(diào)試。動(dòng)態(tài)調(diào)試的一般方法是由近及遠(yuǎn)、由分到合。由分到合指的是,首先按邏輯功能將用戶系統(tǒng)硬件電路分為若干塊,如程序存儲(chǔ)器電路、A/D轉(zhuǎn)換電路、斷電器控制電路,再分塊調(diào)試。當(dāng)調(diào)試某塊電路時(shí),與該電路無(wú)關(guān)的器件全部從用戶系統(tǒng)中去掉,這樣,可將故障范圍限定在某個(gè)局部的電路上。當(dāng)各塊電路調(diào)試無(wú)故障后,將各電路逐塊加入系統(tǒng)中,再對(duì)各塊電路功能及各電路間可能存在的相互聯(lián)系進(jìn)行試驗(yàn)。此時(shí)若出現(xiàn)故障,則最大可能是在各電路協(xié)調(diào)關(guān)系上出了問(wèn)題,如交互信息的聯(lián)絡(luò)是否正確,時(shí)序是否達(dá)到要求等。直到所有電路加入系統(tǒng)后各部分電路仍能正確工作為止,由分到合的調(diào)試即告完成。在經(jīng)歷了這樣一個(gè)調(diào)試過(guò)程后,大部分硬件故障基本上可以排除。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試04在有些情形下,由于功能要求較高或設(shè)備較復(fù)雜,使某些邏輯功能塊電路較為復(fù)雜龐大,為故障的準(zhǔn)確定位帶來(lái)一定的難度。這時(shí)對(duì)每塊電路可以以處理信號(hào)的流向?yàn)榫€索,將信號(hào)流經(jīng)的各器件按照距離單片機(jī)的邏輯距離進(jìn)行由近及遠(yuǎn)的分層,然后分層調(diào)試。調(diào)試時(shí),仍采用去掉無(wú)關(guān)器件的方法,逐層依次調(diào)試下去,就可能將故障定位在具體器件上。例如,調(diào)試外部數(shù)據(jù)存儲(chǔ)器時(shí),可按層先調(diào)試總線電路(如數(shù)據(jù)收發(fā)器),然后調(diào)試譯碼電路,最后加上存儲(chǔ)芯片,利用開(kāi)發(fā)系統(tǒng)對(duì)其進(jìn)行讀寫(xiě)操作,就能有效地調(diào)試數(shù)據(jù)存儲(chǔ)器。顯然,每部分出現(xiàn)的問(wèn)題只局限在一個(gè)小范圍內(nèi),因此有利于故障的發(fā)現(xiàn)和排除。動(dòng)態(tài)調(diào)試借用開(kāi)發(fā)系統(tǒng)資源(單片機(jī)、存儲(chǔ)器等)來(lái)調(diào)試用戶系統(tǒng)中單片機(jī)的外圍電路。利用開(kāi)發(fā)系統(tǒng)友好的人機(jī)界面,可以有效地對(duì)用戶系統(tǒng)的各部分電路進(jìn)行訪問(wèn)、控制,使系統(tǒng)在運(yùn)行中暴露問(wèn)題,從而發(fā)現(xiàn)故障。典型有效的訪問(wèn)、控制各部分電路的方法是對(duì)電路進(jìn)行循環(huán)讀或?qū)懖僮?時(shí)鐘等特殊電路除外,這些電路通常在系統(tǒng)加電后會(huì)自動(dòng)運(yùn)行),使得電路中主要測(cè)試點(diǎn)的狀態(tài)能夠用常規(guī)測(cè)試儀器(示波器、萬(wàn)用表等)測(cè)試出,依次檢測(cè)被調(diào)試電路是否按預(yù)期的工作狀態(tài)進(jìn)行。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試042.軟件調(diào)試軟件調(diào)試主要解決問(wèn)題:(1)程序跳轉(zhuǎn)錯(cuò):這種錯(cuò)誤的現(xiàn)象是程序運(yùn)行不到指定的地方,或發(fā)生死循環(huán),通常是(2)程序錯(cuò)誤:對(duì)于計(jì)算程序,經(jīng)過(guò)反復(fù)測(cè)試后,才能驗(yàn)證它的正確性。
(3)動(dòng)態(tài)錯(cuò)誤:用單步、斷點(diǎn)仿真運(yùn)行命令,一般只能測(cè)試目標(biāo)系統(tǒng)的靜態(tài)功能。目標(biāo)系統(tǒng)的動(dòng)態(tài)性能要用全速仿真命令來(lái)測(cè)試,這時(shí)應(yīng)選中目標(biāo)機(jī)中晶振電路工作。
系統(tǒng)的動(dòng)態(tài)性能范圍很廣,如控制系統(tǒng)的實(shí)時(shí)響應(yīng)速度、
顯示器的亮度、定時(shí)器的精度等等。若動(dòng)態(tài)性能沒(méi)有達(dá)到系統(tǒng)設(shè)計(jì)的指標(biāo),有的原因是由于元器件速度不夠造成的;更多的是由于多個(gè)任務(wù)之間的關(guān)系處理不恰當(dāng)引起的。(4)加電復(fù)位電路的錯(cuò)誤:排除硬件和軟件故障后,將EPROM和CPU插上目標(biāo)系統(tǒng),若能正常運(yùn)行,應(yīng)用系統(tǒng)的開(kāi)發(fā)研制便完成。若目標(biāo)機(jī)工作不正常,主要是加電復(fù)位電路出現(xiàn)故障造成的。如8031沒(méi)有被初始復(fù)位,則PC不是從0000H開(kāi)始運(yùn)行,故系統(tǒng)不會(huì)正常運(yùn)行,必須及時(shí)檢查加電復(fù)位電路。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試04軟件調(diào)試的基本方法:(1)先獨(dú)立后聯(lián)機(jī)從宏觀來(lái)說(shuō),單片機(jī)應(yīng)用系統(tǒng)中的軟件與硬件是密切相關(guān)、相輔相成的。軟件是硬件的靈魂,沒(méi)有軟件,系統(tǒng)將無(wú)法工作;同時(shí),大多數(shù)軟件的運(yùn)行又依賴于硬件,沒(méi)有相應(yīng)的硬件支持,軟件的功能便蕩然無(wú)存。因此,將兩者完全孤立開(kāi)來(lái)是不可能的。然而,并不是用戶程序的全部都依賴于硬件,當(dāng)軟件對(duì)被測(cè)試參數(shù)進(jìn)行加工處理或作某項(xiàng)事務(wù)處理時(shí),往往是與硬件無(wú)關(guān)的,這樣,就可以通過(guò)對(duì)用戶程序的仔細(xì)分析,把與硬件無(wú)關(guān)的、功能相對(duì)獨(dú)立的程序段抽取出來(lái),形成與硬件無(wú)關(guān)和依賴于硬件的兩大類用戶程序塊。這一劃分工作在軟件設(shè)計(jì)時(shí)就應(yīng)充分考慮。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試04(2)先分塊后組合如果用戶系統(tǒng)規(guī)模較大、任務(wù)較多,即使先行將用戶程序分為與硬件無(wú)關(guān)和依賴于硬件兩大部分,但這兩部分程序仍較為龐大的話,采用籠統(tǒng)的方法從頭至尾調(diào)試,既費(fèi)時(shí)間又不容易進(jìn)行錯(cuò)誤定位,所以常規(guī)的調(diào)試方法是分別對(duì)兩類程序塊進(jìn)一步采用分模塊調(diào)試,以提高軟件調(diào)試的有效性。在調(diào)試時(shí)所劃分的程序模塊應(yīng)基本保持與軟件設(shè)計(jì)時(shí)的程序功能模塊或任務(wù)一致。除非某些程序功能塊或任務(wù)較大才將其再細(xì)分為若干個(gè)子模塊。但要注意的是,子模塊的劃分與一般模塊的劃分應(yīng)一致。(3)先單步后連續(xù)調(diào)試好程序模塊的關(guān)鍵是實(shí)現(xiàn)對(duì)錯(cuò)誤的正確定位。準(zhǔn)確發(fā)現(xiàn)程序(或硬件電路)中錯(cuò)誤的最有效方法是采用單步加斷點(diǎn)運(yùn)行方式調(diào)試程序。單步運(yùn)行可以了解被調(diào)試程序中每條指令的執(zhí)行情況,分析指令的運(yùn)行結(jié)果可以知道該指令執(zhí)行的正確性,并進(jìn)一步確定是由于硬件電路錯(cuò)誤、數(shù)據(jù)錯(cuò)誤還是程序設(shè)計(jì)錯(cuò)誤等引起了該指令的執(zhí)行錯(cuò)誤,從而發(fā)現(xiàn)、排除錯(cuò)誤。13.4單片機(jī)應(yīng)用系統(tǒng)調(diào)試043.系統(tǒng)聯(lián)調(diào)系統(tǒng)聯(lián)調(diào)主要解決以下問(wèn)題:(1)軟、硬件能否按預(yù)定要求配合工作,如果不能,那么問(wèn)題出在哪里,如何解決。(2)系統(tǒng)運(yùn)行中是否有潛在的設(shè)計(jì)時(shí)難以預(yù)料的錯(cuò)誤。如硬件延時(shí)過(guò)長(zhǎng)造成工作時(shí)序不符合要求,布線不合理造成有信號(hào)串?dāng)_等。(3)系統(tǒng)的動(dòng)態(tài)性能指標(biāo)(包括精度、速度參數(shù))是否滿足設(shè)計(jì)要求。4.現(xiàn)場(chǎng)調(diào)試一般情況下,通過(guò)系統(tǒng)聯(lián)調(diào)后,用戶系統(tǒng)就可以按照設(shè)計(jì)目標(biāo)正常工作了。但在某些情況下,由于用戶系統(tǒng)運(yùn)行的環(huán)境較為復(fù)雜(如環(huán)境干擾較為嚴(yán)重、工作現(xiàn)場(chǎng)有腐蝕性氣體等),在實(shí)際現(xiàn)場(chǎng)工作之前,環(huán)境對(duì)系統(tǒng)的影響無(wú)法預(yù)料,只能通過(guò)現(xiàn)場(chǎng)運(yùn)行調(diào)試來(lái)發(fā)現(xiàn)問(wèn)題,找出相應(yīng)的解決方法;或者雖然已經(jīng)在系統(tǒng)設(shè)計(jì)時(shí)考慮到抗干擾的對(duì)策,但是否行之有效,還必須通過(guò)用戶系統(tǒng)在實(shí)際現(xiàn)場(chǎng)的運(yùn)行來(lái)加以驗(yàn)證。另外,有些用戶系統(tǒng)的調(diào)試是在用模擬設(shè)備代替實(shí)際監(jiān)測(cè)、控制對(duì)象的情況下進(jìn)行的,這就更有必要進(jìn)行現(xiàn)場(chǎng)調(diào)試,以檢驗(yàn)用戶系統(tǒng)在實(shí)際工作環(huán)境中工作的正確性。CONTNTS13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)
13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05所謂干擾,一般是指有用信號(hào)以外的噪聲,在信號(hào)輸入、
傳輸和輸出過(guò)程中出現(xiàn)的一些有害的電氣變化現(xiàn)象。這些變化迫使信號(hào)的傳輸值、
指示值或輸出值出現(xiàn)誤差,出現(xiàn)假像。
干擾對(duì)電路的影響,輕則降低信號(hào)的質(zhì)量,影響系統(tǒng)的穩(wěn)定性;重則破壞電路的正常功能,造成邏輯關(guān)系混亂,控制失靈。1.常見(jiàn)干擾的種類抗干擾能力是單片計(jì)算機(jī)系統(tǒng)工作好壞的主要指標(biāo)。影響單片機(jī)系統(tǒng)可靠安全運(yùn)行的主要因素主要來(lái)自系統(tǒng)內(nèi)部和外部的各種電氣干擾,并受系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、元器件選擇、安裝、制造工藝影響。這些都構(gòu)成單片機(jī)系統(tǒng)的干擾因素,常會(huì)導(dǎo)致單片機(jī)系統(tǒng)運(yùn)行失常,輕則影響產(chǎn)品質(zhì)量和產(chǎn)量,重則會(huì)導(dǎo)致事故,造成重大經(jīng)濟(jì)損失。形成干擾的基本要素有三個(gè):
·干擾源。指產(chǎn)生干擾的元件、設(shè)備或信號(hào),
用數(shù)學(xué)語(yǔ)言描述如下:du/dt,di/dt大的地方就是干擾源。如:雷電、繼電器、可控硅、電機(jī)、高頻時(shí)鐘等都可能成為干擾源。·傳播路徑。指干擾從干擾源傳播到敏感器件的通路或媒介。典型的干擾傳播路徑是通過(guò)導(dǎo)線的傳導(dǎo)和空間的輻射[8]。
·敏感器件。指容易被干擾的對(duì)象。如:A/D、D/A變換器,單片機(jī),數(shù)字IC,弱信號(hào)放大器等。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05干擾的分類有好多種,通??梢园凑赵肼暜a(chǎn)生的原因、傳導(dǎo)方式、波形特性等等進(jìn)行不同的分類。按產(chǎn)生的原因分可分為放電噪聲音、高頻振蕩噪聲、浪涌噪聲。按傳導(dǎo)方式分:可分為共模噪聲和串模噪聲。按波形分:可分為持續(xù)正弦波、脈沖電壓、脈沖序列等等。干擾源產(chǎn)生的干擾信號(hào)是通過(guò)一定的耦合通道才對(duì)測(cè)控系統(tǒng)產(chǎn)生作用的。因此,我們有必要看看干擾源和被干擾對(duì)象之間的傳遞方式。干擾的耦合方式,無(wú)非是通過(guò)導(dǎo)線、空間、公共線等等,細(xì)分下來(lái),主要有以下幾種:·直接耦合:這是最直接的方式,也是系統(tǒng)中存在最普遍的一種方式。比如干擾信號(hào)通過(guò)電源線侵入系統(tǒng)。對(duì)于這種形式,最有效的方法就是加入去耦電路?!す沧杩柜詈希哼@也是常見(jiàn)的耦合方式,這種形式常常發(fā)生在兩個(gè)電路電流有共同通路的情況。為了防止這種耦合,通常在電路設(shè)計(jì)上就要考慮。使干擾源和被干擾對(duì)象間沒(méi)有公共阻抗?!る娙蓠詈希河址Q電場(chǎng)耦合或靜電耦合。是由于分布電容的存在而產(chǎn)生的耦合?!る姶鸥袘?yīng)耦合:又稱磁場(chǎng)耦合。是由于分布電磁感應(yīng)而產(chǎn)生的耦合?!ぢ╇婑詈希哼@種耦合是純電阻性的,在絕緣不好時(shí)就會(huì)發(fā)生。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05常見(jiàn)干擾種類見(jiàn)表13-1。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05內(nèi)部和外部干擾示意圖如圖13-4所示。其中:①裝置開(kāi)口或隙縫處進(jìn)入的輻射干擾(輻射)②電網(wǎng)變化干擾(傳輸)③周圍環(huán)境用電干擾(輻射、
傳輸、感應(yīng))④傳輸線上的反射干擾(傳輸)⑤系統(tǒng)接地不妥引入的干擾(傳輸、
感應(yīng))⑥外部線間串?dāng)_(傳輸、感應(yīng))⑦邏輯線路不妥造成的過(guò)渡干擾(傳輸)⑧線間串?dāng)_(感應(yīng)、
傳輸)⑨電源干擾(傳輸)⑩強(qiáng)電器引入的接觸電弧和反電動(dòng)勢(shì)干擾(輻射、
傳輸、感應(yīng))?內(nèi)部接地不妥引入的干擾(傳輸)?漏磁感應(yīng)(感應(yīng))?傳輸線反射干擾(傳輸)?漏電干擾(傳輸)。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05針對(duì)形成干擾的三要素,采取的抗干擾主要有以下手段。
抑制干擾源就是盡可能的減小干擾源的du/dt,di/dt。這是抗干擾設(shè)計(jì)中最優(yōu)先考慮和最重要的原則,常常會(huì)起到事半功倍的效果。減小干擾源的du/dt主要是通過(guò)在干擾源兩端并聯(lián)電容來(lái)實(shí)現(xiàn)。減小干擾源的di/dt則是在干擾源回路串聯(lián)電感或電阻以及增加續(xù)流二極管來(lái)實(shí)現(xiàn)。抑制干擾源的常用措施如下:·繼電器線圈增加續(xù)流二極管,消除斷開(kāi)線圈時(shí)產(chǎn)生的反電動(dòng)勢(shì)干擾。僅加續(xù)流二極管會(huì)使繼電器的斷開(kāi)時(shí)間滯后,增加穩(wěn)壓二極管后繼電器在單位時(shí)間內(nèi)可動(dòng)作更多的次數(shù)。
·在繼電器接點(diǎn)兩端并接火花抑制電路(一般是RC串聯(lián)電路,電阻一般選幾K到幾十K,電容選0.01uF),減小電火花影響?!そo電機(jī)加濾波電路,注意電容、電感引線要盡量短。
·電路板上每個(gè)IC要并接一個(gè)0.01μF~0.1μF高頻電容,以減小IC對(duì)電源的影響。注意高頻電容的布線,連線應(yīng)靠近電源端并盡量粗短,否則,等于增大了電容的等效串聯(lián)電阻,會(huì)影響濾波效果。·布線時(shí)避免90度折線,減少高頻噪聲發(fā)射。·可控硅兩端并接RC抑制電路,減小可控硅產(chǎn)生的噪聲(這個(gè)噪聲嚴(yán)重時(shí)可能會(huì)把可控硅擊穿的)。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05按干擾的傳播路徑可分為傳導(dǎo)干擾和輻射干擾兩類。所謂傳導(dǎo)干擾是指通過(guò)導(dǎo)線傳播到敏感器件的干擾。高頻干擾噪聲和有用信號(hào)的頻帶不同,可以通過(guò)在導(dǎo)線上增加濾波器的方法切斷高頻干擾噪聲的傳播,有時(shí)也可加隔離光耦來(lái)解決。電源噪聲的危害最大,要特別注意處理。所謂輻射干擾是指通過(guò)空間輻射傳播到敏感器件的干擾。一般的解決方法是增加干擾源與敏感器件的距離,用地線把它們隔離和在敏感器件上加屏蔽罩。切斷干擾傳播路徑的常用措施如下:·充分考慮電源對(duì)單片機(jī)的影響。電源做得好,整個(gè)電路的抗干擾就解決了一大半。許多單片機(jī)對(duì)電源噪聲很敏感,要給單片機(jī)電源加濾波電路或穩(wěn)壓器,以減小電源噪聲對(duì)單片機(jī)的干擾。比如,可以利用磁珠和電容組成π形濾波電路,當(dāng)然條件要求不高時(shí)也可用100Ω電阻代替磁珠?!と绻麊纹瑱C(jī)的I/O口用來(lái)控制電機(jī)等噪聲器件,在I/O口與噪聲源之間應(yīng)加隔離(增加π形濾波電路)?!ぷ⒁饩д癫季€。晶振與單片機(jī)引腳盡量靠近,用地線把時(shí)鐘區(qū)隔離起來(lái),晶振外殼接地并固定?!る娐钒搴侠矸謪^(qū),如強(qiáng)、弱信號(hào),數(shù)字、模擬信號(hào)。盡可能把干擾源(如電機(jī)、繼電器)與敏感元件(如單片機(jī))遠(yuǎn)離。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05·如果單片機(jī)的I/O口用來(lái)控制電機(jī)等噪聲器件,在I/O口與噪聲源之間應(yīng)加隔離(增加π形濾波電路)?!ぷ⒁饩д癫季€。晶振與單片機(jī)引腳盡量靠近,用地線把時(shí)鐘區(qū)隔離起來(lái),晶振外殼接地并固定?!る娐钒搴侠矸謪^(qū),如強(qiáng)、弱信號(hào),數(shù)字、模擬信號(hào)。盡可能把干擾源(如電機(jī)、繼電器)與敏感元件(如單片機(jī))遠(yuǎn)離?!び玫鼐€把數(shù)字區(qū)與模擬區(qū)隔離。數(shù)字地與模擬地要分離,最后在一點(diǎn)接于電源地。A/D、D/A芯片布線也以此為原則?!纹瑱C(jī)和大功率器件的地線要單獨(dú)接地,以減小相互干擾。大功率器件盡可能放在電路板邊緣?!ぴ趩纹瑱C(jī)I/O口、電源線、電路板連接線等關(guān)鍵地方使用抗干擾元件如磁珠、磁環(huán)、電源濾波器、屏蔽罩,可顯著提高電路的抗干擾性能。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)052.硬件抗干擾(1)電源抗干擾的基本方法采用交流穩(wěn)壓器,交流電源濾波器,對(duì)電源變壓器實(shí)行屏蔽和隔離,利用壓敏電阻吸收浪涌電壓,在要求供電質(zhì)量很高的特殊情況下,可采用發(fā)電機(jī)組或逆變器供電,如采用在線式UPS不間斷電源供電。采用分立式供電和分類式供電。在每塊印刷電路板的電源與地之間并接去耦電容。電源變壓器采取屏蔽措施。使用瞬變電壓抑制器TVS等方法。TVS是普遍使用的一種高效能電路保護(hù)器件,能吸收高達(dá)數(shù)千瓦的浪涌功率,TVS對(duì)靜電、過(guò)壓、電網(wǎng)干擾、雷擊、開(kāi)關(guān)打火、電源反向及電機(jī)/電源噪聲振動(dòng)保護(hù)尤為有效。(2)多路模擬開(kāi)關(guān)抗干擾方法在測(cè)控系統(tǒng)中,被控量與被測(cè)量的回路往往是幾路或幾十路。對(duì)于多路的參量進(jìn)行A/D、D/A轉(zhuǎn)化時(shí),往往采用公共的A/D、D/A轉(zhuǎn)換電路。因此,常選用多路模擬開(kāi)關(guān)輪流切換各被控或被測(cè)回路與A/D、D/A轉(zhuǎn)換電路間的通路,以達(dá)到分時(shí)控制和巡回檢測(cè)的目的。多個(gè)輸入信號(hào)經(jīng)多路轉(zhuǎn)換器接至放大器或A/D轉(zhuǎn)換器的方法有單端法和差動(dòng)接法,其中差動(dòng)接法抗干擾能力強(qiáng)。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05
當(dāng)多路轉(zhuǎn)換器從一個(gè)通道切換到另一個(gè)通道時(shí),要發(fā)生瞬變現(xiàn)象,使輸出端產(chǎn)生短暫的尖峰電壓。為了消除這種現(xiàn)象引入的誤差,可在多路轉(zhuǎn)換器輸出端與放大器之間接一個(gè)采樣保持器電路,或用軟件延時(shí)的辦法進(jìn)行采樣。
多路轉(zhuǎn)換器的輸入常常受到各種環(huán)境噪聲的污染,尤其易受到共模噪聲的干擾。在多路轉(zhuǎn)換器輸入端接入共模扼流圈,對(duì)抑制外部傳感器引入的高頻共模噪聲十分有效。轉(zhuǎn)換器高頻采樣時(shí)產(chǎn)生的高頻噪聲,不僅影響測(cè)量精度,而且可能使單片機(jī)失控。同時(shí),由于單片機(jī)運(yùn)行速度很高,它對(duì)多路轉(zhuǎn)換器也是一個(gè)巨大的噪聲源。(3)放大器抗干擾方法放大器的選擇一般采用不同性能的集成放大器。在傳感器工作環(huán)境復(fù)雜和惡劣時(shí),應(yīng)選擇測(cè)量放大器,它具有高輸入阻抗、低輸出阻抗、強(qiáng)抗共模干擾能力、低溫漂、低失調(diào)電壓和高穩(wěn)定增益等特點(diǎn),使其在微弱信號(hào)的監(jiān)測(cè)系統(tǒng)中廣泛用作前置放大器。為了防止共模噪聲竄入系統(tǒng)可以采用隔離放大器。隔離放大器具有線性和穩(wěn)定性好,共模抑制比高,應(yīng)用電路簡(jiǎn)單,放大增益可變等特點(diǎn)。在使用電阻傳感器時(shí),可選用具有放大、濾波、激勵(lì)功能的模塊2B30/2B31,它是高精度、低噪聲、功能齊全的電阻信號(hào)適配器。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05(4)抗干擾穩(wěn)壓電源抗干擾穩(wěn)壓電源如圖13-5所示?!?yīng)用系統(tǒng)的供電線路和產(chǎn)生干擾的用電設(shè)備分開(kāi)供電。
·通過(guò)低通濾波器和隔離變壓器接入電網(wǎng)。
·整流組件上并接濾波電容。濾波電容選用?!?000pF~0.01μF的瓷片電容。·采用高質(zhì)量的穩(wěn)壓電源。
13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05(5)輸入輸出隔離光電耦合器隔離電路如圖13-6所示。利用光電耦合器隔離單片機(jī)信號(hào)與負(fù)載電路信號(hào)之間的干擾,實(shí)現(xiàn)單片機(jī)控制繼電器的工作。(6)過(guò)壓保護(hù)電路在輸入通道上采用一定的過(guò)壓保護(hù)電路,以防引入高壓,損壞系統(tǒng)電路。過(guò)壓保護(hù)電路由限流電阻和穩(wěn)壓管組成,穩(wěn)壓值以略高于最高傳送信號(hào)電壓為宜。對(duì)于微弱信號(hào)(0.2V以下),采用兩支反并聯(lián)的二極管,也可起到過(guò)壓保護(hù)作用。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)053.軟件抗干擾采用軟件抗干擾不需增加硬件設(shè)備、可靠性高、穩(wěn)定性好、功能多樣、使用靈活,具有許多硬件抗干擾所不具備的優(yōu)點(diǎn),與硬件手段互補(bǔ),相輔相成。文章論述軟件抗干擾的基本原理和基本方法,涵蓋指令復(fù)執(zhí)、數(shù)字濾波、程序卷回、信息冗余、系統(tǒng)自檢等概念??紤]到硬件抗干擾需要增加很多硬件,不僅成本高而且由于連線較多也容易引進(jìn)二次干擾,因此本文主要采用軟件干擾。(1)軟件抗干擾的原理軟件抗干擾的本質(zhì)是,在有干擾存在的情況下利用編程技術(shù)來(lái)抵消其影響。即當(dāng)干擾使單片機(jī)系統(tǒng)出現(xiàn)一定的運(yùn)行性故障時(shí),能夠依靠系統(tǒng)內(nèi)駐的能力程序保持系統(tǒng)連續(xù)正確地執(zhí)行其程序和輸入輸出的功能。因此,軟件抗干擾過(guò)程實(shí)質(zhì)是一個(gè)干擾容錯(cuò)過(guò)程,是容錯(cuò)技術(shù)在軟件設(shè)計(jì)中的具體體現(xiàn)。對(duì)侵入單片機(jī)系統(tǒng)的干擾,用軟件來(lái)消除不僅是必要的,而且,也是最經(jīng)濟(jì),最可行的。高性能單片機(jī)以其豐富的指令功能和極高的運(yùn)行速度,為軟件抗干擾提供了良好的條件。一般來(lái)說(shuō),單片機(jī)執(zhí)行指令的速度為幾微秒,甚至更低,而系統(tǒng)的輸入信號(hào)如開(kāi)關(guān)觸點(diǎn)、溫度、壓力、流量等裝置變化速度相對(duì)要慢得多。一旦干擾使系統(tǒng)的正常運(yùn)行遭到破壞,單片機(jī)便利用其速度上的優(yōu)勢(shì),通過(guò)執(zhí)行抗干擾軟件程序來(lái)克服干擾的影響,使系統(tǒng)仍能保持正常工作。由此可知,單片機(jī)是以執(zhí)行抗干擾軟件程序所花的時(shí)間為代價(jià),換來(lái)了系統(tǒng)的可靠。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05(2)指令復(fù)執(zhí)對(duì)于重要的指令,如輸入輸出,要重復(fù)執(zhí)行,以確保其正確。開(kāi)關(guān)量的讀入必須兩次以上讀入一致才有效;若是按鍵類開(kāi)關(guān),還應(yīng)加軟件除抖保護(hù),即加軟件延時(shí),延時(shí)值一般10ms左右。開(kāi)關(guān)量輸出時(shí),需將輸出回讀,以保證輸出正確。若輸出控制對(duì)象是繼電器、電磁閥等易于產(chǎn)生干擾的部件,在其可能對(duì)系統(tǒng)造成干擾期間如繼電器吸合時(shí)間內(nèi)不應(yīng)執(zhí)行其它程序,而應(yīng)不斷重復(fù)該輸出命令,確保動(dòng)作無(wú)誤。對(duì)智能型接口芯片,單片機(jī)每次對(duì)I/O訪問(wèn)前,最好重新進(jìn)行設(shè)置,以使其始終按給定的方式工作。(3)數(shù)字濾波在單片機(jī)系統(tǒng)中,輸入模擬量中不可避免地含有隨機(jī)干擾,使輸入模擬量產(chǎn)生誤差。測(cè)量理論告訴我們:對(duì)真值的最佳估計(jì)就是多次檢測(cè)結(jié)果的算術(shù)平均值。對(duì)一些要求不高的簡(jiǎn)單應(yīng)用系統(tǒng),可采用類似體操比賽中的評(píng)分辦法,在算平均值之前,先對(duì)一般取四個(gè)值進(jìn)行比較,去掉其中的最大值和最小值,然后計(jì)算余下的兩個(gè)數(shù)據(jù)的平均值。它具有計(jì)算方便、速度快、占用內(nèi)存容量小等優(yōu)點(diǎn)。數(shù)字濾波有如下優(yōu)點(diǎn):13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05·數(shù)字濾波是由軟件程序?qū)崿F(xiàn)的,不需要硬件,因此不存在阻抗匹配的問(wèn)題?!?duì)于多路信號(hào)輸入通道,可以共用一個(gè)軟件“濾波器”,從而降低設(shè)備的硬件成本。
·只要適當(dāng)改變?yōu)V波器程序或運(yùn)算參數(shù),就能方便地改變?yōu)V波特性,這對(duì)于低頻脈沖干擾和隨機(jī)噪聲的克服特別有效。中值濾波是對(duì)某一被測(cè)參數(shù)連續(xù)采樣n次(一般n取奇數(shù)),然后把n次采樣值按大小排列,取中間值為本次采樣值,中值濾波能有效地克服偶然因素引起的波動(dòng)或采樣器不穩(wěn)定引起的誤碼等脈沖干擾。算術(shù)平均濾波對(duì)目標(biāo)參數(shù)進(jìn)行連續(xù)采樣,然后求取算術(shù)平均值作為有效采樣值,該算法適用于抑制隨機(jī)干擾。(4)程序卷回單片機(jī)系統(tǒng)在遇到外界干擾時(shí),往往會(huì)導(dǎo)致運(yùn)行程序進(jìn)入死循環(huán),即程序“死鎖”,使程序進(jìn)入程序存貯器的空白區(qū)即無(wú)指令區(qū),這種現(xiàn)象叫作程序“跑飛”。對(duì)程序“死鎖”,單片機(jī)可利用軟件定時(shí),即看門狗定時(shí)器來(lái)解決。解決程序“跑飛”的方法是在程序存儲(chǔ)器的空白區(qū)設(shè)置軟件“陷井”,即在空白區(qū)內(nèi)填滿空操作如和無(wú)條件轉(zhuǎn)移指令,一旦程序進(jìn)入空白區(qū)執(zhí)行命令,也能重新啟動(dòng)程序或轉(zhuǎn)向中斷恢復(fù)程序。13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05(5)開(kāi)關(guān)量輸入方法開(kāi)關(guān)量輸入方法抗干擾流程如圖13-7所示。(6)程序執(zhí)行過(guò)程中的軟件抗干擾程序執(zhí)行過(guò)程中的軟件抗干擾一般采用“指令冗余”與“軟件陷阱”。下面三條指令即組成一個(gè)“軟件陷阱”NOPNOPLJMPERR13.5單片機(jī)系統(tǒng)的抗干擾技術(shù)05一般使用在:·未使用的中斷向量區(qū)·未使用的大片EPROM空間(7)WATCHDOG如果“跑飛”的程序落到一個(gè)臨時(shí)構(gòu)成的死循環(huán)中,冗余指令和軟件陷阱都將無(wú)能為力,這時(shí)可采取WATCHDOG(俗稱“看門狗”)措施。WATCHDOG有如下特性:·本身能獨(dú)立工作,基本上不依賴于CPU。CPU只在一個(gè)固定的時(shí)間間隔內(nèi)與之打一次交道,表明整個(gè)系統(tǒng)“目前尚屬正?!薄?/p>
·當(dāng)CPU落入死循環(huán)后,能及時(shí)發(fā)現(xiàn)并使整個(gè)系統(tǒng)復(fù)位。硬件WATCHDOG電路如圖13-8所示。CONTNTS13.6
基于51單片機(jī)的溫濕度檢測(cè)儀
13.6基于51單片機(jī)的溫濕度檢測(cè)儀06防潮、防腐、防爆、防霉是倉(cāng)庫(kù)日常工作的重要內(nèi)容,是衡量倉(cāng)庫(kù)管理質(zhì)量的重要指標(biāo)。它直接影響到儲(chǔ)備物資的使用壽命和工作可靠性。為保證日常工作的順利進(jìn)行,首要問(wèn)題是加強(qiáng)倉(cāng)庫(kù)內(nèi)溫度與濕度的監(jiān)測(cè)工作。但傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測(cè)量計(jì)和濕度試紙等測(cè)試器材,通過(guò)人工進(jìn)行檢測(cè),對(duì)不符合溫度和濕度要求的庫(kù)房進(jìn)行通風(fēng)、去濕和降溫等工作。這種人工測(cè)試方法費(fèi)時(shí)費(fèi)力、效率低,且測(cè)試的溫度及濕度誤差大,隨機(jī)性大。因此我們需要一種造價(jià)低廉、使用方便且測(cè)量準(zhǔn)確的溫濕度測(cè)量?jī)x。目前,糧庫(kù)中的溫濕度檢測(cè),基本上是人工檢測(cè),勞動(dòng)強(qiáng)度大,繁瑣。由于檢測(cè)報(bào)警不及時(shí),造成庫(kù)儲(chǔ)糧食損失的現(xiàn)象時(shí)有發(fā)生,于是,本設(shè)計(jì)設(shè)計(jì)出了一套性能價(jià)格比較高的倉(cāng)庫(kù)溫濕度自動(dòng)檢測(cè)系統(tǒng)。實(shí)時(shí)、準(zhǔn)確地測(cè)量周圍環(huán)境的溫度與濕度,在國(guó)民經(jīng)濟(jì)發(fā)展中的許多領(lǐng)域都具有極其廣泛的應(yīng)用。但由于常用溫濕度傳感器的非線性輸出及一致性較差,設(shè)計(jì)方法相對(duì)較復(fù)雜,且給電路調(diào)試帶來(lái)很大的困難。在溫度檢測(cè)方面,有很多是直接使用DS18B20數(shù)字傳感器,我們這里選用的是熱電阻溫度檢測(cè)的方式,而濕度檢測(cè)方面,很多選用了集成的HM1500的方式,而本系統(tǒng)根據(jù)HM1500的原理,直接選用了HS1101。溫濕度監(jiān)測(cè)除用于倉(cāng)庫(kù)監(jiān)測(cè)外,還可以廣泛應(yīng)用于如生物制藥、無(wú)菌室、潔凈廠房、電信銀行、圖書(shū)館、檔案館、文物館、智能樓宇等各行各業(yè)需要溫濕監(jiān)測(cè)的場(chǎng)所和領(lǐng)域。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06系統(tǒng)的基本功能是:·多路檢測(cè)溫度、濕度;·多路顯示溫度、濕度;·多路過(guò)限報(bào)警。主要技術(shù)參數(shù)如下:·溫度檢測(cè)范圍:0℃-+100℃;·測(cè)量精度:0.1℃;·濕度檢測(cè)范圍:0%-100%RH;·檢測(cè)精度:1%RH;·顯示方式:8路溫度和濕度交替顯示;·報(bào)警方式:三極管驅(qū)動(dòng)的蜂鳴器和發(fā)光二極管報(bào)警。13.6基于51單片機(jī)的溫濕度檢測(cè)儀0613.6.1方案的設(shè)計(jì)當(dāng)確定了用單片機(jī)作為控制核心之后,就需要選擇傳感器了,本章將介紹溫度和濕度檢測(cè)電路中傳感器的選擇情況。(1)溫度檢測(cè)電路的選擇比較了熱電阻與熱電偶的優(yōu)缺點(diǎn),因?yàn)闊犭娮鑳r(jià)格比較便宜,Cu100使用范圍是-40~140℃,銅熱電阻線性較好;價(jià)格低;電阻率低;而且精度和測(cè)溫范圍也完全可以滿住本設(shè)計(jì)的要求,故選取熱電阻cu100作為本設(shè)計(jì)中的溫度傳感器。(2)濕度檢測(cè)電路的選擇因?yàn)楸驹O(shè)計(jì)會(huì)用到多路檢測(cè),HM1500也是基于HS1101設(shè)計(jì)的,在這里我們直接選擇HS1101會(huì)經(jīng)濟(jì)很多,而且在需要濕度補(bǔ)償?shù)膱?chǎng)合它也可以得到很大的應(yīng)用,所以選用HS1101。13.6基于51單片機(jī)的溫濕度檢測(cè)儀0613.6.2硬件電路的設(shè)計(jì)本設(shè)計(jì)中溫度檢測(cè)部分采用Cu100三線制橋式電路檢測(cè),經(jīng)過(guò)運(yùn)算放大器放大,再被CD4051分時(shí)地被ICL7135轉(zhuǎn)換然后通過(guò)接口被單片機(jī)接收。濕度檢測(cè)部分則是利用HS1101與555構(gòu)成的RC振蕩電路,產(chǎn)生的頻率直接被單片機(jī)接收硬件電路還包括顯示電路,鍵盤(pán)電路,報(bào)警電路,電源電路等。溫濕度檢測(cè)儀硬件總體框圖如圖13-913.6基于51單片機(jī)的溫濕度檢測(cè)儀061.溫度檢測(cè)電路的設(shè)計(jì)(1)Cu100橋式電路因?yàn)樗木€制接法主要用于高精度測(cè)量,而又不能完全忽略導(dǎo)線的影響而采用二線制接法,所以我們?cè)诖嗽O(shè)計(jì)中熱電阻選用三線制接法。電路采用TL431和電位器VR1調(diào)節(jié)產(chǎn)生4.096V的參考電源;采用R9、R10、R12、Cu100構(gòu)成測(cè)量電橋(其中R9=R10),當(dāng)Cu100的電阻值和R12的電阻值不相等時(shí),電橋輸出一個(gè)mV級(jí)的壓差信號(hào),這個(gè)壓差信號(hào)經(jīng)過(guò)運(yùn)放LM324放大后輸出期望大小的電壓信號(hào),該信號(hào)可直接連AD轉(zhuǎn)換芯片。差動(dòng)放大電路中R14=R15、R13=R16、放大倍數(shù)=R13/R14,運(yùn)放采用正負(fù)5V供電。Cu100橋式電路圖如圖13-10所示。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06設(shè)計(jì)及調(diào)試注意:
①同幅度調(diào)整R9和R10的電阻值可以改變電橋輸出的壓差大??;②改變R13/R14的比值即可改變電壓信號(hào)的放大倍數(shù),以便滿足設(shè)計(jì)者對(duì)溫度范圍的要求③放大電路必須接成負(fù)反饋方式,否則放大電路不能正常工作。④R12為電位器,調(diào)節(jié)電位器阻值大小可以改變溫度的零點(diǎn)設(shè)定,例如Cu100的零點(diǎn)溫度為0℃,即0℃時(shí)電阻為100Ω,當(dāng)電位器阻值調(diào)至108.57Ω時(shí),溫度的零點(diǎn)就被設(shè)定在了20℃。測(cè)量電位器的阻值時(shí)須在沒(méi)有接入電路時(shí)調(diào)節(jié),這是因?yàn)榻尤腚娐泛鬁y(cè)量的電阻值發(fā)生了改變。⑤理論上,運(yùn)放輸出的電壓為輸入壓差信號(hào)×放大倍數(shù),但實(shí)際在電路工作時(shí)測(cè)量輸出電壓與輸入壓差信號(hào)并非這樣的關(guān)系,壓差信號(hào)比理論值小很多,實(shí)際輸出信號(hào)為:式中電阻值以電路工作時(shí)量取的為準(zhǔn)。⑥電橋的正電源必須接穩(wěn)定的參考基準(zhǔn),因?yàn)槿绻苯覸CC的話,當(dāng)網(wǎng)壓波動(dòng)造成VCC發(fā)生波動(dòng)時(shí),運(yùn)放輸出的信號(hào)也會(huì)發(fā)生改變,此時(shí)再到以VCC未發(fā)生波動(dòng)時(shí)建立的溫度-電阻表中去查表求值時(shí)就不正確了,這可以根據(jù)上式進(jìn)行計(jì)算得知。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06(2)CD4051多路開(kāi)關(guān)CD4051,8選1模擬開(kāi)關(guān)。CC4051是單8通道數(shù)字控制模擬開(kāi)關(guān),有三個(gè)二進(jìn)制控制輸入端A0、A1、A2和INH輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。幅值為4.5~20V的數(shù)字信號(hào)可控制峰-峰值至20V的模擬信號(hào)。例如,若VDD=+5V,VSS=0,VEE=-13.5V,則0~5V的數(shù)字信號(hào)可控制-13.5~4.5V的模擬信號(hào)。這些開(kāi)關(guān)電路在整個(gè)VDD-VSS和VDD-VEE電源范圍內(nèi)具有極低的靜態(tài)功耗,與控制信號(hào)的邏輯狀態(tài)無(wú)關(guān)。當(dāng)INH輸入端=“1”時(shí),所有的通道截止。三位二進(jìn)制信號(hào)選通8通道中的一通道,可連接該輸入端至輸出。(3)A/D轉(zhuǎn)換電路A/D板卡接受從4051傳遞過(guò)來(lái)的模擬信號(hào),經(jīng)過(guò)OP07(在這里選用精度稍高的OP07)運(yùn)算放大器放大,傳入ICL7135進(jìn)行AD轉(zhuǎn)換,其中ICL7135的頻率由74HC240組成的RC振蕩器提供,將處理后信號(hào)直接送到單片機(jī)最小系統(tǒng)。ICL7135量程為0-2V,基準(zhǔn)電壓VREF由MC1403輸出(2.5V)分壓獲得1V電壓。它的BCD碼位選通輸出端D1-D4接在HC240上用于位選,因?yàn)槿f(wàn)位只能是0或1,所以D5同時(shí)用于位選和數(shù)據(jù)位的選擇,這也是本電路設(shè)計(jì)的一個(gè)亮點(diǎn)。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06由于在本電路中,用RC振蕩電路代替了晶振,雖然帶補(bǔ)償?shù)腞C振蕩電路頻率可以很穩(wěn)定,但可能與需要的頻率有些許誤差,所以O(shè)P07有一個(gè)調(diào)零的功能,用OP07來(lái)補(bǔ)償RC振蕩電路頻率與壓要求存在偏差的不足。本設(shè)計(jì)中AD轉(zhuǎn)換電路圖如圖13-11所示。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06(4)溫度的分段線性化Cu100的電阻值與溫度值的對(duì)應(yīng)關(guān)系是以20度為一檔的,我們不能把整個(gè)測(cè)溫范圍線性化,但可以在20度為一檔的范圍內(nèi)分段線性化,這樣就相當(dāng)于一個(gè)溫度補(bǔ)償方法。所用的標(biāo)度變換目的是要把實(shí)際采樣的二進(jìn)制值轉(zhuǎn)換成BCD形式的溫度值,然后存放到顯示緩沖區(qū)34H-3BH。對(duì)一般線性儀表來(lái)說(shuō),標(biāo)度變換公式為:式中:A0為一次測(cè)量?jī)x表的下限;Am為一次測(cè)量?jī)x表的上限;AX為實(shí)際測(cè)量值;N0為儀表下限所對(duì)應(yīng)的數(shù)字量;Nm為儀表上限所對(duì)應(yīng)的數(shù)字量;NX為測(cè)量所得數(shù)字量。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06(5)測(cè)量電路的調(diào)零與調(diào)量程可調(diào)式精密穩(wěn)壓集成電路TL431是美國(guó)德洲儀器公司(TexasInstrument)開(kāi)發(fā)的一個(gè)有良好熱穩(wěn)定性能的三端可調(diào)精密電壓基準(zhǔn)集成電路,其全稱是可調(diào)試精密并聯(lián)穩(wěn)壓器,也稱為電壓調(diào)節(jié)器或三端取樣集成電路。該器件猶如上世紀(jì)70年代誕生的555時(shí)基芯片一樣,價(jià)廉物美、參數(shù)優(yōu)越、性能可靠,因而廣泛應(yīng)用于各種電源電路中。此外,TL431與其它器件巧妙連接,還可以構(gòu)造出具有其它功能的實(shí)用電路。現(xiàn)在TL431已成為用途很廣、知名度很高的通用集成電路之一,越來(lái)越受到電路設(shè)計(jì)者的歡迎。調(diào)量程電路和調(diào)零電路如圖13-12、13-13所示。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06TL431使用中應(yīng)注意:·TL431的動(dòng)態(tài)穩(wěn)壓效果很好,穩(wěn)壓精度特別高。輸入電壓Vi、負(fù)載電阻RL在一定范圍內(nèi)變化,對(duì)輸出電壓無(wú)明顯影響?!ぴ谠O(shè)計(jì)電路時(shí)必須保證TL431工作的必要條件,就是通過(guò)陰極的電流要大于0.6mA,通常取大于1mA。
·確定穩(wěn)壓值的分壓電阻取值不能太大,可取幾百歐~幾十千歐,一般取幾千歐~十幾千歐為好。
利用TL431使和分壓電阻R8產(chǎn)生4.096V的電壓,在這個(gè)電路中,R8還有調(diào)量程的功能,當(dāng)調(diào)節(jié)R12使得零點(diǎn)確定之后,再調(diào)節(jié)R8可是量程成倍放大或縮小。這樣能使輸入4051的模擬值與想要的溫度值對(duì)應(yīng)。13.6基于51單片機(jī)的溫濕度檢測(cè)儀062.濕度檢測(cè)電路的設(shè)計(jì)濕度檢測(cè)電路用HS1101作為濕敏電容而與555定時(shí)器產(chǎn)生振蕩,并由555定時(shí)器產(chǎn)生振蕩的頻率求得電容值對(duì)應(yīng)的相對(duì)濕度,此電路還具有軟件濕度的溫度補(bǔ)償功能。利用一片CMOS定時(shí)器TLC555,配上HSll01和電阻R6、R4構(gòu)成單穩(wěn)態(tài)電路.將相對(duì)濕度值變化轉(zhuǎn)換成頻率信號(hào)輸出。輸出頻率范圍是7351~6033Hz,所對(duì)應(yīng)的相對(duì)濕度為0~100%。當(dāng)RH=55%時(shí),f為6660Hz。輸出的頻率信號(hào)可送至數(shù)字頻率計(jì)或控制系統(tǒng),經(jīng)整理后送顯示。R3為輸出端的限流電阻,起保護(hù)作用。通電后.電源沿著Vcc沿著R4和R6對(duì)HSll01充電。經(jīng)過(guò)t1時(shí)間后濕敏電容的壓降Uc就被充電TLC555的高觸發(fā)電平(Uh=O.67Ucc),使內(nèi)部比較器翻轉(zhuǎn)。OUT端的輸出變成低電平。然后C開(kāi)始放電,放電回路為C_R6_D,內(nèi)部放電管_地。經(jīng)過(guò)t2時(shí)間后,Uc降到低觸發(fā)電平(Ul=O.33Ucc),內(nèi)部比較器再次翻轉(zhuǎn),使OUT端的輸出變成高電平。這樣周而復(fù)始的進(jìn)行充、放電,形成了振蕩。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06充電、放電時(shí)間計(jì)算公式分別為:t1=C(R6+R4)ln2和t2=CR6ln2。通常取R4<R6,使占空比為50%,輸出接近于方波。例如,取入R6=567kΩ,R4=49.9kΩ。濕度傳感器只是保證傳感探頭的精度,在實(shí)際使用中,綜合精度除了與濕度傳感器本身元件有關(guān),還與外圍電路的器件選擇相關(guān)。為了與HSll01溫度系數(shù)相匹配,R3數(shù)值應(yīng)取為1%精度,且最大溫漂不超過(guò)100ppm(ppm:百萬(wàn)分之一,表示當(dāng)溫度變化1℃.所對(duì)應(yīng)的電阻相對(duì)變化量)。為了保證達(dá)到6660Hz/55%.R6與555電路選取參照如表13-3。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06
當(dāng)RH=55%、TA=+25℃時(shí),典型輸出方波頻率與相對(duì)濕度的數(shù)據(jù)對(duì)照見(jiàn)表13-4。濕度檢測(cè)電路電路如圖13-14所示。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06當(dāng)濕度不變時(shí),溫度變化會(huì)使電容值產(chǎn)生較大的變化,所以濕度的溫度補(bǔ)償就顯得很有必要,HS1101提供了一個(gè)軟件的溫度補(bǔ)償方法。利用下面公式就可以完成。RH%(補(bǔ)償后)=RH%(補(bǔ)償前)(1-(T-25)*0.0024)式中T為溫度值。濕度測(cè)量電路與單片機(jī)接口考慮了如下幾個(gè)方案:①利用將頻率轉(zhuǎn)換為電壓的芯片,將電壓值再經(jīng)過(guò)AD轉(zhuǎn)換被單片機(jī)接收。②頻率經(jīng)過(guò)4051,分時(shí)地被單片機(jī)接收,只需要利用一個(gè)管腳。③利用8個(gè)管腳直接接收頻率。設(shè)計(jì)中采用了第③種方案,因?yàn)棰龠€需要另外選擇芯片,又經(jīng)過(guò)AD轉(zhuǎn)換之后精度會(huì)降低,而②也需要加一個(gè)4051,只有③不需要加器件,而且單片機(jī)的管腳還有很多剩余。13.6基于51單片機(jī)的溫濕度檢測(cè)儀063.報(bào)警電路的設(shè)計(jì)當(dāng)溫度或是濕度越限的時(shí)候,單片機(jī)就會(huì)控制報(bào)警電路,使報(bào)警電路報(bào)警,也就是蜂鳴器響,發(fā)光二極管閃。本電路中是用一個(gè)三極管9013驅(qū)動(dòng)發(fā)光二極管和蜂鳴器的,電容C11是濾波用的,直接接P3.0即可。報(bào)警電路電路如圖13-15所示。13.6基于51單片機(jī)的溫濕度檢測(cè)儀064.顯示電路的設(shè)計(jì)(1)12864介紹帶中文字庫(kù)的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64,內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4行16×16點(diǎn)陣的漢字.也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。其基本特性為:低電源電壓(VDD:+3.0—+5.5V),顯示分辨率:128×64點(diǎn),內(nèi)置漢字字庫(kù),提供8192個(gè)16×16點(diǎn)陣漢字(簡(jiǎn)繁體可選),內(nèi)置128個(gè)16×8點(diǎn)陣字符,2MHZ時(shí)鐘頻率,顯示方式:STN、半透、正顯,驅(qū)動(dòng)方式:1/32DUTY,1/5BIAS,視角方向:6點(diǎn),背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5—1/10,通訊方式:串行、并口可選,內(nèi)置DC-DC轉(zhuǎn)換電路,無(wú)需外加負(fù)壓,無(wú)需片選信號(hào),簡(jiǎn)化軟件設(shè)計(jì),工作溫度:0℃-+55℃,存儲(chǔ)溫度:-20℃-+60℃。13.6基于51單片機(jī)的溫濕度檢測(cè)儀0612864并行接口管腳見(jiàn)表13-5。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06控制器接口信號(hào)說(shuō)明見(jiàn)表13-6、13-7.13.6基于51單片機(jī)的溫濕度檢測(cè)儀06模塊控制芯片提供兩套控制命令,基本指令和擴(kuò)充指令如表13-8、13-9。13.6基于51單片機(jī)的溫濕度檢測(cè)儀0613.6基于51單片機(jī)的溫濕度檢測(cè)儀06用帶中文字庫(kù)的128X64顯示模塊時(shí)應(yīng)注意以下幾點(diǎn):·欲在某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫(xiě)入中文字符編碼。·顯示ASCII字符過(guò)程與顯示中文字符過(guò)程相同。不過(guò)在顯示連續(xù)字符時(shí),只須設(shè)定一次顯示地址,由模塊自動(dòng)對(duì)地址加1指向下一個(gè)字符位置,否則,顯示的字符中將會(huì)有一個(gè)空ASCII字符位置?!ぎ?dāng)字符編碼為2字節(jié)時(shí),應(yīng)先寫(xiě)入高位字節(jié),再寫(xiě)入低位字節(jié)。·模塊在接收指令前,向處理器必須先確認(rèn)模塊內(nèi)部處于非忙狀態(tài),即讀取BF標(biāo)志時(shí)BF需為“0”,方可接受新的指令。如果在送出一個(gè)指令前不檢查BF標(biāo)志,則在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長(zhǎng)的時(shí)間,即等待前一個(gè)指令確定執(zhí)行完成。指令執(zhí)行的時(shí)間請(qǐng)參考指令表中的指令執(zhí)行時(shí)間說(shuō)明?!ぁ癛E”為基本指令集與擴(kuò)充指令集的選擇控制位。當(dāng)變更“RE”后,以后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時(shí),無(wú)需每次均重設(shè)“RE”位。13.6基于51單片機(jī)的溫濕度檢測(cè)儀06(2)12864LCD與單片機(jī)的接口12864LCD與單片機(jī)的接口如圖13-16所示,由P0口寫(xiě)入指令或數(shù)據(jù),而因?yàn)檫x擇的是是并行接口方式,PSD直接拉高。13.6基于51單片機(jī)的溫濕度檢測(cè)儀065.鍵盤(pán)的設(shè)計(jì)(1)鍵盤(pán)的功能鍵盤(pán)是負(fù)責(zé)輸入溫度和濕度的最大最小值的,這里主要有四個(gè)鍵,分別是keyset(開(kāi)始設(shè)置),keyout(退出設(shè)置),keyup(增加),keydown(減少)。當(dāng)按下keyset的時(shí)候,進(jìn)入設(shè)置報(bào)警值,液晶屏上顯示出要設(shè)置的數(shù)值,按下keyup或keydown,增加或減少相應(yīng)值,按下keyout時(shí),退出。鍵盤(pán)電路如圖13-17所示。(2)鍵盤(pán)與單片機(jī)的接口及鍵盤(pán)的去抖電路中鍵盤(pán)是直接與單片機(jī)相接的,沒(méi)有選擇硬件的鍵盤(pán)去抖,而是選擇了鍵盤(pán)的軟件去抖方式。13.6基于51單片機(jī)的溫濕度檢測(cè)儀066.電源部分220V交流電轉(zhuǎn)換為5V直流電的方法如圖13-18所示。圖13-18220V交流電轉(zhuǎn)換為5V直流電電路圖圖中C12,C15大電解電容是平波用的,C13,C14小電容是濾除高次諧波用的。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)礦用潛水排污泵市場(chǎng)全面調(diào)研及行業(yè)投資潛力預(yù)測(cè)報(bào)告
- 企業(yè)質(zhì)量管理體系制度
- 企業(yè)薪酬管理制度
- 企業(yè)合同管理制度
- 臨時(shí)麻醉管理制度
- 2026湖北省定向中國(guó)政法大學(xué)選調(diào)生招錄備考題庫(kù)附答案
- 2026電科華錄校園招聘?jìng)淇碱}庫(kù)附答案
- 2026福建寧德市藍(lán)海旅游發(fā)展有限公司招聘參考題庫(kù)附答案
- 2026福建省面向上海財(cái)經(jīng)大學(xué)選調(diào)生選拔工作備考題庫(kù)附答案
- 2026福建福州市戰(zhàn)坂置業(yè)有限公司招聘4人備考題庫(kù)附答案
- JJG 694-2025原子吸收分光光度計(jì)檢定規(guī)程
- 廣東省2025屆湛江市高三下學(xué)期第一次模擬考試-政治試題(含答案)
- 2025年3月29日全國(guó)事業(yè)單位事業(yè)編聯(lián)考A類《職測(cè)》真題及答案
- 梯子使用安全操作規(guī)程
- 民航保健與衛(wèi)生
- 醫(yī)藥ka專員培訓(xùn)課件
- 【中考真題】2025年上海英語(yǔ)試卷(含聽(tīng)力mp3)
- 2025年城市更新的城市更新技術(shù)
- 聚焦2025年:電商物流“最后一公里”配送冷鏈運(yùn)輸解決方案研究
- 冬季代維安全培訓(xùn)課件
- 地理信息安全在線培訓(xùn)考試題(附答案)
評(píng)論
0/150
提交評(píng)論