版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章應(yīng)用系統(tǒng)的設(shè)計(jì)8.1.1單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程通常開(kāi)發(fā)一個(gè)單片機(jī)應(yīng)用系統(tǒng)需經(jīng)過(guò)以下幾個(gè)過(guò)程: ·系統(tǒng)需求調(diào)查; ·可行性分析; ·系統(tǒng)方案設(shè)計(jì); ·系統(tǒng)建造; ·系統(tǒng)調(diào)試; ·生成正式產(chǎn)品。8.1單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)21、系統(tǒng)需求調(diào)查做好詳細(xì)的系統(tǒng)需求調(diào)查是對(duì)研制新系統(tǒng)準(zhǔn)確定位的關(guān)鍵。當(dāng)你建造一個(gè)新的單片機(jī)應(yīng)用系統(tǒng)時(shí),(1)首先要調(diào)查市場(chǎng)或用戶(hù)的需求,了解用戶(hù)對(duì)未來(lái)新系統(tǒng)的希望和要求,通過(guò)對(duì)各種需求信息進(jìn)行分析綜合,得出市場(chǎng)或用戶(hù)是否需要新系統(tǒng)的結(jié)論。3(2)其次,應(yīng)對(duì)國(guó)內(nèi)外同類(lèi)系統(tǒng)的狀況進(jìn)行調(diào)查。調(diào)查的主要內(nèi)容包括:①原有系統(tǒng)的結(jié)構(gòu)、功能以及存在的問(wèn)題;②國(guó)內(nèi)外同類(lèi)系統(tǒng)的最新發(fā)展情況以及與新系統(tǒng)有關(guān)的各種技術(shù)資料;③同行業(yè)中哪些用戶(hù)已經(jīng)采用了新的系統(tǒng),它們的結(jié)構(gòu)、功能、使用情況以及所產(chǎn)生的經(jīng)濟(jì)效益。經(jīng)過(guò)需求調(diào)查,整理出需求報(bào)告,作為系統(tǒng)可行性分析的主要依據(jù)。顯然,需求報(bào)告的準(zhǔn)確性將左右可行性分析的結(jié)果。42、可行性分析可行性分析將對(duì)新系統(tǒng)開(kāi)發(fā)研制的必要性及可實(shí)現(xiàn)性給出明確的結(jié)論,根據(jù)這一結(jié)論決定系統(tǒng)的開(kāi)發(fā)研制工作是否進(jìn)行下去??尚行苑治鐾ǔ囊韵聨讉€(gè)方面進(jìn)行論證:①市場(chǎng)或用戶(hù)需求;②經(jīng)濟(jì)效益和社會(huì)效益;③技術(shù)支持與開(kāi)發(fā)環(huán)境;④現(xiàn)在的競(jìng)爭(zhēng)力與未來(lái)的生命力。53、系統(tǒng)方案設(shè)計(jì)系統(tǒng)方案設(shè)計(jì)是系統(tǒng)實(shí)現(xiàn)的基礎(chǔ),這項(xiàng)工作要十分仔細(xì),考慮周全。方案設(shè)計(jì)的主要依據(jù)是市場(chǎng)或用戶(hù)的需求、應(yīng)用環(huán)境狀況、關(guān)鍵技術(shù)支持、同類(lèi)系統(tǒng)經(jīng)驗(yàn)借鑒及開(kāi)發(fā)人員設(shè)計(jì)經(jīng)驗(yàn)等。主要內(nèi)容包括:①系統(tǒng)結(jié)構(gòu)設(shè)計(jì);②系統(tǒng)功能設(shè)計(jì);③系統(tǒng)實(shí)現(xiàn)方法。64、系統(tǒng)構(gòu)建這一階段的工作是將前面產(chǎn)生的系統(tǒng)方案付諸實(shí)施,將硬件框圖轉(zhuǎn)化為具體電路,軟件流程用程序加以實(shí)現(xiàn)。設(shè)計(jì)硬件電路時(shí),單片機(jī)的選用對(duì)電路結(jié)構(gòu)及復(fù)雜度有較大影響。一個(gè)合適的單片機(jī)將會(huì)最大限度地降低其外圍連接電路,從而簡(jiǎn)化整個(gè)系統(tǒng)的硬件。75、系統(tǒng)調(diào)試系統(tǒng)調(diào)試檢驗(yàn)所設(shè)計(jì)系統(tǒng)的正確與可靠,從中發(fā)現(xiàn)組裝問(wèn)題或設(shè)計(jì)錯(cuò)誤。這里所指的設(shè)計(jì)錯(cuò)誤,是指設(shè)計(jì)過(guò)程中所出現(xiàn)的小錯(cuò)誤或局部錯(cuò)誤,決不允許出現(xiàn)重大錯(cuò)誤。86、系統(tǒng)方案局部修改、再調(diào)試對(duì)于系統(tǒng)調(diào)試中發(fā)現(xiàn)的問(wèn)題或錯(cuò)誤以及出現(xiàn)的不可靠因素要提出有效的解決方法,然后對(duì)原方案做局部修改,再進(jìn)入調(diào)試。97、生成正式系統(tǒng)(或產(chǎn)品)作為正式系統(tǒng)(或產(chǎn)品),不僅要提供一個(gè)能正確可靠運(yùn)行的系統(tǒng)(或產(chǎn)品),而且還應(yīng)提供關(guān)于該系統(tǒng)(或產(chǎn)品)的全部文檔。這些文檔包括系統(tǒng)設(shè)計(jì)方案、硬件電原理圖、軟件程序清單、軟/硬件功能說(shuō)明、軟/硬件裝配說(shuō)明書(shū)、系統(tǒng)操作手冊(cè)等。在開(kāi)發(fā)產(chǎn)品時(shí),還要考慮到產(chǎn)品的外觀設(shè)計(jì)、包裝、運(yùn)輸、促銷(xiāo)、售后服務(wù)等商品化問(wèn)題。10
8.1.2單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的
基本原則與方法
一、單片機(jī)應(yīng)用系統(tǒng)的基本設(shè)計(jì)原則單片機(jī)應(yīng)用系統(tǒng)的基本設(shè)計(jì)原則是: ①可靠性高; ②性能價(jià)格比高; ③操作簡(jiǎn)便; ④設(shè)計(jì)周期短。111、可靠性高高可靠性是系統(tǒng)應(yīng)用的前提,在系統(tǒng)設(shè)計(jì)的每一個(gè)環(huán)節(jié),都應(yīng)該將可靠性作為首要的設(shè)計(jì)準(zhǔn)則。通常,高可靠性可從以下5個(gè)方面進(jìn)行考慮:(1)使用可靠性高的元器件;(2)嚴(yán)格安裝硬件設(shè)備及電路; (下一頁(yè))12
(3)采取必要的抗干擾措施,以防止環(huán)境干擾(如空間電磁輻射、強(qiáng)電設(shè)備啟停、酸堿環(huán)境腐蝕等)、信號(hào)串?dāng)_、電源或地線干擾等影響系統(tǒng)的可靠性;(4)請(qǐng)專(zhuān)家和有經(jīng)驗(yàn)的設(shè)計(jì)人員對(duì)系統(tǒng)的設(shè)計(jì)方案嚴(yán)格把關(guān);(5)作必要的冗余設(shè)計(jì)或增加自診斷功能。132、性能價(jià)格比高:?jiǎn)纹瑱C(jī)除體積小、功耗低等特點(diǎn)外,最大的優(yōu)勢(shì)在于高性能價(jià)格比。3、操作簡(jiǎn)便:如果所設(shè)計(jì)的產(chǎn)品人機(jī)交互過(guò)多,必然會(huì)給用戶(hù)操作帶來(lái)一定困難,也不利于最大限度地降低勞動(dòng)強(qiáng)度。4、設(shè)計(jì)周期短:只有縮短設(shè)計(jì)周期,才能有效地降低設(shè)計(jì)費(fèi)用,充分發(fā)揮新系統(tǒng)的技術(shù)優(yōu)勢(shì),及早占領(lǐng)市場(chǎng)并具有一定的競(jìng)爭(zhēng)力。14二、單片機(jī)應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法在進(jìn)行單片機(jī)應(yīng)用系統(tǒng)方案設(shè)計(jì)時(shí),可以下述一般設(shè)計(jì)方法作為指導(dǎo)。1、確定系統(tǒng)功能與性能由需求調(diào)查可以確定出單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)目標(biāo),這一目標(biāo)包括系統(tǒng)功能與性能。系統(tǒng)功能主要有數(shù)據(jù)采集、數(shù)據(jù)處理、輸出控制等。152、確定系統(tǒng)基本結(jié)構(gòu)單片機(jī)應(yīng)用系統(tǒng)結(jié)構(gòu)一般是以單片機(jī)為核心外部擴(kuò)展相關(guān)電路的形式。確定了系統(tǒng)中的單片機(jī)、存儲(chǔ)器分配及輸入/輸出方式就可大體確定出單片機(jī)應(yīng)用系統(tǒng)的基本組成。1)單片機(jī)在系統(tǒng)詳細(xì)方案設(shè)計(jì)時(shí),先要確定單片機(jī)的型號(hào)。所選單片機(jī)的型號(hào)不同,組成的系統(tǒng)結(jié)構(gòu)也就不同。16選擇單片機(jī)的原則是:·有供貨渠道;·最適宜實(shí)現(xiàn)系統(tǒng)的功能與性能;·有開(kāi)發(fā)手段。以下列出較有影響的單片機(jī)型號(hào)及廠家,供選型參考。·8位機(jī)和16位機(jī)17·8位機(jī)MCS-51系列Intel(美國(guó)英特爾公司)SUPER8,Z8系列Zilog(美國(guó))F8,3870系列Fairchild(美國(guó)仙童公司)68HC05,68HC11系列Motorola(美國(guó)摩托羅拉公司)6500/1系列Rockwell(美國(guó)洛克威爾公司)TMS700系列TI(美國(guó)得克薩斯儀器公司)18NS8070系列NS(美國(guó)國(guó)家半導(dǎo)體公司)CDP1800系列RCA(美國(guó)無(wú)線電公司)MN6800系列National(日本松下公司)μCOM87(μPD7800)系列NEC(日本電氣公司)HD6301,HD6305,HD63L05Hitachi(日本日立公司)AT89C系列ATMEL公司19·16位機(jī)8096(8098)系列Intel(美國(guó)英特爾公司)MK68200系列Mostek(美國(guó)莫斯特公司)TMS-9900系列TI公司HPC1604系列NS公司μPD78300系列NEC公司202)存儲(chǔ)器分配不同的單片機(jī)具有不同的存儲(chǔ)器組織。MCS-51單片機(jī)的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器空間相互獨(dú)立,工作寄存器與內(nèi)部數(shù)據(jù)存儲(chǔ)器共用一個(gè)存儲(chǔ)空間,I/O端口則與外部數(shù)據(jù)存儲(chǔ)器共用一個(gè)存儲(chǔ)空間。213)I/O方式采用不同的輸入/輸出方式,對(duì)于單片機(jī)應(yīng)用系統(tǒng)的軟、硬件結(jié)構(gòu)有直接的影響。在單片機(jī)應(yīng)用系統(tǒng)中,常用的I/O方式主要有:·無(wú)條件傳送方式(同步傳送方式);·查詢(xún)方式;·中斷方式。223、硬件設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的硬件設(shè)計(jì)是圍繞著單片機(jī)做外部功能擴(kuò)展而展開(kāi)的,其結(jié)構(gòu)如圖所示,它主要涉及以下擴(kuò)展部分的設(shè)計(jì)。1)程序存儲(chǔ)器 2)數(shù)據(jù)存儲(chǔ)器 3)I/O接口 4)譯碼電路 5)總線驅(qū)動(dòng)器 6)抗干擾電路23單片機(jī)應(yīng)用系統(tǒng)硬件的一般結(jié)構(gòu)241)程序存儲(chǔ)器若單片機(jī)內(nèi)無(wú)片內(nèi)程序存儲(chǔ)器或存儲(chǔ)容量不夠時(shí),需外部擴(kuò)展程序存儲(chǔ)器。外部擴(kuò)展的存儲(chǔ)器通常選用EPROM或E2PROM。EPROM集成度高、價(jià)格便宜,E2PROM則編程容易。當(dāng)程序量較小時(shí),使用E2PROM較方便;當(dāng)程序量較大時(shí),采用EPROM更經(jīng)濟(jì)。252)數(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ǔ)容量滿(mǎn)足的前提下,盡可能減少存儲(chǔ)芯片的數(shù)量。建議使用大容量的存儲(chǔ)芯片以減少存儲(chǔ)器芯片數(shù)目,但應(yīng)避免盲目地?cái)U(kuò)大存儲(chǔ)容量。263)I/O接口由于外設(shè)多種多樣,使得單片機(jī)與外設(shè)之間的接口電路也各不相同。因此,I/O接口常常是單片機(jī)應(yīng)用系統(tǒng)中設(shè)計(jì)最復(fù)雜也是最困難的部分之一。274)譯碼電路當(dāng)需要外部擴(kuò)展電路時(shí),就需要設(shè)計(jì)譯碼電路。譯碼電路要盡可能簡(jiǎn)單,這就要求存儲(chǔ)器空間分配合理,譯碼方式選擇得當(dāng)。5)總線驅(qū)動(dòng)器如果單片機(jī)外部擴(kuò)展的器件較多,負(fù)載過(guò)重,就要考慮設(shè)計(jì)總線驅(qū)動(dòng)器。286)抗干擾電路針對(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左右)與1個(gè)小電容(01μf左右),在系統(tǒng)內(nèi)部各芯片的電源端對(duì)地跨接1個(gè)小電容(001μf~0.1μf)。294、軟件設(shè)計(jì)軟件是單片機(jī)應(yīng)用系統(tǒng)中的一個(gè)重要組成部分。一般計(jì)算機(jī)應(yīng)用系統(tǒng)的軟件包括系統(tǒng)軟件和用戶(hù)軟件,而單片機(jī)應(yīng)用系統(tǒng)中的軟件只有用戶(hù)軟件,即應(yīng)用系統(tǒng)軟件。軟件設(shè)計(jì)的關(guān)鍵是確定軟件應(yīng)完成的任務(wù)及選擇相應(yīng)的軟件結(jié)構(gòu)。301)任務(wù)確定根據(jù)系統(tǒng)軟、硬件的功能分工,確定出軟件應(yīng)完成什么功能。作為實(shí)現(xiàn)控制功能的軟件應(yīng)明確控制對(duì)象、控制信號(hào)及控制時(shí)序;作為實(shí)現(xiàn)處理功能的軟件應(yīng)明確輸入是什么、要做什么樣的處理(即處理算法)、產(chǎn)生何種輸出。312)軟件結(jié)構(gòu)設(shè)計(jì)軟件結(jié)構(gòu)設(shè)計(jì)與程序設(shè)計(jì)技術(shù)密切相關(guān)。程序設(shè)計(jì)技術(shù)則提供了程序設(shè)計(jì)的基本方法。在單片機(jī)應(yīng)用系統(tǒng)中,最常用的程序設(shè)計(jì)方法是模塊程序設(shè)計(jì)。模塊程序設(shè)計(jì)具有結(jié)構(gòu)清晰、功能明確、設(shè)計(jì)簡(jiǎn)便、程序模塊可共享、便于功能擴(kuò)展及便于程序維護(hù)等特點(diǎn)。為了編制模塊程序,先要將軟件功能劃分為若干子功能模塊,然后確定出各模塊的輸入、輸出及相互間的聯(lián)系。32單片機(jī)應(yīng)用系統(tǒng)軟件的一般結(jié)構(gòu)338.1.3單片機(jī)應(yīng)用系統(tǒng)的一般結(jié)構(gòu)1、單機(jī)結(jié)構(gòu)單機(jī)結(jié)構(gòu)是指在單片機(jī)應(yīng)用系統(tǒng)中只有1個(gè)單片機(jī)。這種結(jié)構(gòu)是目前單片機(jī)應(yīng)用系統(tǒng)采用最多的一種結(jié)構(gòu),它適用于小規(guī)模的單片機(jī)應(yīng)用系統(tǒng)。34典型的單機(jī)結(jié)構(gòu)框圖見(jiàn)前面二個(gè)圖。前面所敘述的單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)方法是針對(duì)單機(jī)結(jié)構(gòu)而言的。單機(jī)結(jié)構(gòu)的優(yōu)點(diǎn)是設(shè)計(jì)簡(jiǎn)單、系統(tǒng)緊湊,對(duì)于小規(guī)模應(yīng)用系統(tǒng)具有最佳的性能/價(jià)格比。但在大規(guī)模應(yīng)用系統(tǒng)中,由于單機(jī)結(jié)構(gòu)難以實(shí)現(xiàn)多任務(wù)處理及高速度運(yùn)行,因而無(wú)法滿(mǎn)足系統(tǒng)功能與性能的要求。352、多機(jī)結(jié)構(gòu)多機(jī)結(jié)構(gòu)是指在單片機(jī)應(yīng)用系統(tǒng)中有多個(gè)單片機(jī)同時(shí)工作。這種結(jié)構(gòu)是面向大規(guī)模單片機(jī)應(yīng)用系統(tǒng)的。由于拓?fù)浣Y(jié)構(gòu)不同,多機(jī)結(jié)構(gòu)又分為多級(jí)多機(jī)分散控制結(jié)構(gòu)與局部網(wǎng)絡(luò)結(jié)構(gòu),其中多級(jí)多機(jī)分散控制結(jié)構(gòu)在目前應(yīng)用較為廣泛。多級(jí)多機(jī)分散控制結(jié)構(gòu)的典型代表是兩級(jí)多機(jī)分散控制系統(tǒng)。拓?fù)浣Y(jié)構(gòu)如下圖所示。36兩級(jí)多機(jī)分散控制系統(tǒng)結(jié)構(gòu)37多端口共享存儲(chǔ)器互連結(jié)構(gòu)38多端口存儲(chǔ)器互連結(jié)構(gòu)如前圖所示。主機(jī)系統(tǒng)與單片機(jī)系統(tǒng)都可以對(duì)共享存儲(chǔ)器進(jìn)行讀寫(xiě)操作,這樣,主機(jī)系統(tǒng)的信息與單片機(jī)系統(tǒng)的信息可以通過(guò)共享存儲(chǔ)器加以交換,實(shí)現(xiàn)其通信目的。為了防止數(shù)據(jù)沖突,對(duì)共享存儲(chǔ)器應(yīng)作如下處理:(1)給共享存儲(chǔ)器每個(gè)端口規(guī)定不同的優(yōu)先級(jí),防止數(shù)據(jù)競(jìng)爭(zhēng)。39(2)對(duì)共享存儲(chǔ)器進(jìn)行分區(qū),使得每個(gè)單片機(jī)系統(tǒng)與主機(jī)系統(tǒng)間交換的數(shù)據(jù)僅在它們擁有的固定存儲(chǔ)區(qū)上存儲(chǔ),防止數(shù)據(jù)串?dāng)_。多端口存儲(chǔ)器結(jié)構(gòu)的優(yōu)點(diǎn)是可以大大加快系統(tǒng)間的通信速度,不足之處是多于兩個(gè)端口的存儲(chǔ)器芯片目前尚屬少見(jiàn),這給設(shè)計(jì)帶來(lái)了一定的難度。408.4單片機(jī)應(yīng)用系統(tǒng)的調(diào)試單片機(jī)應(yīng)用系統(tǒng)調(diào)試是系統(tǒng)開(kāi)發(fā)的重要環(huán)節(jié)。當(dāng)完成了單片機(jī)應(yīng)用系統(tǒng)的硬件、軟件設(shè)計(jì)和硬件組裝后,便可進(jìn)入單片機(jī)應(yīng)用系統(tǒng)調(diào)試階段。系統(tǒng)調(diào)試的目的是要查出用戶(hù)系統(tǒng)中硬件設(shè)計(jì)與軟件設(shè)計(jì)中存在的錯(cuò)誤及可能出現(xiàn)的不協(xié)調(diào)問(wèn)題,以便修改設(shè)計(jì),最終使用戶(hù)系統(tǒng)能正確可靠地工作。41最好能在方案設(shè)計(jì)階段就考慮系統(tǒng)調(diào)試問(wèn)題,如采取什么調(diào)試方法、使用何種調(diào)試儀器等,以便在系統(tǒng)方案設(shè)計(jì)時(shí)將必要的調(diào)試方法綜合進(jìn)軟、硬件設(shè)計(jì)中,或提早做好調(diào)試準(zhǔn)備工作。一、單片機(jī)應(yīng)用系統(tǒng)調(diào)試工具在單片機(jī)應(yīng)用系統(tǒng)調(diào)試中,最常用的調(diào)試工具有以下幾種。在什么階段考慮系統(tǒng)調(diào)試問(wèn)題?42系統(tǒng)調(diào)試的一般過(guò)程431、單片機(jī)開(kāi)發(fā)系統(tǒng)單片機(jī)開(kāi)發(fā)系統(tǒng)(又稱(chēng)仿真器)的主要作用是: ①系統(tǒng)硬件電路的診斷與檢查; ②程序的輸入與修改; ③硬件電路、程序的運(yùn)行與調(diào)試; ④程序在EPROM中的固化。由于單片機(jī)本身不具有調(diào)試及輸入程序的能力,故單片機(jī)開(kāi)發(fā)系統(tǒng)成為開(kāi)發(fā)單片機(jī)應(yīng)用系統(tǒng)不可缺少的工具。442、萬(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ù)期值的比較,就可大致判定該芯片的工作是否正常。453、邏輯筆邏輯筆可以測(cè)試數(shù)字電路中測(cè)試點(diǎn)的電平狀態(tài)(高或低)及脈沖信號(hào)的有無(wú)。假如要檢測(cè)單片機(jī)擴(kuò)展總線上連接的某譯碼器是否有譯碼信號(hào)輸出,可編寫(xiě)一循環(huán)程序使譯碼器對(duì)一特定譯碼狀態(tài)不斷進(jìn)行譯碼。464、邏輯脈沖發(fā)生器與模擬信號(hào)發(fā)生器邏輯脈沖發(fā)生器能夠產(chǎn)生不同寬度、幅度及頻率的脈沖信號(hào),它可作為數(shù)字電路的輸入源。475、示波器示波器可以測(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)試維修的一種必備工具。486、邏輯分析儀邏輯分析儀能夠以單通道或多通道實(shí)時(shí)獲取與觸發(fā)事件相關(guān)的邏輯信號(hào),可保存顯示觸發(fā)事件前后所獲取的信號(hào),供操作者隨時(shí)觀察,并作為軟、硬件分析的依據(jù),以便快速有效地查出軟、硬件中的錯(cuò)誤。邏輯分析儀主要用于動(dòng)態(tài)調(diào)試中信號(hào)的捕獲。49二、單片機(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)的部分用戶(hù)程序段),檢查用戶(hù)系統(tǒng)硬件中存在的故障。硬件調(diào)試可分靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試兩步進(jìn)行。501)靜態(tài)調(diào)試靜態(tài)調(diào)試是用戶(hù)系統(tǒng)未工作時(shí)的一種硬件檢查。2)動(dòng)態(tài)調(diào)試動(dòng)態(tài)調(diào)試是在用戶(hù)系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶(hù)系統(tǒng)硬件中存在的器件內(nèi)部故障、器件間連接邏輯錯(cuò)誤等的一種硬件檢查。由于單片機(jī)應(yīng)用系統(tǒng)的硬件動(dòng)態(tài)調(diào)試是在開(kāi)發(fā)系統(tǒng)的支持下完成的,故又稱(chēng)為聯(lián)機(jī)仿真或聯(lián)機(jī)調(diào)試。512、軟件調(diào)試軟件調(diào)試是通過(guò)對(duì)用戶(hù)程序的匯編、連接、執(zhí)行來(lái)發(fā)現(xiàn)程序中存在的語(yǔ)法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正的過(guò)程。軟件調(diào)試的一般方法是先獨(dú)立后聯(lián)機(jī)、先分塊后組合、先單步后連續(xù)。1)先獨(dú)立后聯(lián)機(jī);2)先分塊后組合3)先單步后連續(xù)523、系統(tǒng)聯(lián)調(diào)系統(tǒng)聯(lián)調(diào)是指讓用戶(hù)系統(tǒng)的軟件在其硬件上實(shí)際運(yùn)行,進(jìn)行軟、硬件聯(lián)合調(diào)試,從中發(fā)現(xiàn)硬件故障或軟、硬件設(shè)計(jì)錯(cuò)誤。這是對(duì)用戶(hù)系統(tǒng)檢驗(yàn)的重要一關(guān)。系統(tǒng)聯(lián)調(diào)主要解決以下問(wèn)題:(3個(gè))53(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ù))是否滿(mǎn)足設(shè)計(jì)要求。544、現(xiàn)場(chǎng)調(diào)試一般情況下,通過(guò)系統(tǒng)聯(lián)調(diào)后,用戶(hù)系統(tǒng)就可以按照設(shè)計(jì)目標(biāo)正常工作了。但在某些情況下,由于用戶(hù)系統(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í)考慮到抗環(huán)境干擾的對(duì)策,但是否行之有效,還必須通過(guò)用戶(hù)系統(tǒng)在實(shí)際現(xiàn)場(chǎng)的運(yùn)行來(lái)加以驗(yàn)證。558.2.1留言機(jī)1、可行性分析從當(dāng)時(shí)國(guó)內(nèi)機(jī)的發(fā)展?fàn)顩r來(lái)看,留言機(jī)在市場(chǎng)上品種很少,進(jìn)口的留言機(jī)價(jià)格較貴,不能被一般用戶(hù)接受,而國(guó)內(nèi)對(duì)留言機(jī)已有較大的需求,因此,研制留言機(jī)勢(shì)在必行。8.2應(yīng)用系統(tǒng)設(shè)計(jì)與調(diào)試實(shí)例562、系統(tǒng)設(shè)計(jì)為了提出正確的設(shè)計(jì)方案,首先要對(duì)機(jī)內(nèi)部電路作詳細(xì)的分析,找出單片機(jī)系統(tǒng)與機(jī)的連接接口,為整個(gè)方案制訂打下良好的基礎(chǔ)。在選擇單片機(jī)時(shí),首選8031的理由是:57理由(1)價(jià)格便宜,有開(kāi)發(fā)環(huán)境;(2)采用語(yǔ)音芯片T6668后,語(yǔ)音處理功能全部由T6668完成,系統(tǒng)控制功能簡(jiǎn)單;(3)不需要單片機(jī)提供大量的程序、數(shù)據(jù)存儲(chǔ)區(qū),也不需要單片機(jī)提供特殊功能服務(wù)。58語(yǔ)音芯片采用T6668的理由是:(1)價(jià)格便宜,操作簡(jiǎn)單;(2)有很強(qiáng)的語(yǔ)音采集、壓縮、存儲(chǔ)、回放功能,且所有功能由硬件自動(dòng)完成,簡(jiǎn)化了語(yǔ)音的繁瑣處理;(3)能保證良好的語(yǔ)音質(zhì)量。59
如果在方案論證過(guò)程中能掌握留言機(jī)的三大核心:、單片機(jī)、語(yǔ)音處理芯片,該系統(tǒng)設(shè)計(jì)也就不成問(wèn)題。系統(tǒng)的硬件框圖見(jiàn)下圖。60留言機(jī)硬件框圖613、系統(tǒng)調(diào)試因?yàn)榱粞詸C(jī)采用8031作為控制核心,所以調(diào)試工作可以在SICE開(kāi)發(fā)系統(tǒng)上進(jìn)行。首先進(jìn)行硬件調(diào)試。硬件調(diào)試一般包括對(duì)擴(kuò)展數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)、I/O口與I/O設(shè)備、譯碼電路、晶振與復(fù)位電路等的測(cè)試。(續(xù))62(續(xù)上)RAM測(cè)試常采用寫(xiě)入讀出加比較的方法檢測(cè);ROM測(cè)試常采用累加和的方法檢測(cè);I/O測(cè)試通過(guò)觀測(cè)輸入與輸出數(shù)據(jù)來(lái)完成;譯碼器通過(guò)運(yùn)行循環(huán)檢測(cè)程序來(lái)檢驗(yàn);觀察晶振、復(fù)位電路能否產(chǎn)生所需信號(hào)以確定其工作是否正常。63留言機(jī)軟件流程圖648.2.2MCS-51通用數(shù)據(jù)采集和處理系統(tǒng)數(shù)據(jù)采集系統(tǒng)是很多應(yīng)用領(lǐng)域中不可缺少的部分。它是實(shí)時(shí)采集與溫度、濕度、壓力、流量、速度等參數(shù)有關(guān)的連續(xù)變化等的信號(hào)。65模擬量信號(hào),通過(guò)模/數(shù)轉(zhuǎn)換器把這些模擬信號(hào)變成數(shù)字信號(hào),或直接采集代表某些狀態(tài)特性的開(kāi)關(guān)量,送計(jì)算機(jī)進(jìn)行處理,處理后的結(jié)果根據(jù)用戶(hù)要求可以在屏幕上顯示、打印輸出、存盤(pán)、傳送給其他計(jì)算機(jī)、或者再通過(guò)數(shù)/模轉(zhuǎn)換器變成模擬信號(hào)控制受控對(duì)象。開(kāi)關(guān)輸出量也可直接用于控制目的。以下講解一個(gè)以8031單片機(jī)為核心的、MCS-51通用數(shù)據(jù)采集和處理系統(tǒng)的實(shí)例。(重點(diǎn)介紹其中的模數(shù)轉(zhuǎn)換部分)66一、主要功能可實(shí)現(xiàn)1~16通道單端模擬量輸入,或者1~8通道差分輸入。輸入電壓范圍±10伏,分辨率為12位。雙通道8位模擬量輸出;8路開(kāi)關(guān)量輸入;8路開(kāi)關(guān)量輸出;全雙工的串行接口??芍苯舆BCRT,或與上一級(jí)計(jì)算機(jī)通信;系統(tǒng)配置有8K字節(jié)的監(jiān)控程序。能夠?qū)崿F(xiàn)系統(tǒng)自檢、輸入/輸出驅(qū)動(dòng),還能夠開(kāi)發(fā)用戶(hù)程序。67二、硬件結(jié)構(gòu)系統(tǒng)時(shí)鐘頻率為11MHz。A.地址鎖存器74LS373主要解決P0口的低8位地址線與數(shù)據(jù)總線分時(shí)復(fù)用問(wèn)題;B.P2口上的鎖存器是為了16位地址線同步(可省掉),地址譯碼器74LS138對(duì)地址線最高3位進(jìn)行譯碼,它的輸出分別作為ROM、RAM通道地址鎖存器、模/數(shù)轉(zhuǎn)換器、8155等片選信號(hào);P3.7WR68C.系統(tǒng)配置了8K字節(jié)的EPROM(2764)、8K字節(jié)的RAM,為用戶(hù)提供了擴(kuò)展8K字節(jié)RAM的能力。D.8路開(kāi)關(guān)量輸入通過(guò)光隔離器件后,直接連到P1口的8位。E.8路開(kāi)關(guān)量輸出接口到8155的B通道;8155的A通道和C通道留給用戶(hù)使用。69F.模擬輸入通道連接到模擬開(kāi)關(guān),用軟件控制切換,分時(shí)使用一片12位模/數(shù)轉(zhuǎn)換器AD574A。G.模擬輸出通道采用帶有輸入數(shù)據(jù)緩沖器的8位數(shù)/模轉(zhuǎn)換芯片。H.直接使用8031片內(nèi)的串行輸入、輸出功能作為全雙工的串行輸入、輸出口。用內(nèi)部定時(shí)器1做為串行通信的波特率發(fā)生器。70地址鎖存ROM2764RAM6264譯碼AO.1AO.0模/數(shù)轉(zhuǎn)換AI.0AI.15數(shù)/模轉(zhuǎn)換OUT7OUT0PA8155開(kāi)關(guān)量輸出8031P0P2PSENP3.6RDTXDP3.1P1RXDP3.0P3.7WR串行輸入串行輸出串行I/OIN7IN0開(kāi)關(guān)量輸入讀寫(xiě)控制71三、模/數(shù)轉(zhuǎn)換16路模擬輸入通道連到兩片模擬開(kāi)關(guān)7501上。輸入信號(hào)經(jīng)差分控制、采樣保持電路后,送到12位模/數(shù)轉(zhuǎn)換器AD574A進(jìn)行模數(shù)變換。1、12位模/數(shù)轉(zhuǎn)換器AD574A為12位逐次逼近型模/數(shù)轉(zhuǎn)換器。芯片內(nèi)有三態(tài)輸出緩沖電路,可以不用外部接口電路直接連到8位或16位微處理機(jī)的總線上。72比較器3態(tài)輸出緩沖器12位逐次逼近寄存器DACOUT 12位數(shù)模轉(zhuǎn)換器REFINANALOGCOMMONTSVREF控制邏輯時(shí)鐘RESETMSBLSB2716位輸出+-12/8CSA0R/CCE+12V/+15V+5VD-COMM-12V/-15V20VIN10VINA-COMMBIPOFFREFINREFOUTSTS輸出信號(hào)可作為狀態(tài)信息被微處理機(jī)查詢(xún),也可用之的下降沿向CPU發(fā)中斷申請(qǐng)12BUTS12BUTS73圖中:A0為控制轉(zhuǎn)換長(zhǎng)度,通常連到地,總是最低位;12/8是輸出數(shù)據(jù)格式,連到DIGITALCOMMON兩個(gè)8位字或連+5V獨(dú)立的12位字;CE=1,CS=0(控制轉(zhuǎn)換器)時(shí),R/C=1時(shí)進(jìn)行讀數(shù)據(jù)操作(A0不能變);R/C=0時(shí),進(jìn)行模數(shù)轉(zhuǎn)換;D-COMM:DIGITALCOMMONA-COMM:ANALOGCOMMON74起動(dòng)模/數(shù)轉(zhuǎn)換器時(shí),AD574A允許片內(nèi)時(shí)鐘信號(hào),把逐次逼近寄存器復(fù)位為零,開(kāi)始進(jìn)行模數(shù)轉(zhuǎn)換。AD574A按照約500KHz的速率測(cè)試輸入電流。在這期間輸入信號(hào)應(yīng)保持不變,以便得到較高的轉(zhuǎn)換精度。輸出信號(hào)STS指明轉(zhuǎn)換進(jìn)程。模數(shù)轉(zhuǎn)換完成,通知CPU可以讀取轉(zhuǎn)換結(jié)果。(8位轉(zhuǎn)換要10us~24us,12位轉(zhuǎn)換要12~35us)752、模/數(shù)轉(zhuǎn)換接口兩片模擬開(kāi)關(guān)7501連接模擬輸入通道,通過(guò)程序控制順序接通各個(gè)通道。采樣頻率由8031內(nèi)部定時(shí)器TR0控制。用戶(hù)可以通過(guò)跳線插頭選擇16路單極性模擬量輸入或者8路雙極性模擬量輸入。為了提高系統(tǒng)的抗干擾能力,提高模數(shù)轉(zhuǎn)換的精度,配置了差分控制和采樣保持電路。7612位AD574A直接連到系統(tǒng)總線上。8031起動(dòng)AD574A進(jìn)行12位模數(shù)轉(zhuǎn)換,然后用查詢(xún)方式與轉(zhuǎn)換器聯(lián)絡(luò)。模/數(shù)轉(zhuǎn)換器輸出的狀態(tài)信息STS通過(guò)數(shù)據(jù)緩沖器連到系統(tǒng)數(shù)據(jù)總線DB7上,CPU不斷查詢(xún)STS狀態(tài),等待轉(zhuǎn)換結(jié)束。模數(shù)轉(zhuǎn)換結(jié)束后,12位結(jié)果分兩次被8031讀入到指定的緩沖單元。77DB7到8031數(shù)據(jù)線74LS244AD5748031PSENRDWRALEVOLGIC12/8CER/CDB11~8DB3~0A0CS10VINBIPOFFREFIREFO-12/V/-15VANALOGCOMMONGDB7~4DIGITALCOMMON20VIN+12/V/+15V地址鎖存地址澤碼+5V0VSTS0V采樣保持差分控制7501模擬開(kāi)關(guān)AI7AI8AI15OUTOUT通道鎖存DB3~DB0來(lái)自8031數(shù)據(jù)線+15AI0模擬量輸入-1578為了提高8031的效率,模/數(shù)轉(zhuǎn)換器也可采用中斷方式與單片機(jī)聯(lián)絡(luò)。用AD574A輸出的STS信號(hào)作為單片機(jī)的外部中斷申請(qǐng)?jiān)矗?031通過(guò)中斷服務(wù)程序讀取模數(shù)轉(zhuǎn)換結(jié)果。本例以查詢(xún)方式為例,介紹通用數(shù)據(jù)采集和處理系統(tǒng)模數(shù)轉(zhuǎn)換部分的驅(qū)動(dòng)程序。79主程序首先對(duì)模數(shù)轉(zhuǎn)換部分進(jìn)行初始化,選定時(shí)器0工作在16位定時(shí)模式。按照用戶(hù)選定的采樣周期T計(jì)算時(shí)間常數(shù),為定時(shí)器0賦間隔時(shí)間的溢出中斷。T=(216-X)*12*1/fosc.80
初始化程序清單:INIT: MOVTMOD,#21H ;選定時(shí)器工作模式 MOVDPTR,#CHSEL ;送通道鎖存器地址 MOVADDR,#00H ;通道號(hào)賦初值 MOVR0,#BUFA ;送數(shù)據(jù)緩沖區(qū)首址 MOVTL0,#CHT0L ;為定時(shí)器0賦初值 MOVTH0,#CNT0HLOOP0:SETAEA ;開(kāi)中斷 SETBET0 ;允許定時(shí)器0 SETBTR0 ;開(kāi)定時(shí)器0LOOP1:JNBTF0,LOOP1 ;等待T0溢出中斷。 ……81中斷服務(wù)程序進(jìn)行通道切換,等待采樣保持輸出,然后起動(dòng)轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,等待延時(shí)可采用多種方法實(shí)現(xiàn)。例如:硬件延時(shí),調(diào)用延時(shí)子程序,或者執(zhí)行足夠長(zhǎng)的指令等。我們采用的是第三種方法,執(zhí)行從標(biāo)號(hào)STF0到SADC這段程序,得到足夠長(zhǎng)的延遲時(shí)間。82按照12位模數(shù)轉(zhuǎn)換方式起動(dòng)AD574A,然后不斷查詢(xún)STS信號(hào)狀態(tài),等待轉(zhuǎn)換結(jié)束。模數(shù)轉(zhuǎn)換結(jié)束后,分兩次先后讀取轉(zhuǎn)換結(jié)果的高8位和低4位,存入指定的緩沖區(qū)域。83定時(shí)器0溢出中斷服務(wù)程序清單:STF0:MOVA,ADDR ;送通道號(hào) MOVX@DPTR,A ;進(jìn)行通道切換 INCADDR ;通道號(hào)增1 NOP ;延時(shí),等待 NOP NOP NOP84SADC:MOVDPTR,#ADSEL;送模/數(shù)轉(zhuǎn)換器地址 MOVX@DPTR,A ;起動(dòng)AD574A接口位轉(zhuǎn)換 MOVDPTR,#CHSEL;允許數(shù)據(jù)緩沖器
LOOP2:MOVXA,@DPTR ;讀取狀態(tài)信息STS JNBE7,LOOP2 ;等待模數(shù)轉(zhuǎn)換結(jié)束 MOVDPTR,#ADSEL;送轉(zhuǎn)換器地址 INCDPL ;使低位地址A0為高 MOVXA,@DPTR ;讀轉(zhuǎn)換結(jié)果的低4位 MOVX@R0,A ;存結(jié)果的低字節(jié)85 DECDPL ;使低位地址A0為低 INCR0 ;緩沖區(qū)地址增1 MOVXA,@DRTR ;讀轉(zhuǎn)換結(jié)果的高8位 MOVX@R0,A ;存結(jié)果的高字節(jié) INCR0 ;緩沖區(qū)地址增1 MOVA,ADPR ;送通道號(hào) CLRC ;清進(jìn)位標(biāo)志 CJNEA,#10H,LOOP3;根據(jù)通道號(hào)設(shè)CLOOP3:RETI ;返回主程序86 在中斷服務(wù)程序末尾,將通道號(hào)保存單元ADDR的內(nèi)容與立即數(shù)10H進(jìn)行比較,根據(jù)比較結(jié)果設(shè)置標(biāo)志C。從中斷返回以后,在主程序中判斷是否已完成16路通道切換,如果已經(jīng)完成,即(C)=0,則轉(zhuǎn)模數(shù)轉(zhuǎn)換出口ADDON。若未完成,即(C)=1,必須重裝時(shí)間常數(shù),以便繼續(xù)按照指定的采樣周期進(jìn)行通道切換。然后返回前面主程序的初始化部分LOOP1處,繼續(xù)執(zhí)行。87 注意:重裝時(shí)間常數(shù)時(shí)必須禁止全部中斷,也就是禁止打擾這段與時(shí)間密切相關(guān)的程序。重裝時(shí)還要考慮對(duì)時(shí)間常數(shù)的修正。因?yàn)橹匮b時(shí)是先停止定時(shí)器0的工作,然后再進(jìn)行重裝,所以對(duì)于定時(shí)精度要求較高的應(yīng)用場(chǎng)合,應(yīng)該考慮重裝指令的執(zhí)行時(shí)間,修正重裝時(shí)間常數(shù)。例如,重裝指令執(zhí)行時(shí)間為9個(gè)機(jī)器周期,定時(shí)器0的重裝時(shí)間常數(shù)應(yīng)修正為CNT0+9,即重裝時(shí)間常數(shù)RCN0=CNT0+988主程序的定時(shí)器0時(shí)間常數(shù)重裝服務(wù)程序的清單:RLT: JNCADD0N ;16路采樣完,轉(zhuǎn)出口 CLREA ;禁止一切中斷 CLRTR0 ;停定時(shí)器0 MOVA,RCN0L ;送重裝時(shí)間常數(shù)低字節(jié) ADDA,TL0 MOVTL0,A ;重裝TL0 MOVA,RCN0H ;送重裝時(shí)間常數(shù)高字節(jié) ADDCA,TH0 MOVTH0,A ;修正TH0 SJMPLOOP0 ;返回,繼續(xù)采樣ADD0N: ……89MCS-51通用數(shù)據(jù)采集和處理系統(tǒng)的完整的程序流程圖和程序清單不再給出。對(duì)于模數(shù)轉(zhuǎn)換的結(jié)果,經(jīng)8031單片機(jī)處理以后,本系統(tǒng)可以實(shí)現(xiàn)送CRT顯示,傳送給上一級(jí)計(jì)算機(jī)處理,或經(jīng)數(shù)模轉(zhuǎn)換后控制受控對(duì)象。908.2.3汽車(chē)轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)利用MCS-51中的布爾處理機(jī)及其指令子集,將給系統(tǒng)設(shè)計(jì)帶來(lái)極大的方便,同時(shí)闡明了匯編語(yǔ)言程序設(shè)計(jì)的一條重要的基本原則:盡可能利用符號(hào)地址,以增加程序的可讀性和可維護(hù)性。91一、系統(tǒng)功能要求:1、設(shè)汽車(chē)上有一轉(zhuǎn)彎控制桿。此控制桿有三個(gè)位置:中間位置時(shí),汽車(chē)不轉(zhuǎn)彎;向上時(shí),汽車(chē)左轉(zhuǎn);向下時(shí),汽車(chē)右轉(zhuǎn)。汽車(chē)轉(zhuǎn)彎時(shí),要求左右尾燈、左右頭燈和儀表板上的2個(gè)指示燈相應(yīng)地發(fā)出閃爍信號(hào)。如剎車(chē)時(shí)正在轉(zhuǎn)彎,則相應(yīng)的轉(zhuǎn)彎閃爍信號(hào)不受影響,如下表:92轉(zhuǎn)彎信號(hào)燈工作的真值表輸入信號(hào)輸出信號(hào)剎車(chē)開(kāi)關(guān)應(yīng)急開(kāi)關(guān)左轉(zhuǎn)開(kāi)關(guān)右轉(zhuǎn)開(kāi)關(guān)左關(guān)燈和儀表板燈右頭燈和儀表燈左尾燈右尾燈0000斷斷斷斷0001斷閃爍斷閃爍0010閃爍斷閃爍斷0100閃爍閃爍閃爍閃爍0101閃爍閃爍閃爍閃爍0110閃爍閃爍閃爍閃爍1000斷斷通通1001斷閃爍通閃爍1010閃爍斷閃爍通1100閃爍閃爍通通1101閃爍閃爍通閃爍1110閃爍閃爍閃爍通93一、系統(tǒng)功能要求:2、還有一點(diǎn):通常汽車(chē)的外部轉(zhuǎn)彎信號(hào)燈中除普通的白熾燈外還有一個(gè)短焦距燈絲作為停靠汽車(chē)時(shí)的燈光。在本系統(tǒng)中,汽車(chē)轉(zhuǎn)彎或應(yīng)急狀態(tài)下,外部信號(hào)燈和儀表板指示燈的閃爍頻率為1Hz,稱(chēng)低頻信號(hào)。當(dāng)停靠開(kāi)關(guān)合上時(shí),外部信號(hào)燈以高頻(約30Hz)頻率閃爍,以適應(yīng)低亮度背景的使用場(chǎng)合,而不需要附加的燈絲。94上面所述的汽車(chē)轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)的功能可以用數(shù)字邏輯電路來(lái)實(shí)現(xiàn),如下圖,除圖示之外,系統(tǒng)中還應(yīng)有高低頻信號(hào)發(fā)生電路和輸出驅(qū)動(dòng)電路。這種系統(tǒng)的缺點(diǎn)是:靈活性較差,一旦系統(tǒng)的功能有所改動(dòng),電路也隨之變動(dòng);缺少必要的智能,如故障監(jiān)測(cè)功能。95左轉(zhuǎn)緊急剎車(chē)右轉(zhuǎn)??康皖l振蕩器右后右前右儀表板左后左前左儀表板高頻振蕩器用數(shù)字邏輯電路實(shí)現(xiàn)汽車(chē)轉(zhuǎn)彎信號(hào)燈控制96二、系統(tǒng)硬件:采用單片機(jī)的汽車(chē)轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)的基本電路。我們知道:汽車(chē)中常用12伏的蓄電池供電;故除單片機(jī)外,其它電路彩+12伏電源。電路很簡(jiǎn)單,閃爍頻率信號(hào)的單片機(jī)內(nèi)部定時(shí)器產(chǎn)生。在微電腦系統(tǒng)中,可以采用余度技術(shù)和故障監(jiān)控技術(shù)來(lái)提高系統(tǒng)的可靠性。例如我們?nèi)钥梢圆捎脴?biāo)準(zhǔn)的雙燈絲信號(hào)燈,兩根燈絲并行使用,以增加系統(tǒng)的冗余度,在一根燈絲出故障時(shí),系統(tǒng)仍能正常工作。97即使采用了余度技術(shù),信號(hào)燈也難免偶然會(huì)完全燒壞,或因發(fā)生線路上的故障而不能正常工作,因此還希望系統(tǒng)具有故障監(jiān)控功能,一旦發(fā)現(xiàn)故障,能自動(dòng)報(bào)警,如圖利用T0作檢測(cè)輸入,只增加1個(gè)晶體管和幾個(gè)電阻。即設(shè)其中一個(gè)信號(hào)燈是受控?cái)嚅_(kāi)(口線送高電平),而其余信號(hào)燈皆受控接通,則晶體管Q7的6個(gè)輸入端中有5個(gè)是低電平,受控信號(hào)燈的輸入為高電平,使T0高電平,說(shuō)明相應(yīng)的線路出了故障,這種故障監(jiān)控功能很容易靠軟件來(lái)實(shí)現(xiàn)。98微電腦汽車(chē)轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)的基本電路99三、系統(tǒng)軟件:用匯編語(yǔ)言編寫(xiě),程序清單分三部分:①輸入、輸出口線說(shuō)明和定義變量;②主程序(背景程序);③中斷服務(wù)程序1001、口線說(shuō)明和變量定義在圖中輸入輸出口線已初步擬定好,但在程序中我們不直接采用P1.0、P1.1等這類(lèi)的口線名稱(chēng),而是采用了符號(hào)地址,即用戶(hù)自定義的有助記意義的名稱(chēng)。對(duì)于一些字節(jié)變量或布爾變量也采用了助記名。這樣做給程序設(shè)計(jì)帶來(lái)了方便,提高了程序的可讀性和可維護(hù)性,一旦要改變具體的引腳或變量單元(或位),只要在說(shuō)明和定義部分略作修改,而不必把程序中所有有關(guān)的部分都一一修改。因?yàn)樵谠碓O(shè)計(jì)階段,諸如引腳功能的確定,通常是帶主觀性的;在印制電路板設(shè)計(jì)階段可能發(fā)現(xiàn)適當(dāng)變換一下引腳的功能,會(huì)給電路板設(shè)計(jì)帶來(lái)極大的方便,類(lèi)似的情況還可能在其它設(shè)計(jì)階段中發(fā)生,故盡可能采用符號(hào)地址。1011、口線說(shuō)明和變量定義1 BRAKE BIT P1.02 EMERG BIT P1.13 PARK BIT P1.24 L-TURN BIT P1.35 R-TURN BIT P1.46 L-FRNT BIT P1.57 R-FRNT BIT P1.68 L-DASH BIT P1.79 R-DASH BIT P2.010 L-REAR BIT P2.111 R-REAR BIT P2.212 S-FAIL BIT P2.313 SUB-DIVDATA20H14 HI-FREQ BITSUB-DIV.015 LO-FREQBITSUB-DIV.716 DIM BIT PSW.1
1022、主程序系統(tǒng)中利用定時(shí)器/計(jì)數(shù)器0和一個(gè)軟件計(jì)數(shù)器SUB-DIV來(lái)產(chǎn)生為時(shí)一秒的定時(shí)信號(hào),以實(shí)現(xiàn)低頻(1Hz)閃爍功能。對(duì)TH0置初值-16,即F0H,使定時(shí)器0每隔4096微秒(采用12MHz,晶體,計(jì)數(shù)頻率為1MHz)溢出中斷一次。每次中斷后,重置TH0,并使軟件計(jì)數(shù)器SUB-DIV的值減1。SUB-DIV的初值為244,當(dāng)此值減為0時(shí),歷經(jīng)的時(shí)間為244×4096×10=0.9999414秒。103起動(dòng)設(shè)置定時(shí)器0初值設(shè)置定時(shí)器0為模式1設(shè)置軟件計(jì)數(shù)器初值允許定時(shí)器0中斷總允許中斷啟動(dòng)定時(shí)器0等待1043、中斷服務(wù)程序定時(shí)器0溢出中斷服務(wù)程序是整個(gè)程序的實(shí)際主體部分。1)故障監(jiān)控測(cè)試過(guò)程:發(fā)現(xiàn)故障時(shí),轉(zhuǎn)而執(zhí)行一條指令CPLS-FAZL,S-FAZL是P2.3引腳的符號(hào)地址。若故障一直存在,則P2.3的狀態(tài)每隔1秒鐘轉(zhuǎn)換一次。若在此引腳處接一個(gè)指示燈,則告警時(shí)指示燈以0.5Hz的頻率閃爍。1053、中斷服務(wù)程序2)關(guān)于低頻振蕩信號(hào)(1Hz)的產(chǎn)生軟件計(jì)數(shù)器SUB-DIV的初值為244(11110100B),由244變到0,歷經(jīng)0.999424秒。其中SUB-DIV.7為1的時(shí)間約占117/244秒,為0的時(shí)間約占127/244秒,故從LO-FREQ(SUB-DIV.7)獲得的就是占空比接近50%的低頻(1Hz)信號(hào)。1063、中斷服務(wù)程序3)關(guān)于高頻振蕩信號(hào)(30Hz)的產(chǎn)生軟件計(jì)數(shù)器SUB-DIA的值,由244(11110100B)變?yōu)?時(shí),SUB-DIV的低3位可以構(gòu)成8種狀態(tài)。在0.99秒中這8種狀態(tài)的重復(fù)次數(shù)=11110B=30(即高5位)。故把低3位的狀態(tài)以某種方式組合起來(lái),就可以形成一定占空比的30Hz的高頻信號(hào)。在每個(gè)周期的8個(gè)狀態(tài)時(shí)刻中信號(hào)燈通斷情況,在50%占空比下白熾燈炮燈絲發(fā)光不夠亮,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代科技在遠(yuǎn)程醫(yī)療服務(wù)中的應(yīng)用及挑戰(zhàn)
- 2025年度個(gè)人房產(chǎn)交易擔(dān)保合同模板2篇
- 二零二五年度廠房租賃合同糾紛處理規(guī)則3篇
- 漯河2024年河南漯河市委辦公室所屬事業(yè)單位引進(jìn)高層次人才筆試歷年參考題庫(kù)附帶答案詳解
- 湖北2025年湖北省水利水電科學(xué)研究院院屬企業(yè)招聘11人筆試歷年參考題庫(kù)附帶答案詳解
- 2025版文化創(chuàng)意產(chǎn)業(yè)園區(qū)基礎(chǔ)設(shè)施建設(shè)服務(wù)合同2篇
- 二零二五年度城市綠化工程承包合同樣本10篇
- 二零二五年度新能源汽車(chē)充電樁投資建設(shè)合同2篇
- 二零二五年度數(shù)字貨幣錢(qián)包設(shè)計(jì)與安全技術(shù)服務(wù)合同3篇
- 二零二五年度常州二手房買(mǎi)賣(mài)合同范本:智能家居與智能家居安防監(jiān)控3篇
- 2024-2025學(xué)年山東省濰坊市高一上冊(cè)1月期末考試數(shù)學(xué)檢測(cè)試題(附解析)
- 江蘇省揚(yáng)州市蔣王小學(xué)2023~2024年五年級(jí)上學(xué)期英語(yǔ)期末試卷(含答案無(wú)聽(tīng)力原文無(wú)音頻)
- 數(shù)學(xué)-湖南省新高考教學(xué)教研聯(lián)盟(長(zhǎng)郡二十校聯(lián)盟)2024-2025學(xué)年2025屆高三上學(xué)期第一次預(yù)熱演練試題和答案
- 決勝中層:中層管理者的九項(xiàng)修煉-記錄
- 幼兒園人民幣啟蒙教育方案
- 臨床藥師進(jìn)修匯報(bào)課件
- 軍事理論(2024年版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 《無(wú)人機(jī)法律法規(guī)知識(shí)》課件-第1章 民用航空法概述
- 政治丨廣東省2025屆高中畢業(yè)班8月第一次調(diào)研考試廣東一調(diào)政治試卷及答案
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考物理試卷(5年真題+答案解析)
- 鑄石防磨施工工藝
評(píng)論
0/150
提交評(píng)論