單片機(jī) 系統(tǒng)設(shè)計(jì)課件_第1頁(yè)
單片機(jī) 系統(tǒng)設(shè)計(jì)課件_第2頁(yè)
單片機(jī) 系統(tǒng)設(shè)計(jì)課件_第3頁(yè)
單片機(jī) 系統(tǒng)設(shè)計(jì)課件_第4頁(yè)
單片機(jī) 系統(tǒng)設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩159頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第11章應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)與實(shí)例 設(shè)計(jì)自己的單片機(jī)系統(tǒng)第11章 應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)與實(shí)例11.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)流程 11.2 抗干擾設(shè)計(jì) 11.3 應(yīng)用舉例概述本章從單片機(jī)應(yīng)用開(kāi)發(fā)的一般步驟入手,著重介紹總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、開(kāi)發(fā)裝置的使用與系統(tǒng)調(diào)試、編程器的使用與程序固化、產(chǎn)品驗(yàn)收與交付使用等技術(shù)環(huán)節(jié)要完成的任務(wù)和實(shí)際開(kāi)發(fā)中應(yīng)注意的問(wèn)題,軟硬件的抗干擾技術(shù),最后給出一個(gè)開(kāi)發(fā)實(shí)例以便模仿。內(nèi)容上貼近實(shí)際,注意對(duì)自上而下的任務(wù)逐級(jí)分解過(guò)程的介紹,力圖按工程的要求,使開(kāi)發(fā)進(jìn)程有條不紊,有理有據(jù),文檔齊全。由于篇幅限制,許多地方只能簡(jiǎn)略介紹。1111 總體設(shè)計(jì)1用戶需求分析對(duì)用戶提出的功能

2、需求、技術(shù)指標(biāo)等,進(jìn)行必要的可行性論證。明確設(shè)計(jì)任務(wù),并以書(shū)面形式確定以下幾方面的內(nèi)容,經(jīng)用戶認(rèn)可,形成設(shè)計(jì)任務(wù)書(shū)。(1)產(chǎn)品名稱(chēng);(2)設(shè)計(jì)目的;(3)系統(tǒng)功能要求(4)系統(tǒng)性能指標(biāo)(5)總體要求;(6)設(shè)計(jì)周期;(7)設(shè)計(jì)費(fèi)用;(8)其他。2構(gòu)建系統(tǒng)總體架構(gòu)1根據(jù)設(shè)計(jì)任務(wù)書(shū)的要求,在滿足功能、性能等用戶需求的基礎(chǔ)上,初步提出可選技術(shù)路線,并對(duì)各方案進(jìn)行必要的分析,充分聽(tīng)取方方面面的意見(jiàn),選擇一種實(shí)施方案。實(shí)施方案中的系統(tǒng)總體架構(gòu)應(yīng)以用戶需求為出發(fā)點(diǎn)。主要包括:選擇機(jī)型;根據(jù)需要確定擴(kuò)展;確定主要的軟硬件功能;明確用戶界面(鍵盤(pán)、顯示、打印等)的形式;確定系統(tǒng)的結(jié)構(gòu)(或建議,經(jīng)用戶確認(rèn));單

3、片機(jī)內(nèi)部資源分配及任務(wù)分解。2構(gòu)建系統(tǒng)總體架構(gòu)2在總體設(shè)計(jì)階段應(yīng)形成總體報(bào)告(實(shí)施方案)和設(shè)計(jì)任務(wù)書(shū)。報(bào)告形成后,就可分成兩組進(jìn)行同步設(shè)計(jì)了。第一組負(fù)責(zé)硬件,第二組負(fù)責(zé)軟件,兩個(gè)組由項(xiàng)目負(fù)責(zé)人協(xié)調(diào)。有的時(shí)候項(xiàng)目較小或者其它原因,只有一個(gè)人,就要先設(shè)計(jì)硬件部分,然后交給線路板廠制版,在此期間開(kāi)始軟件設(shè)計(jì)。2構(gòu)建系統(tǒng)總體架構(gòu)3硬件設(shè)計(jì)除了主要完成PCB線路板設(shè)計(jì)外,還應(yīng)考慮可靠性和保密性,最終形成PCB圖、元器件清單、網(wǎng)絡(luò)表、端口地址表等技術(shù)文檔;軟件設(shè)計(jì)主要完成軟件功能模塊劃分、出口入口參數(shù)定義、最終形成程序(子程序)框圖、源程序清單等技術(shù)文檔。軟硬件調(diào)試必須由軟硬件設(shè)計(jì)人員共同參與,形成調(diào)試報(bào)

4、告。最后向用戶提交產(chǎn)品、產(chǎn)品說(shuō)明書(shū)等。圖11-2 新的產(chǎn)品開(kāi)發(fā)流程圖 現(xiàn)在有了proteus軟件,不等做出電路板就可以提前進(jìn)行功能測(cè)試,大大節(jié)省了時(shí)間和金錢(qián)成本,其流程可以修改成如上。 1112 硬件設(shè)計(jì)和制作硬件原理設(shè)計(jì)是系統(tǒng)設(shè)計(jì)開(kāi)始后最重要的第一步。硬件原理設(shè)計(jì)中存在的缺陷將對(duì)整個(gè)設(shè)計(jì)產(chǎn)生影響,所以原理設(shè)計(jì)要特別細(xì)心周到。原理設(shè)計(jì)完成后,將產(chǎn)生硬件原理圖、網(wǎng)絡(luò)表、元件清單等重要文檔,這些文檔是后續(xù)工作的基礎(chǔ)。在硬件原理圖基礎(chǔ)上,可以采用CAD自動(dòng)布局、自動(dòng)布線來(lái)自動(dòng)地完成印制板繪制。通過(guò)印制板和原理圖各自生成的網(wǎng)絡(luò)表,可以驗(yàn)證所繪制的線路板與原理圖是否一致。網(wǎng)絡(luò)表還用于檢查生產(chǎn)出來(lái)的印制板

5、上線路的通斷。1 硬件原理設(shè)計(jì)1硬件原理設(shè)計(jì)的任務(wù)是設(shè)計(jì)并繪制硬件原理圖,主要應(yīng)從以下幾個(gè)方面考慮。(1)最小應(yīng)用系統(tǒng)設(shè)計(jì)包括微處理器的選擇、程序存儲(chǔ)器的選擇、晶振的選擇、總線是否驅(qū)動(dòng)、復(fù)位電路的設(shè)計(jì)、內(nèi)部資源(如定時(shí)、計(jì)數(shù)、中斷)的使用等。(2)I/O通道設(shè)計(jì)包括開(kāi)關(guān)量I/O通道,接口電路、端口地址等問(wèn)題,模擬量I/O通道中A/D、D/A轉(zhuǎn)換芯片的選擇等。(3)人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)包括鍵盤(pán)、顯示和打印電路及其接口設(shè)計(jì)。1 硬件原理設(shè)計(jì)2(4)其他系統(tǒng)擴(kuò)展設(shè)計(jì)根據(jù)系統(tǒng)需要擴(kuò)展外部RAM、ROM、定時(shí)計(jì)數(shù)、中斷管理、串行口擴(kuò)展等。(5).電源設(shè)計(jì)根據(jù)系統(tǒng)的供電要求和使用環(huán)境,確定供電方案。比

6、如手持式設(shè)備往往需要電池供電;有的設(shè)備需要備用電源等。交流供電也要設(shè)計(jì)變換電路,可以選擇模擬穩(wěn)壓電源或開(kāi)關(guān)穩(wěn)壓電源等。(6)接插件定義確定線路板之間的數(shù)據(jù)通信形式,包括接插件的類(lèi)型,接插件管腳定義等。2 資源分配完成了原理設(shè)計(jì)之后,硬件資源就基本確定了,適時(shí)地進(jìn)行資源分配,對(duì)后續(xù)工作能起到很好的限定作用。此外,在資源分配時(shí)能及時(shí)發(fā)現(xiàn)資源的利用情況,一方面減少資源浪費(fèi),另一方面發(fā)現(xiàn)資源不足,及時(shí)修正原理設(shè)計(jì)中的潛在問(wèn)題。資源分配的主要任務(wù)是對(duì)單片機(jī)內(nèi)部RAM、2(或3)個(gè)定時(shí)計(jì)數(shù)器、5(或6)個(gè)中斷源、1個(gè)全雙工異步串行口、4個(gè)并行I/O口等單片機(jī)內(nèi)部資源及擴(kuò)展資源逐個(gè)分析其用途、工作方式、工作

7、起止時(shí)間和限定條件,分配端口地址等。3 線路板圖繪制原理圖最終還要通過(guò)CAD軟件繪制出線路板圖才能交付生產(chǎn),這個(gè)工作要在仿真實(shí)驗(yàn)完成之后進(jìn)行,否則可能會(huì)白白浪費(fèi)時(shí)間和金錢(qián)。在繪制線路板時(shí)一定要注意以下幾個(gè)問(wèn)題。(1)器件的布局原則器件布局是指在線路板上布置元器件的位置。在電路板設(shè)計(jì)時(shí)應(yīng)合理地分區(qū),如強(qiáng)、弱信號(hào),數(shù)字、模擬信號(hào),輸入、輸出通道等安排在不同區(qū)域,盡可能使干擾源(如電機(jī)、繼電器)與敏感元件(如單片機(jī))遠(yuǎn)離,應(yīng)考慮走線的密度均衡、發(fā)熱均衡等因素。除了按用戶要求的鍵盤(pán)、顯示等器件的位置已確定外,其他器件最好是環(huán)繞CPU或在CPU引出的總線兩側(cè)。(2)布線原則2單片機(jī)和大功率器件的地線要單

8、獨(dú)接地,以減少相互干擾。大功率器件盡可能放在電路板邊緣。有條件應(yīng)盡量采用四層以上印制板,中間兩層為電源及地。(2)布線原則3當(dāng)大電流線寬到一定程度時(shí),由于占用線路板資源太多,一般采用粗導(dǎo)線“跨接”的方法,這樣不僅節(jié)省了線路板資源,而且避免了由于大電流導(dǎo)致線路板被“加熱”。走線應(yīng)避免出現(xiàn)直角或銳角,以減少高頻噪聲發(fā)射。注意晶振布線,晶振與單片機(jī)引腳盡量靠近,用地線把時(shí)鐘區(qū)隔離起來(lái),晶振外殼接地并固定。4.可靠性設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的可靠性是指在指定的應(yīng)用環(huán)境和條件下,系統(tǒng)穩(wěn)定工作的能力。單片機(jī)應(yīng)用系統(tǒng)由于具有很高的性能價(jià)格比,已逐步深入到各個(gè)領(lǐng)域,對(duì)單片機(jī)系統(tǒng)工作的可靠性也就提出了越來(lái)越高的要求。

9、因?yàn)橄到y(tǒng)一旦出現(xiàn)問(wèn)題,將帶來(lái)一系列損失,產(chǎn)生嚴(yán)重的后果。提高系統(tǒng)的可靠性可以從兩方面入手,一方面從硬件設(shè)計(jì)角度提高系統(tǒng)抗干擾能力,另一方面從軟件角度提高系統(tǒng)的可靠性。具體措施在下一節(jié)詳述。 5 保密性設(shè)計(jì)單片機(jī)應(yīng)用產(chǎn)品多數(shù)采用雙面板,線路板上走線一目了然,很容易將線路板測(cè)繪出來(lái)。保密設(shè)計(jì)多采用以下兩種方法:(1).程序加密:將程序固化在單片機(jī)內(nèi)部的方法。選用內(nèi)含程序存儲(chǔ)器帶“加密”位的單片機(jī),這樣做的結(jié)果是使得解密變得麻煩,提高解密成本。(2).可編程邏輯陣列加密:PAL、GAL等小規(guī)模可編程邏輯陣列在單片機(jī)應(yīng)用系統(tǒng)中很實(shí)用,可以直接取代TTL組合邏輯,且多數(shù)PAL、GAL器件可以設(shè)置加密(不

10、可讀),使“仿制”者不能輕易得手。6 硬件線路板的焊接與測(cè)試(2).元件焊接對(duì)于產(chǎn)品開(kāi)發(fā),IC多采用焊IC座的方法,便于線路修改。如果是批量生產(chǎn)的產(chǎn)品,除了易損壞的IC之外,為了確保硬件線路的可靠性,應(yīng)把IC直接焊在線路板上。在元件焊接時(shí),要注意避免漏焊、錯(cuò)焊和虛焊。忠告:手工焊接水平的提高需要很好的訓(xùn)練。(3).局部線路測(cè)試局部線路測(cè)試是通過(guò)編寫(xiě)測(cè)試程序,檢查局部硬件線路能否正常工作。如果不能正常工作需查找問(wèn)題并解決。注意:硬件的設(shè)計(jì)是最基礎(chǔ)的,任何一點(diǎn)馬虎或疏漏都有可能造成難以挽回的損失.1113 軟件設(shè)計(jì)軟件設(shè)計(jì)是對(duì)我們耐心和毅力的考驗(yàn),許多細(xì)節(jié)問(wèn)題是比較繁瑣的。首先要進(jìn)行軟件任務(wù)劃分,

11、數(shù)據(jù)類(lèi)型規(guī)劃,資源使用約定,模塊功能定義以及模塊接口定義等軟件總體設(shè)計(jì)工作。軟件的開(kāi)發(fā)過(guò)程可以套用軟件工程的要求。除此之外,還有一些單片機(jī)系統(tǒng)開(kāi)發(fā)的特殊性。 1 軟件設(shè)計(jì)的前期準(zhǔn)備(1).模塊功能定義主要是根據(jù)項(xiàng)目的功能要求來(lái)確定整個(gè)程序的功能,并將這些功能分解成若干子功能,確定完成這些功能的程序模塊,還要確定各個(gè)模塊之間的關(guān)系和數(shù)據(jù)傳遞方式等,使其成為一個(gè)有機(jī)的整體。模塊功能定義包括:?jiǎn)纹瑱C(jī)的初始化模塊、主控程序模塊、程序中使用的一些模塊子程序中斷服務(wù)子程序等。規(guī)定其執(zhí)行(觸發(fā))條件、入口出口參數(shù)、子程序完成的具體功能等。這些計(jì)劃在具體編程的過(guò)程中還有可能進(jìn)行局部修改。1 軟件設(shè)計(jì)的前期準(zhǔn)備

12、(3).內(nèi)存資源分配的確認(rèn)硬件設(shè)計(jì)中已經(jīng)將單片機(jī)的資源基本分配完畢,軟件設(shè)計(jì)中的資源分配主要是將還未具體分配的各RAM單元進(jìn)行合理分配,尤其是片內(nèi)RAM。例如,規(guī)定工作寄存器的使用。規(guī)定需要使用哪些標(biāo)志,占用從20H開(kāi)始的幾個(gè)字節(jié)用來(lái)存放這些標(biāo)志位。其余RAM單元可以存放字節(jié)信息(包括20H到2FH單元未被用于標(biāo)志的單元),這些單元的使用還要扣除堆棧區(qū)。單片機(jī)內(nèi)部其他RAM單元對(duì)多數(shù)開(kāi)發(fā)應(yīng)用來(lái)說(shuō)是夠用的。51子系列內(nèi)部RAM單元不夠用可以用52子系列,應(yīng)確保單片機(jī)內(nèi)部RAM均被用于存放最常用的變量。1 軟件設(shè)計(jì)的前期準(zhǔn)備RAM資源初步劃定后,工作進(jìn)程中可能發(fā)現(xiàn)某些資源分配不盡合理,需要局部改動(dòng)

13、或增減。RAM資源的管理最好通過(guò)偽指令定位的方法,避免使用直接地址,這樣,可以很方便地進(jìn)行修改。程序規(guī)模的估計(jì),因?yàn)閱纹瑱C(jī)的存儲(chǔ)器數(shù)量有限,再好的程序沒(méi)有地方存放也是不行的。2 系統(tǒng)監(jiān)控程序設(shè)計(jì)監(jiān)控程序其實(shí)就是主程序,監(jiān)控的任務(wù)簡(jiǎn)單地說(shuō)主要是調(diào)度:根據(jù)當(dāng)前單片機(jī)內(nèi)、外部的狀態(tài)或發(fā)生的“事件”,適時(shí)決策,執(zhí)行相應(yīng)的模塊,完成指定的作業(yè)。監(jiān)控程序的結(jié)構(gòu)一般有作業(yè)順序調(diào)度、鍵盤(pán)驅(qū)動(dòng)調(diào)度等方法。前者適用于順序控制類(lèi)應(yīng)用場(chǎng)合,后者適用于鍵盤(pán)指令型開(kāi)發(fā)場(chǎng)合。監(jiān)控程序的設(shè)計(jì)方法常見(jiàn)的有狀態(tài)分析法、狀態(tài)轉(zhuǎn)移法和事件驅(qū)動(dòng)法等。3 中斷與子程序設(shè)計(jì)(1)中斷在軟件總體設(shè)計(jì)時(shí),合理分配任務(wù),確定哪些任務(wù)在主程序中實(shí)

14、現(xiàn),哪些任務(wù)在中斷服務(wù)程序中實(shí)現(xiàn),依據(jù)已定義的功能完成中斷服務(wù)程序的編寫(xiě)。在中斷程序中設(shè)置一些處理標(biāo)志,主程序根據(jù)標(biāo)志進(jìn)行處理,防止中斷服務(wù)未結(jié)束之前,下一中斷請(qǐng)求又到來(lái),同級(jí)中斷得不到及時(shí)響應(yīng)。中斷服務(wù)程序設(shè)計(jì)時(shí)應(yīng)注意以下三個(gè)問(wèn)題。3 中斷與子程序設(shè)計(jì) (1)中斷現(xiàn)場(chǎng)保護(hù)由于中斷服務(wù)程序執(zhí)行時(shí)刻的不確定性,如果不保護(hù)現(xiàn)場(chǎng)就可能出現(xiàn)中斷返回后其他程序的執(zhí)行受到“莫名其妙”的影響。設(shè)計(jì)時(shí)可以先不考慮現(xiàn)場(chǎng)保護(hù),待中斷服務(wù)程序編寫(xiě)完成后,列出所有目的操作數(shù),將其中全局變量扣除,其余均需保護(hù)和恢復(fù)。特殊的工作寄存器要注意“換區(qū)”的操作,避免R0R7的沖突。 3 中斷與子程序設(shè)計(jì) (1)中斷及時(shí)返回,釋

15、放資源中斷服務(wù)子程序有時(shí)不可能“一步到位”,以免長(zhǎng)時(shí)間資源獨(dú)占。中斷的目的之一就是提高響應(yīng)的實(shí)時(shí)性。很多工作可以在主程序中排隊(duì)處理,中斷服務(wù)程序只需要設(shè)置一個(gè)任務(wù)標(biāo)志,并將該任務(wù)列入主程序任務(wù)處理隊(duì)列,及時(shí)釋放中斷資源。這種方式可以理解為事件驅(qū)動(dòng)程序流程。3 中斷與子程序設(shè)計(jì) (1)中斷避免中斷重入在MCS-51系統(tǒng)中,處理器完全依據(jù)IE0、TF0、IEl、TFl、RI和TI這些標(biāo)志位是否為1,觸發(fā)中斷響應(yīng)。如果用戶在中斷返回前不清除中斷標(biāo)志,就會(huì)造成中斷重入,即一次中斷請(qǐng)求造成多次、甚至是無(wú)休止的中斷服務(wù),使中斷服務(wù)子程序反復(fù)執(zhí)行而導(dǎo)致錯(cuò)誤的結(jié)果,另一方面也使其他正常的程序執(zhí)行“舉步維艱”(

16、每執(zhí)行一條指令后就要被中斷一次)。避免中斷重入的具體方法可見(jiàn)第五章。(2)子程序設(shè)計(jì)與子程序調(diào)用子程序是在功能模塊劃分完成后,進(jìn)一步細(xì)化分解出來(lái),完成某些功能的程序塊。子程序不是在軟件總體設(shè)計(jì)時(shí)能夠確定下來(lái)的。各個(gè)軟件設(shè)計(jì)組采用結(jié)構(gòu)化程序設(shè)計(jì)方法時(shí),可以形成各自軟件框圖,將重疊部分以子程序的形式提取出來(lái),共同約定其入口、出口參數(shù),這是一種方法。另一種方法是全部程序編制完成后,在優(yōu)化程序時(shí),將所有可能合并的程序段或子程序合并成一個(gè)子程序。(2)子程序設(shè)計(jì)與子程序調(diào)用由于子程序可能在不同的場(chǎng)合被不同的程序段調(diào)用,所以子程序的編寫(xiě)要規(guī)范,程序結(jié)構(gòu)合理、易讀,不能有漏洞(例如某些場(chǎng)合正常,而另一些場(chǎng)合

17、卻出錯(cuò)),盡可能少地占用資源。尤其避免制造垃圾,中間變量(用于暫存的寄存器)盡量使用工作寄存器,避免占用直接地址單元。提示:子程序采用何種方式傳遞參數(shù)很重要,需要認(rèn)真考慮確定。4 軟件抗干擾措施與硬件的抗干擾措施一樣,軟件的抗干擾措施也非常重要,主要包括:軟件陷阱、數(shù)字濾波等,軟件陷阱在下一節(jié)說(shuō)明。5 程序調(diào)試程序編寫(xiě)完成后,在軟硬件調(diào)試之前,應(yīng)首先進(jìn)行程序測(cè)試,確保程序正常運(yùn)行。在軟硬件聯(lián)調(diào)時(shí),減少故障點(diǎn)的檢出時(shí)間,提高聯(lián)調(diào)效率。程序設(shè)計(jì)的全過(guò)程分為分析問(wèn)題、畫(huà)流程圖、編輯程序、程序測(cè)試四個(gè)步驟。前三步只占總工作量的40左右,60以上工作量在調(diào)試上,所以一定要有充分的思想準(zhǔn)備。程序測(cè)試的方法

18、與軟件工程中所述方法是一致的,可以采用白盒測(cè)試法、黑盒測(cè)試法。5 程序調(diào)試單片機(jī)的程序調(diào)試工具,主要是使用軟件仿真器。在軟件仿真器上調(diào)試通過(guò)之后,再進(jìn)行與硬件聯(lián)合調(diào)試。程序調(diào)試的有力工具可以說(shuō)就是PROTEUS。有很多問(wèn)題可以在PROTEUS仿真下得以發(fā)現(xiàn)和解決。提示:由于程序調(diào)試的復(fù)雜性,在多數(shù)情況下,人們往往滿足于能用即可,滿足于一時(shí)能正常運(yùn)行,對(duì)偶爾的不正常往往不深追細(xì)究,這樣的產(chǎn)品經(jīng)不起時(shí)間和條件的考驗(yàn),因而是不可取的。1114 系統(tǒng)調(diào)試系統(tǒng)調(diào)試一般是指,在軟件和硬件調(diào)試完成之后,把二者組合在一起,對(duì)整個(gè)單片機(jī)系統(tǒng)進(jìn)行調(diào)試。這個(gè)過(guò)程就是我們的單片機(jī)系統(tǒng)設(shè)計(jì)制作的最后一步。最終提供給用戶

19、的產(chǎn)品就是在系統(tǒng)調(diào)試之后定型的。1 一般調(diào)試方法開(kāi)發(fā)單片機(jī)產(chǎn)品,往往要使用仿真器,也有的稱(chēng)為開(kāi)發(fā)機(jī)或開(kāi)發(fā)系統(tǒng)。仿真器通過(guò)仿真線,連在用戶板的CPU插座上,可以通俗地理解為仿真器將其CPU、程序存儲(chǔ)器等資源全部“租借”給了用戶系統(tǒng)。用戶可以在PC機(jī)上編寫(xiě)源程序,通過(guò)匯編或編譯程序?qū)⒃闯绦蚍g成機(jī)器碼,通過(guò)PC機(jī)接口將機(jī)器碼傳入仿真器內(nèi),用戶仍可以指定程序運(yùn)行到哪里,并通過(guò)PC機(jī)的顯示器觀察單片機(jī)內(nèi)部資源的變化情況(外部情況通過(guò)用戶板上的數(shù)碼管、LED可以觀察到)。1 一般調(diào)試方法仿真器也可以不連用戶板,僅進(jìn)行軟件運(yùn)行測(cè)試。通過(guò)設(shè)置斷點(diǎn)運(yùn)行、單步運(yùn)行等方式,可以“跟蹤”程序的執(zhí)行。仿真器將執(zhí)行結(jié)果

20、通過(guò)串行口回送PC機(jī),在顯示器上,用戶可以很明了地看到程序運(yùn)行的結(jié)果(甚至每一步執(zhí)行的結(jié)果),大大地方便了程序的查錯(cuò)、糾錯(cuò)。圖11-3是一種典型的仿真器與用戶系統(tǒng)連接示意圖。圖11-3單片機(jī)開(kāi)發(fā)系統(tǒng)與用戶系統(tǒng)連接方法 2 系統(tǒng)聯(lián)調(diào)雖然軟硬件均已經(jīng)獨(dú)自完成了各自的測(cè)試,系統(tǒng)聯(lián)調(diào)問(wèn)題相對(duì)少得多,但仍不能以為萬(wàn)事大吉,調(diào)試的任務(wù)仍很艱巨。一般是在仿真器的控制下運(yùn)行用戶程序,測(cè)試用戶系統(tǒng)的各項(xiàng)功能。系統(tǒng)聯(lián)調(diào)的常見(jiàn)方法有如下兩種。2 系統(tǒng)聯(lián)調(diào)(1)由頂向下的系統(tǒng)聯(lián)調(diào)該方法是進(jìn)行整個(gè)系統(tǒng)的全速仿真運(yùn)行,未出現(xiàn)問(wèn)題,完成任務(wù);出現(xiàn)問(wèn)題時(shí),分析問(wèn)題可能出現(xiàn)在哪里。分析問(wèn)題主要側(cè)重于軟硬件配合時(shí)可能引起的問(wèn)題,

21、如硬件中斷等。根據(jù)分析,提出解決方案,著手解決問(wèn)題。2 系統(tǒng)聯(lián)調(diào)(2)自底向上的系統(tǒng)聯(lián)調(diào)該方法是分模塊進(jìn)行局部的仿真運(yùn)行,排除了局部故障點(diǎn)后,再進(jìn)行系統(tǒng)全速仿真運(yùn)行,直到符合要求為止。提示:系統(tǒng)調(diào)試是研制工作的最后關(guān)口,必須保證所有功能都正確可靠.1115 程序固化在仿真完成后,需要將程序固化在單片機(jī)片外或片內(nèi)。這時(shí)候就需要使用編程器了,它的型號(hào)很多,檔次差別也很大,具體用法請(qǐng)查閱編程器附帶的使用說(shuō)明書(shū).1、程序固化在片外如果采用EPROM(27系列)芯片,一般需要使用EPROM擦除器將原來(lái)的內(nèi)容擦除掉,然后用編程器對(duì)EPROM編程。一般EPROM芯片的擦除次數(shù)在10次左右?,F(xiàn)在有很多EEPR

22、OM芯片可以選用,使用方便,可擦寫(xiě)次數(shù)大多在1000次以上。2、程序固化在片內(nèi)如果單片機(jī)是EPROM類(lèi)型的,同樣需要進(jìn)行前述的“擦除”。FLASH型器件擦除就簡(jiǎn)單得多了,可以直接在編程器上“擦除”,這也是FLASH型器件被廣泛應(yīng)用的原因之一。2、程序固化在片內(nèi)由上可知27系列EPROM使用極不方便且無(wú)法加密,壽命又短,所以應(yīng)用越來(lái)越少,而片內(nèi)具有Flash存儲(chǔ)器的單片機(jī)得到越來(lái)越廣泛的使用,本書(shū)經(jīng)常使用的AT89C51就是這種。最近幾年新推出的AT89S51還可以在系統(tǒng)編程,使用非常簡(jiǎn)單的下載線就可以完成擦除、寫(xiě)入等工作。順便提一下,最近幾年還有的單片機(jī)帶有JTAG接口,不但可以在系統(tǒng)編程,還

23、可以在系統(tǒng)調(diào)試。1116 產(chǎn)品驗(yàn)收與交付使用固化好的程序在集成電路芯片里,將電路插到用戶板,通電運(yùn)行,如果沒(méi)有問(wèn)題,就大功告成;如果有問(wèn)題,可能就是大問(wèn)題,必須要找到原因徹底解決,直到?jīng)]有問(wèn)題為止。到現(xiàn)場(chǎng)實(shí)際使用,沒(méi)有問(wèn)題,就可以交付用戶了。需要提起注意的一個(gè)問(wèn)題是:有許多行業(yè)的儀器設(shè)備是有標(biāo)準(zhǔn)的,包括行業(yè)標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)、國(guó)際標(biāo)準(zhǔn)等。1116 產(chǎn)品驗(yàn)收與交付使用盡管并非所有的項(xiàng)目均要技術(shù)鑒定(取決于合同約定等因素),但產(chǎn)品驗(yàn)收是必要的,驗(yàn)收表明了用戶對(duì)開(kāi)發(fā)方產(chǎn)品的認(rèn)可。如果說(shuō)合同簽訂是任務(wù)的開(kāi)始,產(chǎn)品驗(yàn)收則標(biāo)志著任務(wù)的結(jié)束。在產(chǎn)品驗(yàn)收時(shí),應(yīng)依據(jù)合同規(guī)定,逐條落實(shí),并最終向用戶交付產(chǎn)品及產(chǎn)品使用

24、說(shuō)明書(shū)等有關(guān)文檔。忠告:產(chǎn)品開(kāi)發(fā)初期的合同與交付使用時(shí)的驗(yàn)收?qǐng)?bào)告,是供需雙方簽訂的非常重要的文件,對(duì)于解決未來(lái)雙方可能產(chǎn)生的糾紛能起到很好的幫助作用。112 抗干擾設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的可靠性是指在指定的應(yīng)用環(huán)境和條件下,系統(tǒng)穩(wěn)定工作的能力。單片機(jī)應(yīng)用系統(tǒng)由于具有很高的性能價(jià)格比,已逐步深入到各個(gè)領(lǐng)域,對(duì)單片機(jī)系統(tǒng)工作的可靠性也就提出了越來(lái)越高的要求。因?yàn)橄到y(tǒng)一旦出現(xiàn)問(wèn)題,將帶來(lái)一系列損失,產(chǎn)生嚴(yán)重的后果。單片機(jī)應(yīng)用系統(tǒng)的工作環(huán)境(如溫度、濕度、電壓擾動(dòng)、電磁干擾、機(jī)械振動(dòng)等)往往是很惡劣的,在系統(tǒng)開(kāi)發(fā)中,應(yīng)確保不受環(huán)境條件的影響。形成干擾的基本要素有三個(gè):1.干擾源:指產(chǎn)生干擾的元件、設(shè)備或信

25、號(hào),如雷電、繼電器、可控硅、電機(jī)、高頻時(shí)鐘等都可能成為干擾源。2.傳播路徑:指干擾從干擾源傳播到敏感器件的通路或媒介。典型的干擾傳播路徑是通過(guò)空間的輻射、導(dǎo)線的傳導(dǎo)和過(guò)程通道。3.敏感器件:指容易被干擾的對(duì)象,如A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、單片機(jī)、數(shù)字1C、弱信號(hào)放大器等。11.2.1 硬件抗干擾在硬件設(shè)計(jì)中,提高系統(tǒng)可靠性的主要措施有:采用抗干擾措施,提高系統(tǒng)的環(huán)境適應(yīng)能力;把好元件質(zhì)量關(guān),元器件經(jīng)篩選、老化后使用;印制板設(shè)計(jì)應(yīng)充分考慮可靠性等。抑制干擾主要還是要從現(xiàn)場(chǎng)的環(huán)境實(shí)際出發(fā),認(rèn)真分析可能的干擾,一定要深入現(xiàn)場(chǎng)考察與分析,避免閉門(mén)造車(chē),具體情況還要具體分析。1供電系統(tǒng)-穩(wěn)壓電源在供電

26、系統(tǒng)設(shè)計(jì)中,一般的應(yīng)用場(chǎng)合可以采取同時(shí)使用工頻變壓器、全橋、三端穩(wěn)壓的方法,電路如圖114所示。三端穩(wěn)壓器件由3個(gè)引腳組成,分別為:電源輸入、穩(wěn)壓電源輸出和地。三端穩(wěn)壓器件通常要求輸入電壓要比穩(wěn)壓輸出電壓高23V以上,才能確保輸出電壓穩(wěn)定。圖114 變壓、整流、穩(wěn)壓電路1供電系統(tǒng)-穩(wěn)壓電路一般在三端穩(wěn)壓器件輸入、輸出端都要使用一個(gè)001F的高頻瓷片電容和一個(gè)幾百微法或幾千微法的電解電容,使用電解電容時(shí),應(yīng)注意選擇的電容的耐壓值應(yīng)有1倍以上的富余量。采用上述方法電路簡(jiǎn)單、實(shí)用,輸出紋波小,但電源效率比較低,對(duì)浪涌、過(guò)壓、欠壓等抑制效果比較差。目前較廣泛地采用開(kāi)關(guān)電源或電源模塊,如AC-DC模塊、

27、DC-DC模塊等方法。提醒一句,開(kāi)關(guān)電源的紋波系數(shù)比較大,特別精密的場(chǎng)合要注意。當(dāng)系統(tǒng)有多塊線路板組成時(shí),盡量采用每塊線路板獨(dú)自穩(wěn)壓的方法。避免線路板電源間的相互干擾,多板結(jié)構(gòu)獨(dú)自穩(wěn)壓原理如圖115所示。圖115多板結(jié)構(gòu)獨(dú)自穩(wěn)壓原理1供電系統(tǒng)-過(guò)壓欠壓保護(hù)供電系統(tǒng)過(guò)壓、欠壓的抑制方法可以采用穩(wěn)壓器、電源調(diào)節(jié)器。對(duì)停電可以采用UPS(不間斷電源)或用靜態(tài)RAM輔以可充電電池備份重要運(yùn)行參數(shù),也有些系統(tǒng)采用E2PROM保存參數(shù)。 2過(guò)程通道抗干擾-概述由于過(guò)程I/O通道是單片機(jī)與控制對(duì)象聯(lián)系的紐帶,所以避免現(xiàn)場(chǎng)強(qiáng)信號(hào)對(duì)單片機(jī)系統(tǒng)弱信號(hào)的干擾是成功開(kāi)發(fā)單片機(jī)應(yīng)用系統(tǒng)的關(guān)鍵。從干擾的分類(lèi)來(lái)說(shuō),無(wú)外乎串

28、模和共模干擾兩種,解決過(guò)程I/O通道干擾可以從以下幾個(gè)方面著手。2過(guò)程通道抗干擾-方法1隔離:目前很多的應(yīng)用場(chǎng)合均采用光耦實(shí)現(xiàn)電氣隔離。2屏蔽采用屏蔽的方法可以避免空間電磁干擾,注意屏蔽層應(yīng)接地。3“地”的正確處理單片機(jī)應(yīng)用系統(tǒng)的“地線”有很多,應(yīng)仔細(xì)區(qū)分,恰當(dāng)處理。2過(guò)程通道抗干擾-地線(1)數(shù)字地:也稱(chēng)為邏輯地,為邏輯芯片如8031、8155等芯片提供工作電源的零電位。(2)模擬地:A/D、D/A轉(zhuǎn)換模擬部分的地,如參考電壓、模擬輸入等的零電位。(3)功率地:大功率器件的零電位,如大繼電器(電流較大時(shí))、接觸器等的零電位。(4)信號(hào)地:一般常指?jìng)鞲衅鞯牡亍?5)交流地:50Hz交流電源的地

29、線(對(duì)于三相交流電源來(lái)說(shuō)就是中線)。(6)屏蔽地:屏蔽層的接地端。2過(guò)程通道抗干擾-接地正確的接地能有效地保證少受干擾。例如,數(shù)字地和模擬地應(yīng)分開(kāi)走線,可以不共地,共地時(shí),應(yīng)保證兩地線僅在一點(diǎn)處匯合(一點(diǎn)接地),不能形成環(huán)路。交流地和信號(hào)地不能共用。機(jī)殼可接地但不能形成地線環(huán)路。特別注意,不良的接地方法可能使系統(tǒng)僅能在實(shí)驗(yàn)室試驗(yàn)運(yùn)行,一到現(xiàn)場(chǎng)就無(wú)法工作。2過(guò)程通道抗干擾-信號(hào)傳輸在長(zhǎng)距離信號(hào)傳送時(shí),采用雙絞線方式傳送,或者轉(zhuǎn)換成020mA電流傳輸方式,還可以使用屏蔽導(dǎo)線,也可以改變信號(hào)的傳輸方式以避開(kāi)強(qiáng)干擾信號(hào)源等等。具體情況比較復(fù)雜,要根據(jù)情況分別對(duì)待,或者采用采用幾種方法的綜合措施,最終必

30、須達(dá)到使用要求。提示:這一方面的進(jìn)展很快,新技術(shù)、新方法、新器件不斷出現(xiàn),我們要及時(shí)跟蹤最新進(jìn)展,采用先進(jìn)技術(shù),使得我們的單片機(jī)系統(tǒng)性能更好,性價(jià)比更高。3硬件抗干擾幾種常用手段 (1)P監(jiān)控常用TL7705電源監(jiān)視芯片來(lái)監(jiān)測(cè)電壓。TL7705電源監(jiān)視如圖116所示,其中SENSE為電源監(jiān)視端,當(dāng)SENSE上的電壓小于45V時(shí),RESET輸出低電平(產(chǎn)生下降沿),向單片機(jī)申請(qǐng)中斷,在中斷服務(wù)程序中進(jìn)行一些保護(hù)重要數(shù)據(jù)的工作,然后使單片機(jī)進(jìn)入休眠或掉電狀態(tài)。RESET:復(fù)位輸出,低電平有效,OC開(kāi)路,需上拉電阻。RESIN:復(fù)位輸入端,輸入低電平時(shí),強(qiáng)制復(fù)位輸出端。3硬件抗干擾幾種常用手段 (1

31、)P監(jiān)控圖116 TL7705電源監(jiān)視3硬件抗干擾幾種常用手段 (1)P監(jiān)控隨著芯片集成度不斷提高,工程技術(shù)人員往往熱衷于既能提供P監(jiān)控,又能提供其他功能的芯片。如MAXIM公司的MAX807,它將電源監(jiān)視與看門(mén)狗集成到一起,提供定時(shí)、電源切換等多種功能?,F(xiàn)在還有的芯片把監(jiān)控和EEPROM集成在一起,性價(jià)比更高。比如X2504系列芯片。3硬件抗干擾幾種常用手段(2)硬件看門(mén)狗使用硬件看門(mén)狗的主要目的是防止程序執(zhí)行受到干擾,不能按正常的流程執(zhí)行的一種監(jiān)視芯片。所謂“看門(mén)狗”,就是一個(gè)定時(shí)器,定時(shí)時(shí)間到,它就輸出一個(gè)信號(hào),使單片機(jī)復(fù)位。所謂“喂狗”,就是把定時(shí)器的計(jì)數(shù)值清除。只要按時(shí)喂狗,定時(shí)器就

32、不會(huì)到達(dá)定時(shí)時(shí)間,單片機(jī)就不會(huì)復(fù)位。如果程序“跑飛”,或者進(jìn)入死循環(huán),不能按時(shí)喂狗,就會(huì)復(fù)位。使單片機(jī)重新開(kāi)始正常工作。3硬件抗干擾幾種常用手段(2)硬件看門(mén)狗例如,XICOR公司的X2504345就是將看門(mén)狗電路與復(fù)位電路(含手動(dòng)上電復(fù)位)以及4KB的串行EEPROM集成在一起的芯片。X25045典型應(yīng)用如圖117 所示。美國(guó)DALLAS公司生產(chǎn)的“看門(mén)狗(WATCHDOG)”集成電路DS1232具有性能可靠、使用簡(jiǎn)單、價(jià)格低廉的特點(diǎn),應(yīng)用在單片機(jī)產(chǎn)品中能夠很好的提高硬件的抗干擾能力,采用8腳DIP封裝。3硬件抗干擾幾種常用手段(2)硬件看門(mén)狗圖117 X25045典型應(yīng)用 3硬件抗干擾幾種

33、常用手段(3)退(去)耦電容每個(gè)芯片電源進(jìn)線處盡可能接一個(gè)104(01F)或103(001F)的退耦電容(可以用陶瓷電容,目前使用較多的是獨(dú)石電容)。每隔5個(gè)左右芯片安置一個(gè)110F的膽(電解)電容,因?yàn)檫@種電容的高頻阻抗很小,對(duì)噪聲抑制效果很好。3硬件抗干擾幾種常用手段(4)續(xù)流二極管在繼電器線圈兩端增加續(xù)流二極管,消除線圈斷開(kāi)時(shí)產(chǎn)生的反電動(dòng)勢(shì)干擾。僅加續(xù)流二極管會(huì)使繼電器的斷開(kāi)時(shí)間滯后,若再增加穩(wěn)壓二極管,則可改善響應(yīng)速度,消除滯后性。在繼電器觸點(diǎn)兩端應(yīng)并接火花抑制電路,減小電火花影響。3硬件抗干擾幾種常用手段(5)瞬態(tài)電壓抑制器TVS瞬態(tài)電壓抑制器(TransientVoltageSup

34、pressor,簡(jiǎn)稱(chēng)TVS),使用TVS二極管進(jìn)行浪涌保護(hù)比使用壓敏電阻優(yōu)越得多,具有響應(yīng)時(shí)間快,瞬態(tài)功率大,漏電流低,擊穿電壓偏差小,箝位電壓易于控制,有效地保護(hù)電子線路中的精密元器件,免受各種浪涌脈沖對(duì)元器件造成的損壞。1122 軟件抗干擾措施與硬件的抗干擾措施一樣,軟件的抗干擾措施也非常重要,軟件設(shè)計(jì)中,可以通過(guò)增加系統(tǒng)的自檢,重要參數(shù)備份,設(shè)置軟件陷阱,模擬量輸入采用軟件濾波等手段提高系統(tǒng)的可靠性。這里只對(duì)一些常用的方法加以討論。1軟件自檢-開(kāi)機(jī)自檢軟件抗干擾還可以在上電復(fù)位后,調(diào)用自檢子程序,檢測(cè)單片機(jī)內(nèi)部資源和外部擴(kuò)展電路能否正常工作,自檢正常后才進(jìn)一步執(zhí)行其他程序,否則提示故障點(diǎn)

35、。這是檢查硬件的情況,需要硬件的配合,在硬件設(shè)計(jì)的時(shí)候就要考慮到自檢的需要,以確保電路能正常工作。這一部分比較麻煩,請(qǐng)自行參考有關(guān)硬件資料,此不多述。1軟件自檢-數(shù)據(jù)備份由于單片機(jī)內(nèi)部RAM單元存放著重要的標(biāo)志和數(shù)據(jù),一旦受擾引起標(biāo)志數(shù)據(jù)的改變,勢(shì)必造成系統(tǒng)運(yùn)行異常。防止標(biāo)志位受擾可以采用定期檢查標(biāo)志合法性的方法,發(fā)現(xiàn)干擾及時(shí)處理,例如發(fā)現(xiàn)不可能出現(xiàn)的標(biāo)志組合及時(shí)處理。也可以采用標(biāo)志冗余的方法,借助冗余標(biāo)志,進(jìn)行標(biāo)志位異常判定和糾錯(cuò)。防止數(shù)據(jù)受擾可以采用熱備份的方法,適時(shí)比照、判定并糾錯(cuò)。在保護(hù)單片機(jī)內(nèi)部RAM時(shí)經(jīng)常使用雙重備份、表決糾錯(cuò)的方法,將單片機(jī)內(nèi)部RAM單元數(shù)據(jù)作兩個(gè)熱備份,一旦發(fā)現(xiàn)

36、三個(gè)數(shù)不相同就采取表決的方式確定正確的數(shù)據(jù)。2軟件陷阱電磁干擾除了會(huì)對(duì)測(cè)量物理量的結(jié)果產(chǎn)生影響之外,還能直接影響程序的正常運(yùn)行。正常執(zhí)行程序時(shí),CPU按照PC中的數(shù)值(地址)到ROM中去取指令。受到干擾時(shí),一般可能使程序計(jì)數(shù)器PC的數(shù)值改變,或者其輸出的地址信號(hào)受到干擾而改變,到不該去的地址取指令(稱(chēng)為“跑飛”)。為了防止造成災(zāi)難性的后果,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),可以在硬件和軟件方面分別加以考慮。硬件方面前已述及,現(xiàn)在介紹一些軟件方面的方法。對(duì)于MCS-51系列單片機(jī),其程序存儲(chǔ)器的地址空間為64K,通常只使用了部分地址空間存放程序代碼和數(shù)據(jù),可以把64K的地址空間分為“空閑”和“非空閑”ROM。2

37、軟件陷阱(1).空閑的ROM空間對(duì)于空閑的ROM空間,正常操作時(shí)是不會(huì)使用的。但是在強(qiáng)干擾的情況下也可能到空閑的ROM空間去取指令,即“跑飛”。故此應(yīng)該在空閑的ROM空間存入適當(dāng)指令,在程序跑飛到那里時(shí)能夠回到正常區(qū)域或者進(jìn)入錯(cuò)誤處理程序,這種方法稱(chēng)為軟件陷阱??梢蕴钊氲闹噶畲a有以下幾種形式:.填入 00 00 00 00 00 00 這是空操作指令,進(jìn)入此區(qū)域時(shí)不進(jìn)行任何操作,逐步執(zhí)行到FFFFH后,就會(huì)回到0000H,這是復(fù)位入口地址,重新開(kāi)始正常程序。2軟件陷阱(1).空閑的ROM空間.填入 02 00 00 02 00 00 02 00 00 這是無(wú)條件長(zhǎng)轉(zhuǎn)移指令,會(huì)直接轉(zhuǎn)移到 00

38、00H,立即進(jìn)入復(fù)位狀態(tài)。.填入 02 02 02 02 02 02 02 02 02 這是無(wú)條件長(zhǎng)轉(zhuǎn)移指令,當(dāng)從此區(qū)域取指令時(shí),直接轉(zhuǎn)移到0202H。在0202H單元,我們應(yīng)該編寫(xiě)“跑飛”處理程序,或者在此處放置一條轉(zhuǎn)移指令,轉(zhuǎn)移到跑飛處理程序。如果正常程序用到0202H單元,必須在0202H單元之前編寫(xiě)轉(zhuǎn)移指令,越過(guò)0202H即其以后的若干單元,留出作為“非常處理”的程序入口。2軟件陷阱(1).空閑的ROM空間如果程序“跑飛”到?jīng)]有安裝ROM芯片的地址單元,取到的代碼將是FFH,這是指令 MOV R7,A 繼續(xù)執(zhí)行的結(jié)果是,一段時(shí)間后,回到0000H,進(jìn)入復(fù)位程序。2軟件陷阱(2).非空閑

39、的ROM單元對(duì)于非空閑ROM單元,一般已經(jīng)存放了程序代碼和數(shù)據(jù),處理起來(lái)比較困難??梢栽陉P(guān)鍵程序段中加入一些校驗(yàn)的程序段,檢查當(dāng)前的外部環(huán)境狀態(tài),如果不是屬于本段程序處理的范圍,就可能是程序跑飛到這里,應(yīng)該轉(zhuǎn)移到處理跑飛的程序段。2軟件陷阱(2).非空閑的ROM單元另外,由于有些指令是23個(gè)字節(jié),當(dāng)PC內(nèi)數(shù)值跑飛時(shí),也有可能把這種指令的一部分當(dāng)作完整的指令來(lái)執(zhí)行,同理也有可能把數(shù)據(jù)部分當(dāng)作指令代碼來(lái)執(zhí)行,這樣執(zhí)行起來(lái),程序就面目全非了。當(dāng)我們?cè)谌我獾刂穼?duì)機(jī)器代碼進(jìn)行反匯編時(shí),經(jīng)??梢钥吹竭@種不可理解的現(xiàn)象。為了盡量減少這種現(xiàn)象的發(fā)生,可以在指令中間加入一些NOP指令使CPU取幾條指令以后,一般

40、可以納入正軌,按照原來(lái)的指令位置取指令。3、重復(fù)輸出指令一般單片機(jī)的掃描周期為幾個(gè)毫秒,萬(wàn)一某個(gè)輸出指令受到干擾出現(xiàn)錯(cuò)誤動(dòng)作,重復(fù)的輸出指令會(huì)在短時(shí)間內(nèi)糾正這個(gè)錯(cuò)誤,一般的外設(shè)動(dòng)作速度比較慢,可能是錯(cuò)誤的動(dòng)作還沒(méi)有執(zhí)行就被糾正了。這種方法對(duì)于電磁類(lèi)執(zhí)行機(jī)構(gòu)效果很好。注意:使用任何一種抗干擾措施,都要與當(dāng)時(shí)的客觀環(huán)境相適應(yīng),才會(huì)取得理想的結(jié)果,不可生搬硬套。往往需要幾種方法綜合應(yīng)用會(huì)取得互補(bǔ)的作用。113 應(yīng)用舉例本節(jié)以自動(dòng)打鈴器為例,講解MCS51系列單片機(jī)的一個(gè)應(yīng)用項(xiàng)目的設(shè)計(jì)過(guò)程。這只是一個(gè)非常小的應(yīng)用項(xiàng)目,電路比較簡(jiǎn)單,功能比較簡(jiǎn)單,程序規(guī)模也不大,要求也不是很?chē)?yán)格,工作環(huán)境也比較好,所以

41、設(shè)計(jì)起來(lái)也容易。但是,只要你能夠完成這個(gè)簡(jiǎn)單的項(xiàng)目,就算是入門(mén)了,也就可以完成更復(fù)雜的項(xiàng)目。這里給出的只是一個(gè)示例,并不一定是最好的方案,更不是唯一的方案。1131用戶需求分析和總體設(shè)計(jì)大多單位都有比較固定的作息時(shí)間,尤其是學(xué)校,要按時(shí)打鈴,以指揮師生員工上課、下課等統(tǒng)一行動(dòng)?,F(xiàn)在我們可以利用單片機(jī)設(shè)計(jì)自動(dòng)打鈴器,在預(yù)定的時(shí)間打鈴。這項(xiàng)設(shè)計(jì)涉及到單片機(jī)的定時(shí)器、中斷、鍵盤(pán)輸入、LCD數(shù)碼和字符顯示、I2C總線、單總線、開(kāi)關(guān)量輸出等內(nèi)容??紤]實(shí)訓(xùn)時(shí)間和篇幅限制,這里只要求自動(dòng)打鈴。如果覺(jué)得內(nèi)容不夠,還可以增加環(huán)境溫度的測(cè)量、顯示以及語(yǔ)音報(bào)時(shí)等等。1、根據(jù)用戶要求確定設(shè)計(jì)任務(wù)書(shū)根據(jù)實(shí)際情況,(經(jīng)過(guò)

42、用戶認(rèn)可)我們確定的設(shè)計(jì)任務(wù)書(shū)如下:產(chǎn)品名稱(chēng):自動(dòng)打鈴器產(chǎn)品功能:1、每天一次循環(huán),按照作息時(shí)間表自動(dòng)打鈴;2、每次打鈴電鈴響十秒(最好可以修改);3、每天打鈴次數(shù)在32次以內(nèi);4、作息時(shí)間輸入修改要方便;1、根據(jù)用戶要求確定設(shè)計(jì)任務(wù)書(shū)15、實(shí)時(shí)鐘對(duì)表和快慢調(diào)整;6、實(shí)時(shí)顯示時(shí)分秒;7、平時(shí)使用220V交流電,停電時(shí)要有備用電池保持時(shí)間和作息時(shí)間表;8、輸出繼電器控制,最大控制電流5安培(220V交流);9、臨時(shí)打鈴( 手動(dòng))。設(shè)計(jì)周期:2周設(shè)計(jì)費(fèi)用:其 它:2、總體設(shè)計(jì)總體設(shè)計(jì),其中最主要的就是原理設(shè)計(jì)。根據(jù)設(shè)計(jì)任務(wù)書(shū)的要求和現(xiàn)有的技術(shù)條件,在滿足功能、性能等用戶需求的基礎(chǔ)上,初步提出可選技

43、術(shù)路線,并對(duì)各方案進(jìn)行必要的分析,充分聽(tīng)取方方面面的意見(jiàn),選擇一種實(shí)施方案。本項(xiàng)目的實(shí)施方案如下:2、總體設(shè)計(jì)1選用機(jī)型:AT89C51(可以使用簡(jiǎn)化版AT89C2051)。這是美國(guó)ATMEL公司生產(chǎn)的與INTEL公司的MCS51系列全兼容的單片機(jī)產(chǎn)品,指令兼容,引腳兼容,可以直接代換。其優(yōu)點(diǎn)是片內(nèi)程序存儲(chǔ)器是電擦寫(xiě)的,使用方便,耗電少,價(jià)格低。時(shí)間顯示:16位2行的液晶顯示模塊1602,顯示內(nèi)容比較多。并行口連接。鍵盤(pán)輸入:4個(gè)獨(dú)立式按鍵,分別是對(duì)表、定時(shí)、臨時(shí)打鈴和上、下、左、右調(diào)整鍵2、總體設(shè)計(jì)2打鈴輸出:經(jīng)二級(jí)晶體管放大驅(qū)動(dòng)12V直流繼電器,控制220V電源通、斷電鈴。系統(tǒng)擴(kuò)展:不需要

44、擴(kuò)展RAM、ROM、和其它I/O接口,只需要通過(guò)I2C總線擴(kuò)展一片24LC16B,用于保存打鈴時(shí)間,以保證掉電不丟失,免得重新設(shè)置之麻煩。2、總體設(shè)計(jì)3電源部分:220V交流電經(jīng)降壓、整流、濾波、穩(wěn)壓,提供12V和5V兩種直流電源,再加可充電電池作備用電源,停電時(shí)保持時(shí)鐘和作息時(shí)間表。交流供電時(shí)給電池充電?,F(xiàn)在,專(zhuān)用的日歷時(shí)鐘芯片很多,性能也很好,尤其是精度可以很高,省電,使用方便。如果采用這類(lèi)芯片,程序會(huì)減少很多。但是考慮為了更好的熟悉定時(shí)器的使用,我們還是利用單片機(jī)本身的定時(shí)器來(lái)產(chǎn)生時(shí)間。本設(shè)計(jì)的仿真文件:自動(dòng)打鈴器.DSN本設(shè)計(jì)的簡(jiǎn)要功能說(shuō)明:1、開(kāi)機(jī)后自動(dòng)進(jìn)入走時(shí)狀態(tài),打鈴時(shí)間到自動(dòng)接

45、通電鈴電路10秒。2、按K0鍵進(jìn)入對(duì)表狀態(tài),設(shè)置方法: 按向左或向右移動(dòng)光標(biāo) 按增加或減少修改光標(biāo)處數(shù)值 星期的數(shù)值1-7,7代表星期日 星期的英文字符不用修改 5秒鐘不操作自動(dòng)保存修改并返回本設(shè)計(jì)的簡(jiǎn)要功能說(shuō)明1:3、按K1鍵進(jìn)入定時(shí)打鈴時(shí)間設(shè)定狀態(tài):001表示第一個(gè)設(shè)定打鈴時(shí)間,最多可以設(shè)置127個(gè)時(shí)間。后面的是小時(shí)、分和啟用標(biāo)志,啟用標(biāo)志設(shè)為1表示時(shí)間有效,到時(shí)打鈴,啟用標(biāo)志設(shè)為0表示到達(dá)這個(gè)時(shí)間也不打鈴。每次時(shí)間到打鈴10秒,同時(shí)蜂鳴器響。打鈴時(shí)間設(shè)置方法:按向左或向右移動(dòng)光標(biāo),按增加或減少修改光標(biāo)處數(shù)值,啟用標(biāo)志的值大于1也算啟用,5秒鐘不操作自動(dòng)保存修改并返回1132 硬件設(shè)計(jì)1、

46、原理圖設(shè)計(jì)根據(jù)設(shè)計(jì)任務(wù)書(shū)和整體設(shè)計(jì)方案,經(jīng)過(guò)比較和計(jì)算,設(shè)計(jì)原理圖如圖118直到圖11-11所示。單片機(jī)選用AT89C51,DIP40封裝,內(nèi)部有128字節(jié)的隨機(jī)存儲(chǔ)器,有4K字節(jié)的電擦寫(xiě)的程序存儲(chǔ)器,可以反復(fù)擦寫(xiě)1000次。圖118 自動(dòng)打鈴器硬件原理圖(主機(jī)板)圖11-9 打鈴器按鍵圖11-10 打鈴器電源(通用電源模塊)圖11-11 打鈴器繼電器輸出2、原理圖設(shè)計(jì)說(shuō)明(1)電源:(如圖11-10)這是一個(gè)通用電源模塊,以前用在其它單片機(jī)測(cè)控系統(tǒng)中,用在自動(dòng)打鈴器也很合適。自動(dòng)打鈴器消耗電流最大的時(shí)候是打鈴時(shí)間到,12V直流繼電器接通同時(shí)打鈴指示LED亮和訊響器響,電流在100毫安以下(約

47、80毫安),不打鈴的時(shí)候消耗電流只有十幾個(gè)毫安,給蓄電池充電的電流控制在50毫安以下,選擇220V5W電源變壓器容量足夠,輸入220V交流電,輸出12V交流。如果數(shù)碼顯示用LED數(shù)碼管,則電源變壓器容量應(yīng)該選10W左右。2、原理圖設(shè)計(jì)說(shuō)明(1)電源:(如圖11-10)整流濾波之后輸出電壓在13V左右,供給繼電器使用,不需要穩(wěn)壓。后備電源使用6V免維護(hù)鉛酸蓄電池,價(jià)格便宜容量大,可以支持較長(zhǎng)的停電時(shí)間,只是重量大些。為了保護(hù)蓄電池,不使其過(guò)充和過(guò)放,分別加了保護(hù)電路,當(dāng)電池電壓高于7V時(shí)停止充電,當(dāng)電池電壓低于5V時(shí)停止放電。蓄電池的輸出直流電源(57V)經(jīng)三端穩(wěn)壓電路7805后輸出5V經(jīng)二極管

48、降壓后變成4.3V供給單片機(jī),AT89S51的工作電壓在4V-5.5V之間。2、原理圖設(shè)計(jì)說(shuō)明 (2)輸出(如圖11-11)打鈴器的輸出由12V直流繼電器控制。繼電器既起到功率放大的作用也起到強(qiáng)弱電隔離作用。與繼電器線圈并聯(lián)的紅色LED起到打鈴指示作用,與線圈反并聯(lián)的二極管是起續(xù)流作用。P1.1的輸出是低電平有效,可以防止單片機(jī)復(fù)位時(shí)的高電平自動(dòng)響鈴。P1.1的輸出經(jīng)2級(jí)晶體管放大驅(qū)動(dòng)直流繼電器工作。訊響器的工作電壓在35V,電流10mA左右,通電就響。AT89C51的并行口可以直接驅(qū)動(dòng),低電平有效。它的作用也是打鈴指示,同時(shí)它可以在停電的時(shí)候也工作,提醒時(shí)間到。這就使得這個(gè)自動(dòng)打鈴器在不接電

49、鈴的時(shí)候成為鬧鐘。2、原理圖設(shè)計(jì)說(shuō)明 (3)按鈕(如圖11-9)從圖上看總共有5個(gè)按鈕,一個(gè)是復(fù)位按鈕,手動(dòng)復(fù)位用;其余4個(gè)各占用一位I/O口線,屬于獨(dú)立式鍵盤(pán),按下是低電平,接在P0.0P0.3上,其作用見(jiàn)圖11-9中標(biāo)注。2、原理圖設(shè)計(jì)說(shuō)明 (4)接插件由于電源、按鍵、LCD顯示器等部分不在一塊電路板上,他們之間通過(guò)對(duì)應(yīng)的接插件相連。需要使用具有定位結(jié)構(gòu)的接插件,以免插錯(cuò)。2、原理圖設(shè)計(jì)說(shuō)明 (5)顯示本設(shè)計(jì)采用LCD顯示模塊FM1602。這是一種常見(jiàn)的字符型LCD顯示模塊,可以顯示2行,每行16個(gè)字符。具體使用方法請(qǐng)參見(jiàn)第九章人機(jī)接口LCD顯示部分。打鈴器工作于室內(nèi),環(huán)境也比較好,沒(méi)有強(qiáng)

50、烈的干擾,看門(mén)狗電路就省略了。、PCB板圖設(shè)計(jì)說(shuō)明在原理圖中選中了元件的封裝,產(chǎn)生了網(wǎng)絡(luò)表,就可以直接轉(zhuǎn)到PCB板設(shè)計(jì)。設(shè)計(jì)中考慮了PCB板的設(shè)計(jì)原則和注意事項(xiàng):比如地線,輸入輸出,線寬等。此外還要考慮安裝、維修的方便等。初步設(shè)計(jì)采用雙面板布線,布線之后的板圖如圖11-12所示,圖中所示是正面能看到的圖線,背面的走線沒(méi)有顯示。這只是初步設(shè)計(jì),還有一些需要根據(jù)實(shí)際安裝的情況來(lái)調(diào)整。Proteus軟件提供了3D預(yù)覽功能,見(jiàn)圖11-13所示。圖1112 布線之后的PCB板圖(主機(jī)板,焊接面的走線沒(méi)有顯示)圖11-13 3D預(yù)覽圖(主機(jī)板) 、PCB板圖設(shè)計(jì)說(shuō)明電路板上的一些文字和符號(hào),說(shuō)明元件的性質(zhì)

51、,數(shù)值等。PCB板3D預(yù)覽圖上的漢字在這里顯示成一串 “?”。按鍵電路和電源電路板單獨(dú)設(shè)計(jì),液晶顯示器要安裝在前面板上,它們與主機(jī)板的連接通過(guò)接插件和電線相連,安裝位置要符合用戶的要求,這里沒(méi)有給出板圖,主機(jī)板上只給出了接頭。1133 軟件設(shè)計(jì)軟件設(shè)計(jì)是個(gè)需要耐心和細(xì)致的工作,也是能體現(xiàn)工作成果的工作。我們的軟件采用MCS-51的匯編語(yǔ)言編寫(xiě),這對(duì)我們來(lái)說(shuō)是個(gè)鍛煉。C51有編寫(xiě)方便的優(yōu)點(diǎn),但是代碼較大,需要較多的程序存儲(chǔ)器,執(zhí)行速度慢。同時(shí),C51也需要有匯編語(yǔ)言的基礎(chǔ)才行。1、整體功能描述和主程序設(shè)計(jì)軟件的整體功能就是要在硬件的配合下完成項(xiàng)目的整體功能,還要界面友好,方便實(shí)用。自動(dòng)打鈴器的主

52、要功能是在規(guī)定的時(shí)間接通電鈴電路,讓電鈴響起來(lái)。這個(gè)功能實(shí)現(xiàn)起來(lái)比較容易。為了使用方便,還需要:隨時(shí)顯示當(dāng)前時(shí)間,方便的對(duì)表功能,方便的輸入和修改定時(shí)打鈴的時(shí)間,如有特殊情況可以手動(dòng)臨時(shí)打鈴。還有環(huán)境溫度的測(cè)量和顯示。還要符合人們的習(xí)慣,有適當(dāng)?shù)奶崾拘畔⒌鹊取?、整體功能描述和主程序設(shè)計(jì)1一般程序設(shè)計(jì)大都把整體功能分解為一些子功能,每個(gè)子功能用一個(gè)或者幾個(gè)子程序來(lái)實(shí)現(xiàn),然后在主程序中根據(jù)需要來(lái)調(diào)用子程序,也有些功能通過(guò)中斷來(lái)實(shí)現(xiàn)。我們的程序也是按照這個(gè)思路來(lái)編寫(xiě)。1、整體功能描述和主程序設(shè)計(jì)2所有程序清單略??梢詤⒖垂獗P(pán)文件:軟件設(shè)計(jì).DOC。還可以參看光盤(pán)文件:自動(dòng)打鈴器.DSN。那里有全部

53、的程序清單,注釋很詳細(xì)。1、整體功能描述和主程序設(shè)計(jì)(一)I/O接口和內(nèi)存分配軟件是要與硬件配合工作的,硬件設(shè)計(jì)時(shí)接線已經(jīng)確定,數(shù)據(jù)的輸入輸出接口地址也已經(jīng)確定,這些是軟件工作的基礎(chǔ)。同時(shí)我們也把內(nèi)存的分配一并考慮。這部分內(nèi)容是利用偽指令定義一些I/O接口、內(nèi)存單元,以便合理使用。1、整體功能描述和主程序設(shè)計(jì)(二)主程序設(shè)計(jì)主程序的主要功能是:初始化;檢查按鍵,并調(diào)用功能子程序;根據(jù)情況調(diào)用顯示子程序、測(cè)溫子程序、比較判斷打鈴時(shí)間等子程序,并根據(jù)結(jié)果控制繼電器的動(dòng)作;控制臨時(shí)打鈴。主程序框圖如圖1114所示 主程序框圖如圖11142、中斷服務(wù)程序設(shè)計(jì)根據(jù)自動(dòng)打鈴器功能需要,本設(shè)計(jì)只使用了定時(shí)器

54、0的中斷。定時(shí)器0中斷服務(wù)程序 ,T0方式1,初值15536,每100毫秒中斷一次,高優(yōu)先級(jí)。定時(shí)器0中斷的功能是實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘。如果使用專(zhuān)用的實(shí)時(shí)時(shí)鐘芯片,程序會(huì)更簡(jiǎn)單。為了熟悉定時(shí)器的使用,沒(méi)有使用專(zhuān)用的時(shí)鐘芯片。2、中斷服務(wù)程序設(shè)計(jì)1這個(gè)程序不太復(fù)雜,執(zhí)行時(shí)間也不長(zhǎng),設(shè)成高優(yōu)先級(jí),也不會(huì)被其它中斷所打斷,一氣呵成,保證時(shí)間變化及時(shí)完成。本來(lái)只要計(jì)算到24小時(shí)就可以,考慮使用方便,增加了月日星期的計(jì)算。如果需要,還可以設(shè)計(jì)農(nóng)歷的顯示,這里從略。還有為了顯示的方便,每秒鐘設(shè)置一個(gè)顯示標(biāo)志DSP(20H.1),由主控程序識(shí)別并調(diào)用顯示子程序,同時(shí)清除此標(biāo)志。程序的其它功能和技巧在前面章節(jié)講過(guò),不

55、再重復(fù)。程序清單:(略??梢詤⒖垂獗P(pán)文件:軟件設(shè)計(jì).DOC。還可以參看光盤(pán)文件:自動(dòng)打鈴器.DSN。那里有全部的程序清單。)3、子程序主程序通過(guò)調(diào)用子程序來(lái)實(shí)現(xiàn)各種功能,這里的子程序主要有顯示、對(duì)表、打鈴時(shí)間設(shè)定、測(cè)溫等,這里用到的子程序,多數(shù)都在前面的章節(jié)里講過(guò),有的進(jìn)行了少量的修改,但是基本思路是一樣的,為了節(jié)約篇幅,所以都沒(méi)有給出程序框圖。3、子程序(1)顯示子程序這個(gè)子程序的作用是,將顯示緩沖區(qū)中的ASCII碼,發(fā)送到LCD顯示模塊1602,使其顯示出相應(yīng)的字符。這里還用到了許多輔助子程序。關(guān)于LCD顯示模塊的內(nèi)容請(qǐng)參閱第九章9.2.2節(jié),所講述的內(nèi)容就是我們?cè)谶@個(gè)設(shè)計(jì)中的使用的程序。

56、3、子程序(2)測(cè)溫子程序我們使用DS18B20來(lái)測(cè)量溫度,關(guān)于它的使用方法和程序,請(qǐng)參閱第十章10.3.3節(jié),所講述的內(nèi)容就是來(lái)自于我們?cè)谶@個(gè)設(shè)計(jì)中的使用的程序。3、子程序(2)測(cè)溫子程序從DS18B20中讀出來(lái)的數(shù)據(jù)存放在TEMPER_L(低字節(jié))和TEMPER_H(高字節(jié))兩個(gè)字節(jié)中,低字節(jié)中的高4位和高字節(jié)的8位(共12位)是溫度數(shù)據(jù)的整數(shù)部分,低字節(jié)中的低4位是小數(shù)部分,二進(jìn)制數(shù)補(bǔ)碼(參見(jiàn)第十章的讀溫度子程序READ_1820和圖10-24)。我們先用子程序TEMPER_COV把它們轉(zhuǎn)換成便于顯示和識(shí)別的形式,然后被另一個(gè)子程序轉(zhuǎn)換成便于LCD顯示的ASCII碼送到顯示緩沖區(qū)(參見(jiàn):

57、填充LCD顯示屏映像區(qū) (顯示緩沖區(qū))子程序FILLLCD)。3、子程序(3)對(duì)表子程序?qū)Ρ碜映绦虻墓δ芫褪菍⒆詣?dòng)打鈴器的實(shí)時(shí)時(shí)鐘調(diào)整到與當(dāng)?shù)貥?biāo)準(zhǔn)時(shí)間一致。由主控程序調(diào)用。當(dāng)用戶按動(dòng)對(duì)表按鍵(K0),主控程序會(huì)檢測(cè)到并消除抖動(dòng),蜂鳴器響,然后等待按鍵釋放,調(diào)用對(duì)表子程序。3、子程序(3)對(duì)表子程序進(jìn)入對(duì)表子程序后,首先顯示當(dāng)前的機(jī)器時(shí)間,并且有閃動(dòng)的光標(biāo)(默認(rèn)是在年份閃動(dòng)),如果要修改這個(gè)數(shù)字,直接按增加或減少鍵,直到出現(xiàn)你希望的數(shù)字即可;如果你要修改的數(shù)字現(xiàn)在沒(méi)有閃動(dòng),可以按向左或向右鍵,使下一個(gè)數(shù)字閃動(dòng),然后開(kāi)始修改,直到年月日星期時(shí)分秒都修改好,等待5秒,就可以自動(dòng)保存修改并退出對(duì)表功能

58、,回到正常顯示。如果在對(duì)表過(guò)程中停止按鍵,5秒后也是自動(dòng)保存并返回。這時(shí)候你可以再次按對(duì)表鍵繼續(xù)對(duì)表。在對(duì)表期間,除了定時(shí)器中斷可以正常發(fā)生,不執(zhí)行主程序的其它功能。3、子程序(3)對(duì)表子程序?qū)Ρ磉^(guò)程中修改的時(shí)間數(shù)據(jù),是顯示緩沖區(qū)中的數(shù)據(jù),是ASCII碼,所以還要將這里的數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制,送回時(shí)間計(jì)數(shù)單元。所以這里有2個(gè)子程序,D2T和HEBING分別完成轉(zhuǎn)換和回送功能。其余的子程序與顯示有關(guān),這里不再重復(fù)。順便說(shuō)一句,往往一個(gè)項(xiàng)目中最麻煩的地方就在人機(jī)接口這部分。對(duì)表程序流程圖如圖11-15所示圖11-15 對(duì)表程序流程圖3、子程序(4)打鈴時(shí)間設(shè)定子程序自動(dòng)打鈴器就是事先設(shè)置好打鈴時(shí)間,等

59、到了設(shè)定的打鈴時(shí)間就自動(dòng)接通電鈴,每次響10秒。這個(gè)子程序就是用來(lái)設(shè)定打鈴時(shí)間。設(shè)定的打鈴時(shí)間存儲(chǔ)在串行接口的EEPROM 24LC16中,可以保證斷電不丟。3、子程序(4)打鈴時(shí)間設(shè)定子程序在正常走時(shí)情況下,按 “向下減少 定時(shí)設(shè)定” 鍵(K1),進(jìn)入設(shè)定功能。主程序檢測(cè)到K1鍵按下,延時(shí)10毫秒以消除抖動(dòng)并使蜂鳴器響,然后等待按鍵釋放,進(jìn)入定時(shí)打鈴設(shè)定子程序。LCD屏幕第一行顯示:Jow time seting(打鈴時(shí)間設(shè)置),第二行顯示:001 00:00 0(序號(hào) 小時(shí):分鐘 啟用標(biāo)志)。3、子程序(4)打鈴時(shí)間設(shè)定子程序序號(hào) 也是存儲(chǔ)的順序號(hào),最多可以存儲(chǔ)127個(gè)記錄,最先設(shè)定的時(shí)間

60、序號(hào)是001。小時(shí):分鐘 就是需要打鈴的時(shí)間,只能精確到分鐘,不能到秒,24小時(shí)制。啟用標(biāo)志 這里設(shè)置為1到這個(gè)時(shí)間就打鈴,設(shè)為0到這個(gè)時(shí)間也不打鈴。設(shè)定程序執(zhí)行期間,T0中斷繼續(xù)允許,其他功能暫停。3、子程序(4)打鈴時(shí)間設(shè)定子程序設(shè)置程序中用到了幾個(gè)子程序,和顯示有關(guān)的請(qǐng)參看第九章,和串行EEPROM有關(guān)的請(qǐng)參看第八章,數(shù)制轉(zhuǎn)換請(qǐng)參看第四章,其余的都很簡(jiǎn)單。這個(gè)程序用到了串行EEPROM 24LC16B的寫(xiě)入子程序,可以參看第八章有關(guān)內(nèi)容。3、子程序(4)打鈴時(shí)間設(shè)定子程序使用方法:進(jìn)入設(shè)定后,按向左、向右鍵移動(dòng)光標(biāo),按增加、減少鍵修改數(shù)值。5秒鐘無(wú)操作,自動(dòng)記錄設(shè)定值并返回正常走時(shí)狀態(tài)。

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論