2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  1 引言</b></p><p>  1.1 課題研究的目的和意義</p><p>  基于單片機(jī)的PLC設(shè)計(jì)與實(shí)現(xiàn)課題的研究是依據(jù)應(yīng)用開(kāi)發(fā)中的實(shí)際要求提出來(lái)的。當(dāng)我們?cè)O(shè)計(jì)機(jī)電一體化產(chǎn)品或從事自動(dòng)化裝置設(shè)計(jì)時(shí),常常會(huì)遇到要求設(shè)計(jì)出成本極低,同時(shí)能完成較為復(fù)雜的邏輯控制的控制器的問(wèn)題??删幊绦蚩刂破饕云淇煽啃阅芨摺⒕幊毯?jiǎn)單易學(xué)、維護(hù)方便

2、等優(yōu)點(diǎn)而廣泛應(yīng)用于工業(yè)控制中;單片機(jī)具備功能多、結(jié)構(gòu)緊湊、價(jià)格便宜等特點(diǎn),在工業(yè)控制中也得到了廣泛的應(yīng)用。PLC和單片機(jī)有機(jī)地結(jié)合,就可實(shí)現(xiàn)單片機(jī)與PLC之間優(yōu)勢(shì)互補(bǔ),在工業(yè)控制中可發(fā)揮更大的作用[1],不僅可大大簡(jiǎn)化單片機(jī)系統(tǒng)的研制時(shí)間,實(shí)現(xiàn)復(fù)雜的邏輯控制,性能得到保障,效益也就有保證。</p><p>  PLC的突出優(yōu)點(diǎn)是可靠性高、接口類(lèi)型豐富、能適應(yīng)各種復(fù)雜惡劣的工業(yè)環(huán)境,另外PLC采用面向過(guò)程的編程語(yǔ)言

3、,編程簡(jiǎn)單直觀,易學(xué)易懂,使用靈活方便,工程技術(shù)人員經(jīng)過(guò)短期學(xué)習(xí)即能上手。同時(shí)也有不少缺點(diǎn):有限的內(nèi)存,編程優(yōu)化調(diào)試比較困難;產(chǎn)品多為進(jìn)口,價(jià)格昂貴;針對(duì)性比較差。特別是當(dāng)控制不太復(fù)雜的邏輯功能,控制量不太大,控制要求不高同時(shí)環(huán)境條件尚佳時(shí),它的優(yōu)勢(shì)就不能完全發(fā)揮出來(lái),而且會(huì)提高系統(tǒng)的成本。鑒此,根據(jù)可編程序控制器的實(shí)現(xiàn)原理和工作方式,設(shè)計(jì)小型的PLC控制系統(tǒng)有很大的實(shí)際意義。</p><p>  本論文借鑒PL

4、C的實(shí)現(xiàn)方式和運(yùn)行原理,利用性?xún)r(jià)比比較高的AT89S52單片機(jī)設(shè)計(jì)了了一種小型PLC。</p><p>  1.2 課題研究背景</p><p>  近些年來(lái),隨著社會(huì)的迅速發(fā)展,科技的快速進(jìn)步,可編程控制器(PLC)技術(shù)的發(fā)展顯得異常迅猛,PLC技術(shù)在國(guó)內(nèi)外已經(jīng)廣泛的應(yīng)用于鋼鐵業(yè)、石油業(yè)、化工業(yè)、電力業(yè)、建材業(yè)、機(jī)械設(shè)計(jì)制造業(yè)、汽車(chē)業(yè)、輕紡業(yè)、交通運(yùn)輸業(yè)、環(huán)保業(yè)等諸多領(lǐng)域[2]。目前P

5、LC市場(chǎng)主要有美系、歐系、日系三大產(chǎn)系,200多家公司生產(chǎn)制造,其中都是三大產(chǎn)系為主的公司,我國(guó)的PLC的研究與生產(chǎn)比較晚,但是通過(guò)引進(jìn)國(guó)外先進(jìn)技術(shù),消化并吸收,近年來(lái),我國(guó)的PLC市場(chǎng)發(fā)展的很快,市場(chǎng)前景被十分看好。但是,國(guó)內(nèi)的PLC仍然處于發(fā)展階段,依然存在很多問(wèn)題,與那些發(fā)達(dá)國(guó)家相比,我國(guó)PLC的應(yīng)用仍較為局限化,而那些應(yīng)用PLC的企業(yè),主要是一些國(guó)有大型企業(yè),在其它中小型企業(yè)中的應(yīng)用比例比較低。PLC技術(shù)主要靠引進(jìn),自主知識(shí)產(chǎn)權(quán)

6、缺乏,與發(fā)達(dá)國(guó)家相比,技術(shù)水平落后5年左右,國(guó)產(chǎn)化率低很難滿(mǎn)足國(guó)內(nèi)市場(chǎng)需求。目前,我國(guó)是世界上經(jīng)濟(jì)發(fā)展比較快的國(guó)家之一,市場(chǎng)上新設(shè)備的控制需求、傳統(tǒng)設(shè)備的技術(shù)升級(jí)、換代對(duì)PLC的需求越來(lái)越大。另外隨著工業(yè)設(shè)備不斷地更新和發(fā)展,對(duì)PLC要求也越來(lái)越高,在這樣的形勢(shì)下,我國(guó)可以抓住這一機(jī)遇,研制出具有自主知識(shí)產(chǎn)權(quán),更滿(mǎn)足現(xiàn)</p><p>  1.3 本課題主要研究?jī)?nèi)容</p><p>  

7、該課題是以單片機(jī)為主控元件,根據(jù)PLC的接口特性,利用適當(dāng)?shù)耐鈬骷O(shè)計(jì)一種PLC原理樣機(jī)。該課題需要了解單片機(jī)的工作原理、有關(guān)外圍接口芯片的工作機(jī)理;電源電路設(shè)計(jì)、模擬數(shù)字電路處理;軟件程序設(shè)計(jì)等知識(shí)。</p><p>  設(shè)計(jì)具體內(nèi)容分為以下幾個(gè)方面:</p><p>  (1) 系統(tǒng)硬件電路設(shè)計(jì)以及單片機(jī)選型;</p><p><b>  系統(tǒng)軟件

8、設(shè)計(jì);</b></p><p>  (3) 上位機(jī)軟件設(shè)計(jì)以及上位機(jī)與下位機(jī)通信設(shè)計(jì)。</p><p>  2 系統(tǒng)總體設(shè)計(jì)方案</p><p>  2.1 PLC簡(jiǎn)介</p><p>  2.1.1 PLC基本特點(diǎn)</p><p>  在可編程控制器(PLC)誕生之前,繼電器控制在工業(yè)控制領(lǐng)域中占主

9、導(dǎo)地位。這種由繼電器構(gòu)成的控制系統(tǒng)存在著明顯的缺點(diǎn):體積龐大、耗電多、可靠性能差、壽命短、運(yùn)行速度慢等,尤其是很難適應(yīng)生產(chǎn)工藝系統(tǒng)多變性。與繼電器控制相比,可編程控制器具有以下一些特點(diǎn)[3][4]:</p><p>  (1) 抗干擾能力強(qiáng),可靠性高??删幊炭刂破髦饕菫楣I(yè)控制而設(shè)計(jì)的,在其設(shè)計(jì)及制造的過(guò)程中采取了多層次抗干擾的措施,使其能在惡劣的工業(yè)環(huán)境下正常工作。而且,在PLC中由電子線路來(lái)完成繼電器大量的

10、開(kāi)關(guān)動(dòng)作,由程序來(lái)代替繼電器之間的連線,與繼電器相比,PLC大大的提高了使用壽命和可靠性,平均的無(wú)故障時(shí)間甚至可達(dá)幾十萬(wàn)個(gè)小時(shí)。</p><p>  (2) 編程語(yǔ)言簡(jiǎn)單易學(xué),容易掌握,便于普及。PLC設(shè)備面向用戶(hù),考慮到現(xiàn)場(chǎng)技術(shù)工作人員的特點(diǎn),編程語(yǔ)言一般比較形象直觀且容易掌握。目前,大部分的PLC仍然采用繼電器控制形式的梯形圖方式編程,梯形圖語(yǔ)言編程元件的符號(hào)和表達(dá)方式接近繼電器控制電路原理,不需要專(zhuān)業(yè)的計(jì)算

11、機(jī)知識(shí),只需要具有一定的電工知識(shí)和工藝知識(shí)的人員在較短的時(shí)間內(nèi)都可以學(xué)會(huì)。</p><p>  (3) 通用性強(qiáng),控制程序可變。不同的對(duì)象用同一個(gè)可編程控制器控制時(shí),只需輸入、輸出模塊發(fā)生改變,編制的控制程序不同即可,不需要類(lèi)似繼電器的固體電子器件和大量繁冗復(fù)雜的硬件接線電路。</p><p>  (4) 接口功能強(qiáng),適應(yīng)面廣?,F(xiàn)代的PLC不僅擁有計(jì)時(shí)、計(jì)數(shù)、順序控制、邏輯運(yùn)算等一系列的功

12、能,而且具有數(shù)字量和模擬量的功率驅(qū)動(dòng)、記錄顯示、通信、輸入輸出、自檢、人機(jī)對(duì)話等功能,不僅可以控制一個(gè)生產(chǎn)過(guò)程,還可以控制一條生產(chǎn)線甚至小到一臺(tái)生產(chǎn)機(jī)器。</p><p>  (5) 維護(hù)方便、體積小、重量輕。PLC是將微電子技術(shù)運(yùn)用到工業(yè)設(shè)備上的產(chǎn)品,它的結(jié)構(gòu)緊湊,體積小,質(zhì)量輕,便于在設(shè)備內(nèi)部安裝,是一種用來(lái)實(shí)現(xiàn)機(jī)電一體化理想的控制設(shè)備。目前,大部分的PLC控制系統(tǒng)仍采用模塊化的結(jié)構(gòu),接線比較少,出現(xiàn)故障的時(shí)

13、候,只需要更換出現(xiàn)故障的模塊,維護(hù)非常方便。</p><p>  (6) 大大減少了設(shè)計(jì)和施工的工作量。在PLC的控制系統(tǒng)中采用軟件來(lái)代替繼電器的控制系統(tǒng)中大量的時(shí)間繼電器、中間繼電器、計(jì)數(shù)器等器件,所以大大的減少了控制柜的設(shè)計(jì)、安裝的接線工作量,同時(shí),PLC的用戶(hù)程序模塊可以在實(shí)驗(yàn)室內(nèi)模擬調(diào)試,大大減少了現(xiàn)場(chǎng)調(diào)試的工作量[5]。</p><p>  2.1.2 PLC基本結(jié)構(gòu)</

14、p><p>  一個(gè)PLC系統(tǒng)本質(zhì)上是一臺(tái)用于控制的專(zhuān)用計(jì)算機(jī),其基本組成如圖2-1所示,主要包括了以下幾個(gè)部分[6,7]:</p><p>  圖2-1 可編程控制器系統(tǒng)的基本組成</p><p>  (1) CPU模塊:CPU模塊是可編程控制器的核心模塊,主要是由存儲(chǔ)器和微處理器兩部分組成[8]。整個(gè)可編程控制器的工作主要由微處理器控制,大概可以分為兩個(gè)部分:一部

15、分主要對(duì)系統(tǒng)進(jìn)行一系列管理,如計(jì)數(shù)刷新、查錯(cuò)、自診斷等等,另一部分則根據(jù)用戶(hù)程序指令執(zhí)行輸入、輸出、程序解釋、執(zhí)行等一系列的操作。存儲(chǔ)器則主要用于存儲(chǔ)系統(tǒng)的工作區(qū)間及監(jiān)控程序,來(lái)生成用戶(hù)的環(huán)境,其容量的大小取決于系統(tǒng)程序的質(zhì)量及系統(tǒng)的工作能力[8]。</p><p>  (2) 輸入/輸出模塊:輸入/輸出模塊是連接現(xiàn)場(chǎng)設(shè)備與可編程控制器的接口。輸入模塊主要用來(lái)采集和接收現(xiàn)場(chǎng)設(shè)備的輸入信號(hào),包括選擇開(kāi)關(guān)、按鈕等開(kāi)關(guān)

16、量的輸入信號(hào)以及測(cè)速發(fā)電機(jī)、電位器等連續(xù)變化的模擬量輸入信號(hào)。預(yù)先在某個(gè)電流或電壓范圍內(nèi)限定模擬量輸入信號(hào),將這個(gè)信號(hào)由模擬量輸入模塊轉(zhuǎn)換成CPU能夠處理的數(shù)字信號(hào)。向各執(zhí)行機(jī)構(gòu)輸出控制信號(hào)則由輸出模塊來(lái)負(fù)責(zé)??删幊炭刂破鞔嬖谝粋€(gè)重要特點(diǎn):所有的輸入輸出信號(hào)全部都經(jīng)過(guò)隔離,無(wú)論任何輸入輸出的形式最終都是經(jīng)過(guò)光電耦合器接口或繼電器將信號(hào)輸入/送出[8]。</p><p>  (3) 編程設(shè)備:在可編程控制器中,編程

17、設(shè)備是最重要的外圍設(shè)備,利用它既可以編輯、修改、檢查、調(diào)試用戶(hù)程序,還可以在線對(duì)可編程控制器的當(dāng)前工作情況進(jìn)行監(jiān)視[8]。編程器分很多種層次,性能、價(jià)格有很大的差別,最簡(jiǎn)單的不足千元,最貴的編程器可以達(dá)到十多萬(wàn)元[8]。</p><p>  (4) 電源模塊:提供可編程控制器能夠正常工作的直流電源。</p><p>  2.1.3 PLC工作原理</p><p>

18、  PLC的工作原理如圖2-2所示,主要分為以下三部分[9]:</p><p>  圖2-2 PLC工作原理</p><p>  (1) 集中采集輸入:</p><p>  執(zhí)行程序前,向輸入映像寄存器中讀入可編程控制器輸入端子的全部狀態(tài)。程序執(zhí)行的過(guò)程中,即使改變了輸入狀態(tài),輸入映像寄存器中的內(nèi)容也不會(huì)發(fā)生變化,直到下一個(gè)掃描周期的輸入處理階段,這些變化才會(huì)被讀

19、入。</p><p><b>  (2) 程序處理:</b></p><p>  在PLC執(zhí)行程序時(shí),程序指令逐條依次執(zhí)行,從輸入映像寄存器和其它軟元件的映像寄存器中讀出用戶(hù)程序中相關(guān)元件的狀態(tài),按照程序指令來(lái)進(jìn)行邏輯運(yùn)算,再在相應(yīng)的映像寄存器中寫(xiě)入結(jié)果。對(duì)于每個(gè)元件而言,隨著執(zhí)行逐條的程序,不改變?cè)诚窦拇嫫鞯膬?nèi)容,其中輸出映像寄存器的內(nèi)容決定了輸出寄存器的內(nèi)部觸

20、點(diǎn)的動(dòng)作。</p><p><b>  (3) 集中輸出:</b></p><p>  執(zhí)行完畢全部的用戶(hù)程序后,向輸出鎖存寄存器傳送輸出映像寄存器的狀態(tài),通過(guò)驅(qū)動(dòng)功率放大電路、隔離電路等外部電路,將PLC的控制信號(hào)向外輸出[8]。</p><p>  由此可見(jiàn),PLC是以掃描方式工作的:首先讀輸入回路繼電器狀態(tài)(I/O),把它們存入專(zhuān)用的輸入

21、映象存貯器區(qū)域中,然后執(zhí)行用戶(hù)程序,臨時(shí)中間結(jié)果存放在輔助繼電器存貯區(qū)中,運(yùn)算出的輸出繼電器值存入輸出映象存貯器區(qū)域中,執(zhí)行完用戶(hù)程序后,統(tǒng)一用輸出映像寄存器存貯器中的值去寫(xiě)各輸出端口,使輸出狀態(tài)改變,輸出結(jié)果后再?gòu)念^開(kāi)始循環(huán)執(zhí)行。</p><p>  2.2 系統(tǒng)設(shè)計(jì)要求</p><p>  該課題是以單片機(jī)為主控元件,根據(jù)PLC的接口特性,利用適當(dāng)?shù)耐鈬骷O(shè)計(jì)一種PLC原理樣機(jī)。

22、它能實(shí)現(xiàn)PLC輸入、掃描、輸出的工作特性,輸入輸出用光電耦合器隔離防止信號(hào)干擾。I/O接口的數(shù)量是衡量CPU性能的主要標(biāo)準(zhǔn)之一。本系統(tǒng)的設(shè)計(jì)定位是:應(yīng)用于控制量較小,控制要求不高的控制場(chǎng)合的微型可編程控制器,故本系統(tǒng)設(shè)置了8個(gè)輸入點(diǎn)和8個(gè)輸出點(diǎn),這種設(shè)計(jì)完全可以滿(mǎn)足該工況的需要。</p><p>  可通過(guò)上位機(jī)軟件,與單片機(jī)進(jìn)行實(shí)時(shí)通信,從PC機(jī)接收指令,并按照指令運(yùn)行程序,同時(shí)可以向PC機(jī)反饋設(shè)備運(yùn)行時(shí)記錄的

23、數(shù)據(jù),并能夠?qū)?shù)據(jù)保存。</p><p>  2.3 系統(tǒng)總體框圖</p><p>  根據(jù)系統(tǒng)的設(shè)計(jì)要求,采用AT89S52單片機(jī)為主控芯片,通過(guò)單片機(jī)數(shù)據(jù)地址總線及I/O端口,復(fù)位電路模塊、晶振電路模塊、電源模塊、串口通信模塊及輸入輸出光電隔離模塊等外圍電路,從而實(shí)現(xiàn)系統(tǒng)所需的設(shè)計(jì)功能。系統(tǒng)總體方案框圖如圖2-3所示:</p><p>  圖2-3 系統(tǒng)總體

24、框圖</p><p>  2.4 硬件的選型</p><p>  2.4.1 主控模塊的選型</p><p>  單片機(jī)作為主控模塊,其選型尤為重要。單片機(jī)在多年的發(fā)展歷程中,形成了多系列、多型號(hào)、多公司的局面,這使得在對(duì)單片機(jī)選型上有了較大的空間,因而,選擇一個(gè)合適的單片機(jī)有時(shí)真的不太容易,要考慮的方面太多。大致總結(jié)出以下幾點(diǎn):</p><

25、p>  (1) 單片機(jī)的基本參數(shù)。例如速度、程序存儲(chǔ)器容量、I/O引腳數(shù)量等。</p><p>  (2) 單片機(jī)的增強(qiáng)功能。例如雙指針、雙串口、擴(kuò)展RAM、RTC(實(shí)時(shí)時(shí)鐘)、CAN接口、EEPROM、I2C接口、SPI接口、USB的接口類(lèi)型、看門(mén)狗。</p><p>  (3) Flash和OTP(一次性可編程)相比,哪個(gè)更方便。</p><p>  (4

26、) 封裝:DIP(雙列直插),PLCC(PLCC有對(duì)應(yīng)的插座)還是貼片。</p><p>  (5) 工作溫度的范圍(是工業(yè)機(jī)還是商業(yè)機(jī))。</p><p>  (6) 功耗大小。</p><p>  (7) 工作電壓的范圍。</p><p>  (8) 供貨渠道是否暢通。</p><p><b>  (9

27、) 價(jià)格范圍。</b></p><p>  (10) 燒錄器的價(jià)格,能否ISP(在線系統(tǒng)編程)。</p><p><b>  (11) 仿真器。</b></p><p>  (12) 是否支持單片機(jī)匯編語(yǔ)言。</p><p>  (13) 資料盡量詳細(xì)豐富且完善。</p><p>  

28、(14) 抗干擾性能的好壞。</p><p>  (15) 綜合考慮和其他外設(shè)芯片放在一起是否使用方便。</p><p>  基于以上因素:由于系統(tǒng)的實(shí)時(shí)性要求不高,因此運(yùn)算速度不需要很快,而且系統(tǒng)的規(guī)模不大,若要對(duì)I/O口的數(shù)量可以要求進(jìn)一步降低,可采用分時(shí)復(fù)用的方式使用總線。使用4路8位I/O接口即可滿(mǎn)足設(shè)計(jì)要求;系統(tǒng)不需要擴(kuò)展外部存儲(chǔ)器對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),數(shù)據(jù)的存儲(chǔ)量為32KB已達(dá)到要求

29、,因此采用16位或準(zhǔn)16位地址總線的單片機(jī)即可滿(mǎn)足設(shè)計(jì)需要;由于處于實(shí)驗(yàn)階段,采用DIP(雙列直插)封裝的芯片比較方便,不考慮實(shí)際工業(yè)控制中對(duì)外界環(huán)境的具體要求;系統(tǒng)供電采用DC9V,且對(duì)功耗沒(méi)有具體要求,芯片供電使用DC5V,便于設(shè)計(jì)系統(tǒng)外圍電路;芯片支持ISP可節(jié)省仿真器的投入。當(dāng)單片機(jī)處于空閑模式時(shí),將停止CPU工作,定時(shí)器/計(jì)數(shù)器、RAM、串口中斷可以允許繼續(xù)工作。而處于掉電保護(hù)模式時(shí),將RAM中的內(nèi)容保存,凍結(jié)晶振,停止單片機(jī)

30、所有工作,直到硬件復(fù)位或下一個(gè)中斷才能結(jié)束這種狀態(tài)。</p><p>  綜上所述,采用與MCS-51兼容的AT89S52單片機(jī)滿(mǎn)足本畢業(yè)設(shè)計(jì)所需單片機(jī)的要求。</p><p>  2.4.2 通信模塊的選型</p><p>  AT89S52單片機(jī)內(nèi)部有一個(gè)全雙工異步串行I/O接口,占用P3.0和P3.1兩個(gè)引腳。利用該接口,可實(shí)現(xiàn)系統(tǒng)與上位機(jī)的通信。不同設(shè)備間

31、串口通信的過(guò)程中,需要采用相同的的接口標(biāo)準(zhǔn)才能通信。</p><p>  MAX232芯片是美信公司專(zhuān)門(mén)為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片, 供電使用+5v單電源??梢酝瓿蓛陕稵TL/RS-232電平的轉(zhuǎn)換,它的的9、10、11、12引腳是TTL電平端,用來(lái)連接單片機(jī)的。該芯片采用MAXMIM公司生產(chǎn)的+5V供電系統(tǒng),多通道RS-232驅(qū)動(dòng)器/接收器的MAX232芯片性?xún)r(jià)比高,是把計(jì)算機(jī)的串行口

32、RS-232信號(hào)電平(-10V,+10V)轉(zhuǎn)換為單片機(jī)所用到的TTL信號(hào)電平(0,+5V)主要特征如下:1、單電源5V操作,2、低功率接收模式,掉電模式,3、滿(mǎn)足所有EIA/TIA-232E和V.28規(guī)格,4、多路驅(qū)動(dòng)器和接收器,5、3態(tài)驅(qū)動(dòng)器和接收器輸出,6、16引腳DIP/SO封裝</p><p>  其工作原理:MAX232系列驅(qū)動(dòng)器/接收器專(zhuān)為EIA/TIA-232E以及V.28/V.24通信接口設(shè)計(jì),適

33、合電池供電系統(tǒng)。</p><p>  2.4.3 光電耦合器的選型</p><p>  PLC工作于工業(yè)控制現(xiàn)場(chǎng),而工業(yè)控制現(xiàn)場(chǎng)往往環(huán)境惡劣,存在著電磁、噪聲、振動(dòng)等各種干擾,因此PLC要正常工作必須具備良好的抗干擾性能。工業(yè)現(xiàn)場(chǎng)中,電磁干擾是較為嚴(yán)重的,因此為了實(shí)現(xiàn)良好的抗干擾性能必須把I/O接口和CPU從物理上隔離開(kāi)來(lái),以防止干擾信號(hào)的串入。PLC產(chǎn)品為了實(shí)現(xiàn)接口電路與CPU的隔離通

34、常采用光電耦合器隔離的方法。本設(shè)計(jì)已采用了這種方法,使用光電耦合器把輸入輸出接口同CPU隔離開(kāi)來(lái)。在一些需要通過(guò)絕緣層傳送信息但卻不允許物理電氣接觸的場(chǎng)合,通常需要一些隔離器件,依照信號(hào)經(jīng)過(guò)絕緣層傳送方式的不同,有幾種型態(tài)的隔離器可以選擇,其中較為普遍的就是通過(guò)光的方式傳送,這類(lèi)隔離器件就稱(chēng)為光電耦合器(Optocoupler)[10]。光電耦合器由包括發(fā)光二極管(LED)、光檢測(cè)器以及其他輸入和輸出編解碼電路組成[10]。輸入的電信號(hào)

35、驅(qū)動(dòng)發(fā)光二極管(LED),使它發(fā)出一定波長(zhǎng)的光,由光探測(cè)器接收后產(chǎn)生光電流,再經(jīng)過(guò)進(jìn)一步放大后輸出。這就完成了電—光—電的轉(zhuǎn)換,從而起到輸入、輸出隔離的作用[11]。本次電路的設(shè)計(jì)中選用TLP521-4型號(hào)的光電耦合器:</p><p>  表2.1 TLP521-4光電耦合器參數(shù)</p><p><b>  3 系統(tǒng)硬件設(shè)計(jì)</b></p><

36、;p>  3.1 AT89S52單片機(jī)簡(jiǎn)介</p><p>  AT89S52是一種高性能、低功耗的8位微控制器,采用CMOS工藝,在線系統(tǒng)可編程Flash存儲(chǔ)器達(dá)到8K[12]。制造技術(shù)采用了Atmel公司非易失性高密度存儲(chǔ)器技術(shù),引腳和指令可與工業(yè)單片機(jī)80C51產(chǎn)品完全兼容[13]。片上Flash允許程序存儲(chǔ)器在線系統(tǒng)可編程也適于常規(guī)編程器[14]。在單芯片上,AT89S52有著在線系統(tǒng)可編程Fla

37、sh和靈巧的8 位CPU,提供有效且靈活度高的解決方法,成為眾多嵌入式控制應(yīng)用系統(tǒng)的最佳選擇。</p><p>  AT89S52具有以下標(biāo)準(zhǔn)功能: 8位字長(zhǎng)的CPU,8K字節(jié)系統(tǒng)內(nèi)可編程Flash存儲(chǔ)器,256字節(jié)內(nèi)部RAM,20多個(gè)特殊功能寄存器, 四個(gè)8 位I/O 端口、ISP端口,全雙工串行口,時(shí)鐘電路及片內(nèi)晶振,而且AT89S52的靜態(tài)邏輯操作可降到0Hz,兩種支持的軟件,節(jié)電模式可以選擇[15];看門(mén)

38、狗定時(shí)器是一種硬、軟件相結(jié)合的重要的且常用的抗干擾技術(shù),能監(jiān)視系統(tǒng)的運(yùn)行情況,當(dāng)系統(tǒng)受到干擾使程序“跑飛”時(shí),能使程序退出死循環(huán),并轉(zhuǎn)向出錯(cuò)處理程序。雙數(shù)據(jù)指針DPTR,可使程序運(yùn)行速度更快。此外,還有6向量2級(jí)中斷結(jié)構(gòu)一個(gè),數(shù)據(jù)指針兩個(gè),16位定時(shí)器/計(jì)數(shù)器三個(gè)。</p><p>  相較于Atmel公司的前代產(chǎn)品AT89C51/C52,AT89S系列單片機(jī)芯片上有ISP可編程接口,具有從PC機(jī)下載目標(biāo)程序到用

39、戶(hù)板的功能,學(xué)習(xí)者只需一臺(tái)PC機(jī)、一塊用戶(hù)電路板和一條專(zhuān)用下載線及其配套軟件,即可在PC機(jī)中編譯程序,然后利用下載軟件下載目標(biāo)程序,并進(jìn)行仿真實(shí)驗(yàn),并且兼容AT89C51/C52和MCS-51(8031、8051)單片機(jī)。</p><p>  3.1.1 AT89S52單片機(jī)的引腳介紹</p><p>  圖3-1 AT89S52管腳圖</p><p>  P0

40、口:一個(gè)漏極開(kāi)路的8位雙向I/O口。當(dāng)做輸出口使用時(shí),每位I/O口可以驅(qū)動(dòng)8個(gè)TTL的邏輯電平。寫(xiě)“1”到P0端口時(shí),輸入為被用來(lái)作為高阻抗的引腳。當(dāng)訪問(wèn)數(shù)據(jù)存儲(chǔ)器和外部程序時(shí),把P0口當(dāng)做低8位的地址/數(shù)據(jù)復(fù)用[16]。這種模式狀態(tài)時(shí),P0由內(nèi)部提供上拉電阻。當(dāng)FLASH編程時(shí),P0口用于指令字節(jié)的接收;在程序校驗(yàn)時(shí),用來(lái)輸出指令字節(jié)。處于程序校驗(yàn)狀態(tài)時(shí),外部需要上拉電阻[17]。</p><p>  P1口:

41、一個(gè)8位雙向I/O口,內(nèi)部提供上拉電阻,其輸出緩沖器可以驅(qū)動(dòng)的TTL的邏輯電平為4個(gè)[18]。寫(xiě)“1”到P1端口時(shí),內(nèi)部提供的上拉電阻拉高端口,此時(shí)P1端將被當(dāng)做輸入口來(lái)使用。當(dāng)做輸入口使用時(shí),因?yàn)閮?nèi)部電阻上拉,外部把引腳下拉為低電平,電流(IIL)將被輸出[19]。此外,P1.0作為定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入端口(P1.0/T2),P1.2作為定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入端口(P1.1/T2EX),具體如表所示:</p>

42、<p>  表3.1 端口引腳第二功能</p><p>  當(dāng)FLASH編程和校驗(yàn)時(shí),P1口用于低8位地址字節(jié)的接收 [20]。</p><p>  P2口:一個(gè)8位雙向I/O口,內(nèi)部提供上拉電阻,其輸出緩沖器可以驅(qū)動(dòng)4個(gè)TTL邏輯電平[16]。P2端口寫(xiě)入“1”后,內(nèi)部提供的上拉電阻拉高端口,此時(shí)P1端將被當(dāng)做輸入口來(lái)使用。當(dāng)做輸入口使用時(shí),因?yàn)閮?nèi)部電阻上拉,外部把引腳下

43、拉為低電平,電流(IIL)被輸出 [19]。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在讀出地址“1”時(shí),利用內(nèi)部上拉電阻的優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。在FLASH編程和校驗(yàn)時(shí),高8位地址字節(jié)和一些控制信號(hào)由P2口接收[20]。</p><p>  P3口:一個(gè)8位帶內(nèi)部上拉電阻的雙向I/O口,P3輸出緩沖器可以接收輸

44、出4個(gè)TTL邏輯電平[18]。對(duì)P3端口寫(xiě)“1”時(shí),它們被內(nèi)部上拉為高電平,并用作輸入。用作輸入口時(shí),由于外部下拉為低電平而內(nèi)部上拉,P3口將輸出電流(ILL)。P3口也會(huì)作為AT89S52特殊功能(第二功能)使用,如下表所示[16]。</p><p>  表3.2 端口引腳第二功能</p><p>  此外,用于FLASH閃存編程和程序校驗(yàn)的一些控制信號(hào)也由P3口接收。</p&g

45、t;<p>  RST——復(fù)位輸入。當(dāng)晶振工作復(fù)位器件時(shí),RST引腳持續(xù)2個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位[21]。</p><p>  ALE/PROG——表示地址鎖存器啟用的信號(hào)。訪問(wèn)外部程序或數(shù)據(jù)存儲(chǔ)器的時(shí)候,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)[22]。一般在執(zhí)行程序時(shí),ALE引腳以1/6的系統(tǒng)工作頻率輸出固定的脈沖信號(hào),因此它可用作對(duì)外輸出時(shí)鐘脈沖或者用于定時(shí)的目的[2

46、3]。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖[24]。在FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)[23]。當(dāng)必要時(shí),可置位特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位來(lái)禁止ALE操作,該位置位后,只有MOVX和MOVC指令才能將ALE激活[25]。此外,該引腳被略微拉高,所以當(dāng)單片機(jī)處于執(zhí)行外部程序的狀態(tài)時(shí), ALE禁止位應(yīng)設(shè)置為無(wú)效[25]。</p><p> 

47、 PSEN——表示程序存儲(chǔ)啟用信號(hào)。程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存儲(chǔ)器執(zhí)行指令代碼(或數(shù)據(jù))時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,PSEN信號(hào)將跳過(guò)兩次[25],即PSEN將不被激活。</p><p>  EA/VPP——訪問(wèn)外部程序存儲(chǔ)器控制信號(hào),為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA端

48、必須接GND[26]。需要注意的是:若加密位LB1被編程,EA端狀態(tài)在復(fù)位時(shí)會(huì)被內(nèi)部鎖存 [27]。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接Vcc,內(nèi)部程序存儲(chǔ)器的指令則由CPU執(zhí)行。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp[28]。</p><p>  XTAL1:反向振蕩放大器的輸入端及內(nèi)部時(shí)鐘工作電路的輸入端。</p><p>  XTAL2:系統(tǒng)時(shí)鐘的反相振蕩放大器的

49、輸出端。</p><p>  3.1.2 AT89S52單片機(jī)的最小系統(tǒng)電路</p><p>  用最少的元器件建立并能使單片機(jī)正常工作的電路,稱(chēng)為單片機(jī)的最小系統(tǒng)圖,要使單片機(jī)按照設(shè)計(jì)要求正常工作,完整單片機(jī)最基本的工作要求,考慮到系統(tǒng)無(wú)需精確地定時(shí)功能,且為了方便串口通信波特率的計(jì)算,采用11.0592MHz的晶振提供系統(tǒng)時(shí)鐘。并附加復(fù)位電路,組成單片機(jī)最小系統(tǒng)。根據(jù)電路設(shè)計(jì)規(guī)范和A

50、T89S52芯片手冊(cè),設(shè)計(jì)晶振電路與復(fù)位電路如圖3-2:</p><p>  圖3-1 復(fù)位電路及晶振電路</p><p>  圖中網(wǎng)絡(luò)標(biāo)號(hào)RST連接單片機(jī)RST引腳,具有上電復(fù)位與手動(dòng)復(fù)位的功能;XTAL1與XTAL2連接單片機(jī)XTAL1和XTAL2引腳,且同時(shí)并聯(lián)兩個(gè)30pF的匹配電容使晶振起振,從而設(shè)計(jì)出如下圖所示的單片機(jī)最小系統(tǒng)圖:</p><p>  圖

51、3-3 單片機(jī)最小系統(tǒng)圖</p><p>  3.2 通信單元硬件設(shè)計(jì)</p><p>  如圖所示,MAX232有16個(gè)引腳:</p><p>  圖3-4 MAX232引腳</p><p>  由1、2、3、4、5、6腳和4只電容構(gòu)成第一部分電荷泵電路。其功能是產(chǎn)生給RS-232提供需要的串口電平的+12v和-12v兩個(gè)電源[29]

52、。</p><p>  由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道構(gòu)成第二部分?jǐn)?shù)據(jù)轉(zhuǎn)換通道。其中第一數(shù)據(jù)通道由13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)構(gòu)成[29]。第二數(shù)據(jù)通道由8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)組成。從11引腳(T1IN)、10引腳(T2IN)將TTL/CMOS數(shù)據(jù)輸入,并且轉(zhuǎn)換成,然后從14腳

53、(T1OUT)、7腳(T2OUT)將RS-232數(shù)據(jù)送到電腦DB9插頭;相反的,從13引腳(R1IN)、8引腳(R2IN)將DB9插頭的RS-232數(shù)據(jù)輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù),然后從12引腳(R1OUT)、9引腳(R2OUT)將轉(zhuǎn)換后TTL/CMOS數(shù)據(jù)的輸出[30]。</p><p>  15腳GND、16腳VCC(+5v)屬于供電是第三部分。</p><p>  圖3-5 串

54、行通信模塊電路圖</p><p>  R2OUT引腳接到單片機(jī)串口接收引腳RXD(P3.0),T2IN引腳接到單片機(jī)串口發(fā)送引腳TXD(P3.1)。而對(duì)應(yīng)的T2OUT引腳則接到九孔插座的2號(hào)孔,R2IN引腳接到九孔插座的3號(hào)孔。</p><p>  3.3 其他外圍接口電路設(shè)計(jì)</p><p>  3.3.1 繼電器部分電路</p><p&g

55、t;  繼電器電路設(shè)計(jì)。由于單片機(jī)I/O口的驅(qū)動(dòng)電流比較弱,達(dá)不到繼電器吸合電流的參數(shù)要求,所以為使繼電器動(dòng)作,需要采用三極管驅(qū)動(dòng)。設(shè)計(jì)電路如下圖所示:</p><p>  圖3-6 繼電器部分電路圖</p><p>  3.3.2 光電耦合器隔離電路</p><p>  由于光電耦合器輸入與輸出之間相互隔離,而電信號(hào)的傳輸具有單向性等特點(diǎn),因此光耦具有良好的抗

56、干擾性和電絕緣性。又由于光電耦合器的輸入端屬于電流型工作的低阻元件,因而具有很強(qiáng)的共模抑制能力[31]。所以,它在長(zhǎng)線傳輸信息中作為終端隔離元件可以大大提高信噪比[32]。</p><p>  圖3-7 光隔離輸入</p><p>  圖3-8 光電隔離輸出</p><p><b>  4 系統(tǒng)軟件設(shè)計(jì)</b></p>&l

57、t;p>  系統(tǒng)軟件的設(shè)計(jì)思想是:編制的助記符指令被編程軟件翻譯為單片機(jī)的匯編語(yǔ)言,通過(guò)文本編輯軟件,用戶(hù)只需建立助記符程序源文件并將其存為.PLC格式,即可直接運(yùn)行翻譯程序進(jìn)行翻譯,生成.ASM格式的文件,再通過(guò)匯編器的編譯后生成目標(biāo)碼.HEX文件,最后裝入單片機(jī)。</p><p>  4.1 系統(tǒng)運(yùn)行程序</p><p>  根據(jù)PLC循環(huán)掃描、集中采集輸入、集中輸出的工作方式

58、,設(shè)計(jì)了本次設(shè)計(jì)的系統(tǒng)運(yùn)行程序。由于單片機(jī)的并行口在上電復(fù)位后都為高電平,因而設(shè)計(jì)輸出為高電平有效,因而在程序運(yùn)行剛開(kāi)始的時(shí)候,首先向輸出口P2寫(xiě)“1”,將輸出口電平拉低。而后調(diào)用MOV 20H,#00H將輸入映像區(qū)20H清空,隨后進(jìn)入一個(gè)“讀輸入—邏輯運(yùn)算—寫(xiě)輸出”循環(huán)周期。在每個(gè)循環(huán)的開(kāi)始調(diào)用MOV P2,#0FFH 和MOV 20H,P2兩條指令讀取輸入口的狀態(tài),由于系統(tǒng)邏輯運(yùn)算部分設(shè)計(jì)為高電平有效,而輸入狀態(tài)掃描設(shè)計(jì)為低電平有

59、效,所以當(dāng)我們采集輸入點(diǎn)信息并讀入輸入映像區(qū)后,首先要將輸入映像區(qū)的值全部取反,再進(jìn)行邏輯運(yùn)算。邏輯與運(yùn)算完畢后將進(jìn)入寫(xiě)輸出操作階段,由于在翻譯邏輯運(yùn)算的同時(shí)已經(jīng)在輸出映像區(qū)24H的對(duì)應(yīng)位將輸出量寫(xiě)進(jìn)去了,因此在循環(huán)末尾只需調(diào)用MOV P1,24H在引腳中將輸出緩沖區(qū)全部寫(xiě)入即可。</p><p>  圖4-1 系統(tǒng)運(yùn)行圖</p><p>  4.2 翻譯程序設(shè)計(jì)</p>

60、<p>  整個(gè)翻譯程序共分為四個(gè)模塊:文件掃描模塊、錯(cuò)誤檢查模塊、邏輯翻譯模塊、結(jié)果輸出模塊。文件掃描模塊主要是將編好的程序記錄到系統(tǒng)中,為下一步的錯(cuò)誤檢查做準(zhǔn)備;;而查錯(cuò)模塊主要用于對(duì)梯形圖和指令表進(jìn)行語(yǔ)法檢查;轉(zhuǎn)化模塊用于實(shí)現(xiàn)梯形圖與指令表的轉(zhuǎn)化[8];邏輯翻譯模塊是翻譯程序的核心,主要用于對(duì)指令表語(yǔ)言的編輯翻譯,使其變成能下載到單片機(jī)中的目標(biāo)碼;監(jiān)控則是由通信模塊和上下位機(jī)之間的通信,監(jiān)控下位機(jī)的運(yùn)行,實(shí)時(shí)跟蹤下位機(jī)

61、各資源的內(nèi)部狀態(tài)[8]。翻譯是通過(guò)I/O映像區(qū)地址表的建立,操作數(shù)字段操作數(shù)類(lèi)型與標(biāo)號(hào)的分離,操作碼字段翻譯,I/O點(diǎn)對(duì)應(yīng)的位地址的確定等幾個(gè)階段完成的。翻譯是通過(guò)函數(shù)Interpreter()的調(diào)用實(shí)現(xiàn)的。</p><p>  圖4-2 錯(cuò)誤檢查模塊</p><p>  軟件設(shè)計(jì)的思路是設(shè)計(jì)翻譯程序?qū)⒅浄绦?PLC翻譯成為匯編語(yǔ)言程序.ASM。通過(guò)研究可以發(fā)現(xiàn),可以利用PLC助記符

62、程序和MCS-51匯編語(yǔ)言存在著一定的對(duì)應(yīng)關(guān)系進(jìn)行翻譯。具體方法是:先確定PLC助記符指令語(yǔ)句與匯編語(yǔ)句組的對(duì)應(yīng)關(guān)系,翻譯時(shí)派發(fā)地址即可。PLC助記符指令與MCS-51匯編指令對(duì)應(yīng)表如表4-1所示:</p><p>  表4-1 PLC助記符指令與MCS-51匯編指令對(duì)應(yīng)表</p><p>  圖4-3 邏輯翻譯模塊</p><p>  4.2.1 I/O映像

63、區(qū)地址表的建立</p><p>  輸入輸出映像區(qū)地址表中包含了目標(biāo)程序中全部可用的輸入輸出點(diǎn)的位地址。</p><p>  首先建立輸入映像區(qū)地址表和輸出映像區(qū)地址表,表結(jié)構(gòu)定義如下:</p><p>  typedef struct IBitadress</p><p><b>  {</b></p>

64、<p><b>  char *b;</b></p><p><b>  int Iid;</b></p><p>  }Iadress;/*輸入映像區(qū)定義*/</p><p>  字符指針?lè)謩e指向輸入緩沖區(qū)20H和輸出緩沖區(qū)24H,輸入緩沖區(qū)的每一位的位地址標(biāo)號(hào)由Iid標(biāo)示,輸出緩沖區(qū)的每一位的位地址標(biāo)號(hào)由Xi

65、d標(biāo)示。通過(guò)輸入映像區(qū)表和輸出映像區(qū)表的初始化來(lái)觀察表示方法:</p><p>  Iadress Ibit[8]=</p><p><b>  {</b></p><p>  {"20H.0\0",0},</p><p>  {"20H.1\0",1},</p>&

66、lt;p>  {"20H.2\0",2},</p><p>  {"20H.3\0",3},</p><p>  {"20H.4\0",4},</p><p>  {"20H.5\0",5},</p><p>  {"20H.6\0",6

67、},</p><p>  {"20H.7\0",7},</p><p>  };/*輸入映像區(qū)表初始化*/</p><p>  通過(guò)該初始化過(guò)程可以發(fā)現(xiàn):每字節(jié)位地址的位標(biāo)號(hào)與輸入(輸出)表的Iid字段和位地址是相對(duì)應(yīng)的,如輸入(輸出)映像區(qū)地址“20H.0(24H.0)”對(duì)應(yīng)的標(biāo)號(hào)Iid為“0(0)”,與“20H.1(24H.1)”對(duì)應(yīng)的Iid

68、為“1(0)”。 </p><p>  在翻譯的時(shí)候,映像表中的取用地址由我們通過(guò)源文件鏈表節(jié)點(diǎn)中的I/O點(diǎn)的類(lèi)型來(lái)決定,再結(jié)合輸入點(diǎn)號(hào)最終唯一確定一個(gè)位地址將作為程序地址。</p><p>  4.2.2 源文件操作碼類(lèi)型和I/O點(diǎn)號(hào)的分離</p><p>  當(dāng)遍歷到一個(gè)節(jié)點(diǎn)時(shí),將操作數(shù)(Poprand)字段從節(jié)點(diǎn)數(shù)據(jù)域中取出,并分離操作數(shù)字段的I/O點(diǎn)號(hào)和I

69、/O點(diǎn)類(lèi)型,具體方法是:</p><p>  先取出Poprand字段第一個(gè)字符Poprand[0]存入變量Poprand_1,該字段表示了I/O點(diǎn)的類(lèi)型,“I”是輸入點(diǎn),“X”代表輸出點(diǎn),“0”是ORLD/ANDLD指令使用的固定操作碼。然后取出Poprand字段的第二個(gè)字符Poprand[1]存入變量Poprand_1,該字段表示了I/O點(diǎn)的標(biāo)號(hào)。</p><p>  4.2.3 操

70、作碼字段翻譯</p><p>  當(dāng)掃描到節(jié)點(diǎn)時(shí),首先判別取出的節(jié)點(diǎn)的操作碼字?jǐn)郟opcode[ ],通過(guò)判別可以確定最終翻譯生成的匯編代碼的操作數(shù)字段和操作碼字段其中的一個(gè),通過(guò)分離后的Poprand_1和Poprand_2共同確定表示位地址的操作碼字段。位尋址指令的特點(diǎn)決定了在生成目標(biāo)程序的操作數(shù)字段時(shí),邏輯量的暫存要選取程序狀態(tài)字PSW的最高位Cy。邏輯節(jié)點(diǎn)組暫存選用了位地址22H.0。</p>

71、<p>  源文件操作碼字段Popcode[ ]的翻譯分以下三種情況:</p><p>  (1) 目標(biāo)代碼地址固定的語(yǔ)句的翻譯</p><p>  ORLD 0. 譯為 ORL C,22H.0</p><p>  ANDLD 0. 譯為 ANL C,22H.0</p><p>  由

72、于這類(lèi)指令中的位地址是不會(huì)發(fā)生改變的,所以翻譯是固定的,是表示向固定的暫存區(qū)22H.0中存入組節(jié)點(diǎn)并聯(lián)時(shí)的中間結(jié)果。</p><p>  (2) 通過(guò)操作碼字段的翻譯后只需確定位地址的語(yǔ)句的翻譯 </p><p>  OR(ORNOT) I1. 譯為 ORL C,I1(ORL C,/I1)</p><p>  AND(ANDNOT) I1. 譯為

73、 ANL C,I1(ANL C,/I1)</p><p>  從這兩句中可以確定目標(biāo)程序的操作碼字段和操作數(shù)字段的一個(gè)值,而等待確定的只剩下I/O點(diǎn)地址I1了。</p><p>  (3) 需保存中間結(jié)果的語(yǔ)句的翻譯</p><p>  遇到成組串并聯(lián)的情況,需先將上一組邏輯的結(jié)果存入暫存區(qū)。即翻譯為:當(dāng)ldflag=0時(shí) LD I1 譯為 MOV C,I1;當(dāng)ld

74、flag=1時(shí) LD I1 譯為 MOV 22H.0,C MOV C,I1 兩句要指出的是在進(jìn)行判斷的時(shí)候首先應(yīng)該判斷條件(ldfalg=1)然后再判斷條件(ldfalg= 0),否則很有可能會(huì)漏掉需要暫存的中間點(diǎn)。在當(dāng)遇到OUT指令時(shí),應(yīng)先把ldflag清零,因?yàn)镺UT指令表示了一個(gè)邏輯回路的結(jié)束。</p><p>  4.2.4 I/O點(diǎn)對(duì)應(yīng)的位地址的確定</p><p>  通過(guò)

75、對(duì)源文件操作碼字段的分析和翻譯,完整的把少量源程序的語(yǔ)句翻譯出來(lái),這些語(yǔ)句涉及的都是固定地址的位置。多數(shù)已經(jīng)得到了目標(biāo)程序也就匯編代碼的操作碼字段和一個(gè)操作數(shù)字段, 剩下一個(gè)位地址字段等待確定。確定了位地址以后,整個(gè)程序的翻譯也就都完成了,這是翻譯中最關(guān)鍵的一步。在這里用到了I/O映像區(qū)地址表和通過(guò)分離源文件操作數(shù)字段Poprand[]的得到的I/O點(diǎn)標(biāo)號(hào)Poprand_1。</p><p>  確定位地址的方法

76、是首先分析分離得到的Poprand_0,若Poprand_0為”I”則查找輸入映像區(qū),這時(shí)再用變量Poprand_1和輸入映像區(qū)地址表的Iid字段匹配,匹配成功則取出Iid對(duì)應(yīng)的位地址,這樣就完成了位地址的確定。</p><p>  在邏輯翻譯之前和邏輯翻譯之后將系統(tǒng)程序分別導(dǎo)入到輸出鏈表,而最后輸出的就是具備了完整的控制功能的程序。通過(guò)后接匯編編譯器翻譯為.HEX文件,用下載器下載到單片機(jī)即可。翻譯軟件部分運(yùn)行

77、圖片如下圖所示。</p><p>  圖4-4 主程序界面</p><p>  圖4-5 讀入PLC源程序</p><p>  圖4-6 錯(cuò)誤檢查</p><p>  圖4-7 翻譯結(jié)果</p><p><b>  4.3 結(jié)論</b></p><p>  本設(shè)計(jì)

78、是在分析了可編程控制器系統(tǒng)的工作原理和實(shí)現(xiàn)方式后,通過(guò)上網(wǎng)和去圖書(shū)館查找相關(guān)資料完成的。實(shí)踐證明,用單片機(jī)仿真可編程序控制器是合理可行的。軟、硬件部分均實(shí)現(xiàn)了預(yù)想的功能。</p><p>  將PLC的設(shè)計(jì)思想和實(shí)現(xiàn)原理運(yùn)用于單片機(jī)系統(tǒng)的設(shè)計(jì),縮短了系統(tǒng)的開(kāi)發(fā)周期,降低了系統(tǒng)的造價(jià),同時(shí)具有良好的經(jīng)濟(jì)性,實(shí)驗(yàn)室樣板的造價(jià)大約在70至80元,遠(yuǎn)低于市場(chǎng)同類(lèi)產(chǎn)品,具有很高的性能價(jià)格比,在一些要求不高,控制量不大的控制

79、場(chǎng)合完全能夠滿(mǎn)足要求。</p><p><b>  5 仿真調(diào)試</b></p><p>  仿真調(diào)試是對(duì)整個(gè)設(shè)計(jì)的一種檢驗(yàn),由于時(shí)間關(guān)系,因此本設(shè)計(jì)僅采用了軟件仿真來(lái)驗(yàn)證程序的可行性。</p><p>  5.1 軟件仿真調(diào)試</p><p>  5.1.1 系統(tǒng)簡(jiǎn)介</p><p>  

80、本設(shè)計(jì)是基于單片機(jī)的PLC設(shè)計(jì)與實(shí)現(xiàn),即利用單片機(jī)實(shí)現(xiàn)PLC的基本功能,由于PLC的輸入輸出信號(hào)由光耦隔離,因此其抗干擾性強(qiáng),所以在本設(shè)計(jì)中8個(gè)輸入,8個(gè)輸出都由光耦將其與單片機(jī)隔離開(kāi),而且,為了使仿真效果更加明顯,特地在輸出端繼電器之后接了電動(dòng)機(jī),當(dāng)程序運(yùn)行時(shí),指定的燈會(huì)亮起,對(duì)應(yīng)的電動(dòng)機(jī)將會(huì)工作。另外,為了能更明顯的區(qū)別PLC上電、編程、運(yùn)行不同的狀態(tài),特地設(shè)置系統(tǒng)狀態(tài)為上電時(shí),紅燈亮,液晶屏顯示“Power On”,當(dāng)系統(tǒng)狀態(tài)為編

81、程時(shí),紅燈和黃燈亮,液晶屏顯示“Programming”,當(dāng)系統(tǒng)為運(yùn)行狀態(tài)時(shí),黃燈滅,綠燈亮起,紅燈依舊亮著,此時(shí)液晶屏顯示“Running”。</p><p>  圖5-1 上電狀態(tài)</p><p>  圖5-2 編程狀態(tài)</p><p>  圖5-3 運(yùn)行狀態(tài)</p><p>  5.1.2 軟件仿真</p><

82、;p>  根據(jù)PLC集中采樣輸入、掃描、集中輸出的工作特點(diǎn),用24V電源和地來(lái)模擬高低電平,高電平輸入有效,低電平輸入無(wú)效來(lái)控制電動(dòng)機(jī)的轉(zhuǎn)動(dòng),系統(tǒng)上電時(shí),系統(tǒng)輸出Y0Y7為0,電動(dòng)機(jī)不工作;當(dāng)狀態(tài)開(kāi)關(guān)置編程時(shí),通過(guò)撥動(dòng)輸入的開(kāi)光自由將其連接24V或地狀態(tài),此時(shí)系統(tǒng)將輸入X0X7狀態(tài)保存,輸出Y0Y7不變;當(dāng)狀態(tài)開(kāi)關(guān)置運(yùn)行時(shí),此時(shí)單片機(jī)掃描輸入狀態(tài),然后系統(tǒng)輸出Y0Y7為保存的X0X7狀態(tài),即相應(yīng)的輸出電路燈亮,電動(dòng)機(jī)工作。其中,程

83、序執(zhí)行的過(guò)程中,即使改變了輸入狀態(tài),也無(wú)法更改程序,直到下一個(gè)掃描周期的輸入處理階段,這些變化才會(huì)被讀入,成為一個(gè)新的程序被運(yùn)行。</p><p>  圖5-4 輸入端狀態(tài)</p><p>  由圖可見(jiàn),此時(shí)輸入端X0、X1、X2接地,X3、X4、X5、X6、X7接24V電源,因此,對(duì)應(yīng)的Y0、Y1、Y2輸出接的燈不亮,繼電器不動(dòng)作,電動(dòng)機(jī)不轉(zhuǎn)動(dòng),而Y3、Y4、Y5、Y6、Y7輸出接的燈

84、應(yīng)該亮,繼電器吸合且電動(dòng)機(jī)工作。</p><p>  圖5-5 輸出端狀態(tài)</p><p><b>  結(jié) 束 語(yǔ)</b></p><p>  經(jīng)過(guò)兩個(gè)多月的努力,基于單片機(jī)的PLC設(shè)計(jì)與實(shí)現(xiàn)論文終于完成。在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中,筆者遇到了很多的難題,但在指導(dǎo)老師和同組同學(xué)的幫助下都順利解決了。在這段時(shí)間里,筆者從不斷學(xué)習(xí)的過(guò)程中體會(huì)到:做畢業(yè)

85、設(shè)計(jì)是一個(gè)不斷學(xué)習(xí)和充實(shí)自己的過(guò)程,從最初剛寫(xiě)論文時(shí)對(duì)單片機(jī)選型問(wèn)題的模糊認(rèn)識(shí)到最后能夠?qū)υ搯?wèn)題有深刻的了解認(rèn)識(shí),筆者體會(huì)到實(shí)踐對(duì)于學(xué)習(xí)的重要性,以前只是單純的學(xué)習(xí)理論,沒(méi)有自己親身的實(shí)踐考察,對(duì)理論知識(shí)的理解不夠透徹,通過(guò)這次的自主操作練習(xí),真正做到了理論、實(shí)踐相結(jié)合。</p><p>  總之,通過(guò)這次的畢業(yè)設(shè)計(jì),筆者深刻了解到要做好一件完整的事,需要有系統(tǒng)的思維方式和方法,對(duì)待需要解決的問(wèn)題,要有耐心、要善

86、于運(yùn)用自己已有的資源來(lái)充實(shí)和完善自己。同時(shí),也深刻的了解到,對(duì)待一件新事物時(shí),首先要從整體考慮,然后再規(guī)劃詳細(xì)的步驟,完成一步之后再實(shí)行下一步,這樣才能更加有效的完成任務(wù)。</p><p><b>  致 謝</b></p><p>  在如今本論文完成之際,筆者要衷心感謝在學(xué)習(xí)和生活中給予筆者幫助和支持的人們。感謝導(dǎo)師**教授,在課題研究及論文的完成中對(duì)筆者的悉心

87、指導(dǎo)。在筆者做論文期間,得到了**老師給予的悉心指導(dǎo)和關(guān)懷,*老師認(rèn)真負(fù)責(zé)的工作精神、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的知識(shí)、敏銳的專(zhuān)業(yè)眼光、真誠(chéng)寬厚的待人品德、耐心細(xì)致的講解態(tài)度是筆者今后學(xué)習(xí)的榜樣,王老師的言傳身教使筆者終生受益。</p><p>  同時(shí)感謝**學(xué)院的老師們,他們?cè)诠P者的學(xué)習(xí)和研究論文課題時(shí)提供了很大的幫助。感謝一起進(jìn)行課題研究的同學(xué),他們認(rèn)真負(fù)責(zé)的工作態(tài)度,樂(lè)于助人的合作精神,在共同的學(xué)習(xí)和研究生活中

88、,筆者從他們那得到多啟發(fā)。感謝父母及朋友們,在學(xué)習(xí)和生活上給了筆者莫大的鼓勵(lì)和支持。</p><p>  最后,向各位在百忙之中審讀本文的老師表示誠(chéng)摯的感謝!</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  [1] 李紅超、段學(xué)習(xí)、王蘊(yùn)嶺, 基于單片機(jī)的PLC數(shù)據(jù)采集模塊實(shí)現(xiàn)[J],中小企業(yè)管理與科技,2011(09):

89、238.</p><p>  [2] 崔雅嵩. 淺談PLC原理及應(yīng)用[J].才智, 2011,(36):38.</p><p>  [3] 浙江大學(xué)羅克韋爾自動(dòng)化技術(shù)中心.可編程控制器系統(tǒng)[M].浙江:浙江大學(xué)出版社,2002.510.</p><p>  [4] 謝克明,夏路易.可編程控制器原理與程序設(shè)計(jì)[M].第一版.北京:電子工業(yè)出版社,2002.19.<

90、;/p><p>  [5] 姜官武. 甘玻纖廠浸潤(rùn)劑配制過(guò)程自動(dòng)控制系統(tǒng)設(shè)計(jì)[D].四川 :西南科技大學(xué),2010.</p><p>  [6] 周峰.基于數(shù)控的開(kāi)放式軟PIE的研究與開(kāi)發(fā)[D].北京:北京工業(yè)大學(xué),2005.</p><p>  [7] Ramirez-Serrano A,Zhu S C,Chan S K H,et a1.A hybrid PC/P

91、LC architecture for manufacturing-system control-theory and implementation[J].Journal of Intelligent Manufacturing,2002,13(4):261281.</p><p>  [8] 姜琳. 基于單片機(jī)的plc設(shè)計(jì)與實(shí)現(xiàn)[D].南京:東南大學(xué),2008.</p><p>  [9

92、] 潘勇.?dāng)?shù)控系統(tǒng)中梯形圖編程軟件的研究及實(shí)現(xiàn)[D].武漢:武漢理工,2005.</p><p>  [10] Siok Been Yeo.新一代光電耦合器簡(jiǎn)化設(shè)計(jì)并提供保護(hù)[J]. EDN CHINA 電子設(shè)計(jì)技術(shù), 2009(09):5758.</p><p>  [11] 于爽,管敏杰. 一種新型光電報(bào)警器的設(shè)計(jì)[J]. 科技信息,2011(06):7677.</p>

93、<p>  [12] 饒學(xué)軍,段景漢,魏強(qiáng).蓄電池組智能維護(hù)儀的設(shè)計(jì)及實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2007(09): 4950.</p><p>  [13] 黃浴梅. 家用空調(diào)的單片機(jī)控制系統(tǒng)設(shè)計(jì)[J]. 裝備制造技術(shù),2012(08):6771.</p><p>  [14] 樊軍慶,張寶珍.基于AT89S52對(duì)啤酒巴氏滅菌機(jī)溫度控制系統(tǒng)的設(shè)計(jì)[J]. 釀酒科技,2009(0

94、7):8990.</p><p>  [15] 鄭亞玉,吳志鋼,王麗君.基于GSM網(wǎng)絡(luò)短消息進(jìn)行遠(yuǎn)程監(jiān)測(cè)、報(bào)警、控制一體化管理設(shè)計(jì)[J].科技信息,2010(25):5758.</p><p>  [16] 羅淳. 模糊自整定PID的溫室溫度控制器的設(shè)計(jì)[D]. 武漢:武漢科技大學(xué),2009.</p><p>  [17] 劉鵬成. 基于最小能耗等時(shí)到溫系統(tǒng)設(shè)計(jì)[D

95、].北京:北京化工大學(xué),2009.</p><p>  [18] 劉慶利. 基于智能傳感器的火炮姿態(tài)調(diào)整平臺(tái)研究[D].四川:西南交通大學(xué), 2011.</p><p>  [19] 徐艷霞. 一種新型輸送帶監(jiān)測(cè)系統(tǒng)的研究與實(shí)現(xiàn)[D].山東:中國(guó)海洋大學(xué), 2011.</p><p>  [20] 陳和娟. 基于STC12C5A60S2的智能循跡小車(chē)設(shè)計(jì)[J]. 湖

96、南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012(09):6768.</p><p>  [21] 劉強(qiáng). 基于spwm的電梯門(mén)機(jī)控制系統(tǒng)的研究[D].吉林:吉林大學(xué), 2006.</p><p>  [22] 林國(guó)棟. 糧食水分在線檢測(cè)控制系統(tǒng)的研究[D].沈陽(yáng):沈陽(yáng)工業(yè)大學(xué), 2003.</p><p>  [23] 沈永明. 4×0系列衛(wèi)星接收機(jī)MCU電路的控制[J

97、]. 衛(wèi)星電視與寬帶多媒體, 2006(10):5758.</p><p>  [24] 楊恢宏. 配網(wǎng)PT飽和諧振過(guò)電壓及消諧裝置的研究[D].陜西:長(zhǎng)安大學(xué),2000.</p><p>  [25] 田海. 基于can總線的鋼軌氣壓焊控制系統(tǒng)[D]. 四川:西南交通大學(xué),2009.</p><p>  [26] 安靜. 烤煙葉片物理性能參數(shù)測(cè)定技術(shù)與設(shè)備試驗(yàn)研究

98、[D].河南:河南農(nóng)業(yè)大學(xué), 2011.</p><p>  [27] 馮磊.醫(yī)院多功能情報(bào)監(jiān)控系統(tǒng)的研究[D].上海:上海交通大學(xué), 2008.</p><p>  [28] 李成城. 基于單片機(jī)的高精度恒溫模糊控制系統(tǒng)[D].湖南:中南大學(xué), 2002.</p><p>  [29] 張念文. 基于LabVIEW的噴霧降溫控制系統(tǒng)設(shè)計(jì)[D].內(nèi)蒙古:內(nèi)蒙古農(nóng)業(yè)大

99、學(xué),2011.</p><p>  [30] 張海峰,任愛(ài)鋒,仝欣,阮航. 基于MSP430的心電采集系統(tǒng)[J]. 電子科技,2011(11):8083.</p><p>  [31] 王曉旭. 塑殼斷路器可靠性試驗(yàn)技術(shù)的研究[D].河北:河北工業(yè)大學(xué),2008.</p><p>  [32] 高代軍,肖長(zhǎng)亮,鄒德東,吳北平.對(duì)一根電纜帶兩個(gè)傳感器在分站上應(yīng)用的定性

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論