版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢 業(yè) 設(shè) 計(jì)</p><p> 題 目: 基于單片機(jī)的MODBUS通訊器設(shè)計(jì) </p><p> 學(xué)院: 電氣信息學(xué)院 </p><p> 專業(yè): 電子信息工程 班級(jí): 0902 學(xué)號(hào): 38 </p><p>
2、 學(xué)生姓名: </p><p> 導(dǎo)師姓名: </p><p> 完成日期: 2013年05月31日 </p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)&l
3、t;/p><p> 題目: 基于單片機(jī)的MODBUS通訊器設(shè)計(jì) </p><p> 姓名 系 電氣信息學(xué)院 專業(yè) 電子信息工程 班級(jí) 0902 學(xué)號(hào) 200901030238 </p><p> 指導(dǎo)老師 職稱
4、 講師 教研室主任 </p><p> 一、 基本任務(wù)及要求:</p><p> 1、查找資料,熟悉單片機(jī)的基本結(jié)構(gòu)及功能,熟悉利用52單片機(jī)進(jìn)行通訊 器的硬件設(shè)計(jì)。</p><p> 2、掌握C51語(yǔ)言,并完成MODBUS通訊程序的編寫(xiě)</p><p> 3、利用Altium desi
5、gner軟件畫(huà)原理圖及PCB。</p><p> 4、購(gòu)買元器件并焊接,制作通訊器。</p><p> 5、通信器軟硬件調(diào)試。</p><p> 二、 進(jìn)度安排及完成時(shí)間:</p><p> ?。?)第一周至第三周:查閱資料、撰寫(xiě)文獻(xiàn)綜述和開(kāi)題報(bào)告 ; </p><p> (2)第
6、四周至第五周:利用Altium designer軟件畫(huà)原理圖及PCB; </p><p> ?。?)第六周至第十一周;編寫(xiě)代碼并完成調(diào)試工作; </p><p> ?。?)第十二周至第十三周:撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū); </p><p>
7、(5)第十四周:畢業(yè)設(shè)計(jì)答辯; </p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p> 第1章 緒 論1</p>
8、<p><b> 1.1 概述1</b></p><p> 1.2 目的與意義2</p><p> 1.3 發(fā)展現(xiàn)狀和前景展望3</p><p> 1.4 研究的主要內(nèi)容和步驟4</p><p> 1.4.1 主要內(nèi)容4</p><p> 1.4.2 設(shè)計(jì)的步驟
9、4</p><p> 第2章 系統(tǒng)設(shè)計(jì)方案6</p><p> 2.1設(shè)計(jì)方案選擇6</p><p> 2.2 芯片選擇6</p><p> 2.3 軟件方案設(shè)計(jì)7</p><p> 第3章 硬件電路設(shè)計(jì)8</p><p> 3.1 主機(jī)CPU模塊8</p>
10、;<p> 3.2 電源模塊9</p><p> 3.3 液晶顯示模塊10</p><p> 3.4 存儲(chǔ)模塊11</p><p> 3.5 程序調(diào)試下載模塊12</p><p> 3.6 串口通訊模塊13</p><p> 3.7 從機(jī)主控模塊14</p><
11、p> 3.8 LED燈顯示模塊15</p><p> 3.9 溫度檢測(cè)模塊15</p><p> 第4章 軟件設(shè)計(jì)17</p><p> 4.1串口通信模塊17</p><p> 4.2數(shù)據(jù)幀處理模塊17</p><p> 4.3參數(shù)保存模塊19</p><p>
12、 4.4液晶顯示模塊20</p><p> 第5章 系統(tǒng)調(diào)試23</p><p> 5.1硬件調(diào)試23</p><p> 5.1.1 主機(jī)電路板調(diào)試23</p><p> 5.1.2 從機(jī)電路板調(diào)試24</p><p> 5.2軟件件調(diào)試24</p><p> 5.2
13、.1調(diào)試平臺(tái)24</p><p> 5.2.2調(diào)試問(wèn)題25</p><p> 5.3調(diào)試結(jié)果26</p><p><b> 參考文獻(xiàn)28</b></p><p><b> 致 謝29</b></p><p> 附錄1 主機(jī)硬件原理圖30</p>
14、;<p> 附錄2 從機(jī)硬件原理圖31</p><p> 附錄3 主機(jī)PCB實(shí)物圖32</p><p> 附錄4 從機(jī)PCB實(shí)物圖33</p><p> 附錄5 主機(jī)通訊程序代碼34</p><p> 附錄6 從機(jī)通訊程序代碼38</p><p> 基于單片機(jī)的MODBUS通訊器的設(shè)
15、計(jì)</p><p> 摘 要:隨著現(xiàn)場(chǎng)總線在工業(yè)應(yīng)用中的越來(lái)越廣泛,越來(lái)越普及,Modbus作為其中的一種簡(jiǎn)單協(xié)議也受到不少的歡迎。本論文根據(jù)Modbus協(xié)議中RTU模式實(shí)現(xiàn)讀寄存器、寫(xiě)單個(gè)寄存器、寫(xiě)多個(gè)寄存器等多個(gè)功能。本系統(tǒng)從機(jī)以STC12C5A60S2為基本平臺(tái),利用RS232串口實(shí)現(xiàn)與上位機(jī)通訊,用單片機(jī)的內(nèi)部RAM寄存器模擬協(xié)議中的寄存器,根據(jù)寄存器的值調(diào)節(jié)單片機(jī)PWM輸出,改變LED燈的亮度,單片機(jī)
16、讀取實(shí)時(shí)溫度。本系統(tǒng)上位機(jī)以STM32F103RBT6為平臺(tái),通過(guò)4.3寸TFT觸摸屏實(shí)現(xiàn)查詢從機(jī)、設(shè)置從機(jī)參數(shù)等功能,實(shí)時(shí)顯示從機(jī)的通訊狀態(tài)、寄存器的值、溫度測(cè)量值。另外本系統(tǒng)還具有掉電保存、溫度報(bào)警功能。</p><p> 關(guān)鍵詞: Modbus、LED、寄存器、RS232、STC12C5A60S2、溫度報(bào)警、STM32F103</p><p> The design of MOD
17、BUS communicator based on MCU</p><p> Abstract : With the fieldbus using in the industrial application widely and popularly, modbus is more welcomed as one of its simple agreement. According to the RTU sch
18、ema of modbus in modbus agreement, the paper mainly achieves the function of reading register, writing single register and multiple registers etc. The slave of system uses the STC12C5A60S2 as the basic platform and RS232
19、 to realize the communication with the Host computer. The system will use the register of internal ram in mcu to</p><p> Keywords: Modbus、LED、Register、RS232、STC12C5A60S2、Temperature Alarm、STM32F103</p>
20、;<p><b> 第1章 緒 論</b></p><p><b> 1.1 概述</b></p><p> Modbus是由Modicon在1979年發(fā)明的,是全球第一個(gè)真正用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議。為更好地普及和推動(dòng)Modbus在基于以太網(wǎng)上的分布式應(yīng)用,目前施耐德公司已將Modbus協(xié)議的所有權(quán)移交給IDA組織,并成立了
21、Modbus-IDA組織,為Modbus今后的發(fā)展奠定了基礎(chǔ)。</p><p> Modbus 協(xié)議是應(yīng)用于電子控制器上的一種通用語(yǔ)言。通過(guò)此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)和其它設(shè)備之間通訊。它已經(jīng)成為一種通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。此協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通訊的。它描述了控制器請(qǐng)求訪問(wèn)其它設(shè)備的過(guò)程,如何回應(yīng)
22、來(lái)自其它設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。</p><p> 當(dāng)在Modbus網(wǎng)絡(luò)上通信時(shí),此協(xié)議決定了每個(gè)控制器須要知道它們的設(shè)備地址,識(shí)別按地址發(fā)來(lái)的消息,決定要產(chǎn)生何種行動(dòng)。如果需要回應(yīng),控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。</p><p> Modbus具有以下幾個(gè)特點(diǎn):</p><p> 1、標(biāo)準(zhǔn)、開(kāi)放
23、,用戶可以免費(fèi)、放心地使用Modbus協(xié)議,不需要交納許可證費(fèi),也不會(huì)侵犯知識(shí)產(chǎn)權(quán)。目前,支持Modbus的廠家超過(guò)400家,支持Modbus的產(chǎn)品超過(guò)600種。</p><p> 2、Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無(wú)線等。</p><p> 3、Modbus的幀格式簡(jiǎn)單、緊湊、通俗易懂。用戶使用容易,廠商開(kāi)發(fā)
24、簡(jiǎn)單。</p><p> 在大多數(shù)工廠里,現(xiàn)場(chǎng)儀表采用單獨(dú)的控制室直連對(duì)絞線電纜連接到控制系統(tǒng)。當(dāng)儀表設(shè)備被連接到一種分散式I/O系統(tǒng)的時(shí)候,可以增加更多的現(xiàn)場(chǎng)設(shè)備,但是僅僅需要一根對(duì)絞線電纜就可以把所有數(shù)據(jù)傳送到MODBUS主站。以MODBUS網(wǎng)絡(luò)的方式組網(wǎng)連接的時(shí)候,把現(xiàn)場(chǎng)設(shè)備連接到一個(gè)過(guò)程控制系統(tǒng)、PLC或是工業(yè)計(jì)算機(jī)系統(tǒng),整個(gè)工廠的連接都能夠從對(duì)絞線電纜控制室直連的方式轉(zhuǎn)變成為MODBUS連接方式。&l
25、t;/p><p> 到目前為止,我們僅僅涉及到了簡(jiǎn)單的MODBUS數(shù)據(jù)采集系統(tǒng)。還有一種方案也是可能的,那就是把控制設(shè)備安裝在現(xiàn)場(chǎng),然后通過(guò)MODBUS使其與中央控制系統(tǒng)進(jìn)行通訊。它也可以被編程用來(lái)執(zhí)行控制功能,例如PID控制、ON/OFF控制、現(xiàn)場(chǎng)報(bào)警、診斷以及報(bào)警監(jiān)視等。</p><p> 另一種“智能化”并且具有控制能力的MODBUS設(shè)備是來(lái)自于Moore Industries公司的
26、MDS方程站。這是一種多功能控制器,它能夠執(zhí)行很多種類型的控制功能和運(yùn)算。有了MDS方程站,在實(shí)現(xiàn)簡(jiǎn)單控制任務(wù)、多變量控制任務(wù)(例如監(jiān)視和控制一個(gè)蒸煮器里的紙漿液位或者使用來(lái)自多個(gè)流量、溫度和壓力變送器的輸入信號(hào)實(shí)現(xiàn)質(zhì)量流量計(jì)算)時(shí)就不再需要PLC或者大型控制器了。最多可以有127個(gè)MDS模件被安裝在一個(gè)MODBUS網(wǎng)絡(luò)上面來(lái)實(shí)現(xiàn)對(duì)工廠的控制或是采集整個(gè)工廠的信號(hào)。</p><p> PID(比例、積分和微分)
27、控制器最初都是單機(jī)獨(dú)立運(yùn)行的無(wú)通訊控制器。由于PLC和DCS都已經(jīng)智能化,因此現(xiàn)在PID控制器也智能化了。今天,許多終端用戶依然青睞那些直接讀出和編程簡(jiǎn)單的單回路控制器。諸如MODBUS等數(shù)字化通訊協(xié)議能夠給這些一直單機(jī)運(yùn)行的儀表注入一些新的活力。通過(guò)對(duì)這些控制器進(jìn)行多分支網(wǎng)絡(luò)連接,可以創(chuàng)造一個(gè)自己的小型分散控制系統(tǒng)。</p><p> 現(xiàn)代的控制領(lǐng)域持續(xù)不斷的產(chǎn)生和應(yīng)用諸如現(xiàn)場(chǎng)總線和網(wǎng)狀網(wǎng)絡(luò)等先進(jìn)概念,MOD
28、BUS的簡(jiǎn)單性以及它的便于在許多通訊媒介上實(shí)施應(yīng)用的特點(diǎn)一直使它受到最廣泛的支持,并且成為全球應(yīng)用最廣泛的工業(yè)協(xié)議。當(dāng)使用現(xiàn)有老式控制系統(tǒng)的用戶發(fā)現(xiàn)自己需要擴(kuò)充現(xiàn)場(chǎng)儀表或者增加遠(yuǎn)程控制器的時(shí)候,他們都會(huì)采用MODBUS作為一個(gè)能夠解決復(fù)雜問(wèn)題的簡(jiǎn)單解決方案。用戶試圖把一個(gè)外來(lái)設(shè)備連接到控制系統(tǒng)里面,使用這個(gè)設(shè)備的MODBUS接口被證明是最為容易的辦法。雖然MODBUS已經(jīng)是最為古老的通訊方法之一,由于非常多的原因它也是最普及的通訊方法。
29、MODBUS便于使用、非常可靠、價(jià)格低廉并且可以連接到控制工業(yè)領(lǐng)域幾乎所有的傳感器和控制設(shè)備。</p><p> MODBUS廣泛的應(yīng)用于程序自動(dòng)化、工業(yè)自動(dòng)化、智能建筑、 輸配電通訊協(xié)議、智能電表、車用通訊。</p><p><b> 1.2 目的與意義</b></p><p> 在現(xiàn)代化工業(yè)控制中, 由于被控對(duì)象、測(cè)控裝置等物理設(shè)備的
30、地域分散性, 以及控制與監(jiān)控等任務(wù)對(duì)實(shí)時(shí)性的要求, 不同設(shè)備之間現(xiàn)場(chǎng)交互性信息的傳遞越來(lái)越多。但傳統(tǒng)的工業(yè)控制系統(tǒng)軟件存在著一些問(wèn)題。不具備開(kāi)放性,各個(gè)部分的聯(lián)系過(guò)于緊密,使系統(tǒng)過(guò)于復(fù)雜。這樣使系統(tǒng)的更新、擴(kuò)展和升級(jí)變得非常困難,對(duì)系統(tǒng)任何一部分的修改都有可能對(duì)其它部分造成影響,從而導(dǎo)致大量且煩瑣的軟件和硬件的修改。傳統(tǒng)的工業(yè)控制軟件開(kāi)發(fā)中出現(xiàn)的另一個(gè)主要問(wèn)題是軟件的重復(fù)開(kāi)發(fā),軟件不能夠復(fù)用,資源不能共享,造成大量的人力與物力資源的浪費(fèi)
31、。雖然使用高級(jí)語(yǔ)言函數(shù)庫(kù)讓我們可以利用面向?qū)ο蟮睦^承等方法大量重用源代碼,但這些復(fù)用只是對(duì)源代碼級(jí)的復(fù)用而不是對(duì)可執(zhí)行文件級(jí)的復(fù)用。</p><p> 由于傳統(tǒng)工業(yè)控制系統(tǒng)的帶來(lái)的不便,造成形成了大量的“信息孤島”,但是,對(duì)于工業(yè)控制而言,各站點(diǎn)之間不是孤立的,它們必須互相配合、協(xié)調(diào)才能保證產(chǎn)品質(zhì)量和實(shí)現(xiàn)連續(xù)生產(chǎn),這就需要各站點(diǎn)能互通訊息。另外,上級(jí)管理網(wǎng)也需要與子站交互數(shù)據(jù),以實(shí)現(xiàn)全局的監(jiān)控和優(yōu)化。然而,子站
32、是采用不同開(kāi)發(fā)平臺(tái)、不同通訊協(xié)議組成的結(jié)構(gòu)系統(tǒng),可能由不同的廠家和個(gè)體開(kāi)發(fā)。要為每種協(xié)議寫(xiě)一個(gè)轉(zhuǎn)換接口或驅(qū)動(dòng)是比較繁瑣的,特別是在站點(diǎn)和協(xié)議較多的時(shí)候。因此,怎樣有效集成數(shù)據(jù),避免信息孤島的出現(xiàn),是工業(yè)控制領(lǐng)域中常遇到難點(diǎn)問(wèn)題之一。</p><p> 比較好的方法是各站點(diǎn)都采用標(biāo)準(zhǔn)協(xié)議進(jìn)行數(shù)據(jù)通訊,而不必為每一種協(xié)議開(kāi)發(fā)一個(gè)通訊接口。目前這方面的協(xié)議比較多,MODBUS 就是其中的一種。MODBUS是一種全開(kāi)放
33、, 免費(fèi)提供,非常容易理解和實(shí)施的協(xié)議, 從70 年代誕生以來(lái),在制造業(yè)、電力、水電、冶金、礦山、交通、基礎(chǔ)設(shè)施的工業(yè)領(lǐng)域中的數(shù)據(jù)采集和過(guò)程控制得到了廣泛應(yīng)用, 形成了一種事實(shí)上的工業(yè)標(biāo)準(zhǔn)。同時(shí), 隨著單片機(jī)技術(shù)的迅速發(fā)展, 單片機(jī)技術(shù)已逐步進(jìn)入工業(yè)自動(dòng)化領(lǐng)域, 單片機(jī)以體積小、質(zhì)量輕、價(jià)格便宜、應(yīng)用方便等優(yōu)勢(shì)。它允許MODBUS協(xié)議與單片機(jī)232接口結(jié)合, 在單片機(jī)串口中嵌入MODBUS信息幀, 成為MODBUS/RTU或MODBUS
34、/ASCII, 在工業(yè)自動(dòng)化領(lǐng)域中, 具有很高的性能價(jià)格比, 是一種真正開(kāi)放的理想解決方案。</p><p> 1.3 發(fā)展現(xiàn)狀和前景展望</p><p> 目前在全球范圍內(nèi)已經(jīng)安裝了MODBUS串行設(shè)備,基于MODBUS和單片機(jī)技術(shù)的“透明就緒”的廣泛應(yīng)用可以被歸類到三大市場(chǎng):能源與基礎(chǔ)設(shè)施,工業(yè),以及建筑行業(yè)。</p><p> ◆
35、 在能源與基礎(chǔ)設(shè)施市場(chǎng),機(jī)場(chǎng)、隧道、數(shù)字通訊、電信、水處理、油氣、能源等行業(yè)大大得益于“透明就緒”的遠(yuǎn)程控制能力 。 </p><p> ◆ 在工業(yè)市場(chǎng),食品與飲料、微電子、制藥、汽車等行業(yè)則高度的受益于“透明就緒”中從IT系統(tǒng)貫通到車間層單片機(jī)的統(tǒng)一全局網(wǎng)絡(luò)架構(gòu)。</p><p> ◆ 在建筑市場(chǎng),醫(yī)療機(jī)構(gòu)、公用建筑、民用住
36、宅、船舶等行業(yè)在“透明就緒”中使用他們?cè)械膯纹瑱C(jī)232網(wǎng)絡(luò),從而大大的降低了實(shí)施費(fèi)用。</p><p> 1.4 研究的主要內(nèi)容和步驟</p><p> 1.4.1 主要內(nèi)容</p><p> 1、查找資料,熟悉單片機(jī)的基本結(jié)構(gòu)及功能,熟悉利用STC12C5A60S2、STM32F103VET6單片機(jī)進(jìn)行通訊器的硬件設(shè)計(jì)。</p><p&
37、gt; 2、掌握C51語(yǔ)言,并完成MODBUS通訊程序的編寫(xiě)。</p><p> 3、構(gòu)建各個(gè)模塊功能,利用Altium designer軟件畫(huà)原理圖及PCB。</p><p> 4、購(gòu)買元器件并焊接,制作通訊器。</p><p> 5、搭建測(cè)試平臺(tái),通訊器軟硬件調(diào)試。</p><p> 1.4.2 設(shè)計(jì)的步驟</p>
38、<p> 本次設(shè)計(jì)的課題是基于單片機(jī)的MODBUS通訊器的設(shè)計(jì),主要的研究方法步驟如下:</p><p> 1、對(duì)整個(gè)MODBUS通訊協(xié)議的構(gòu)成、要求、應(yīng)用等進(jìn)行大概的了解,明確課題的定位和所要解決的問(wèn)題。</p><p> 2、對(duì)單片機(jī)控制的理論以及涉及到的相關(guān)知識(shí)進(jìn)行系統(tǒng)的學(xué)習(xí),例如:如何建立單片機(jī)232通訊,如何利用電腦對(duì)單片機(jī)編程,常用的編譯軟件,以及通訊所要達(dá)到
39、的效果等等。</p><p> 3、選擇單片機(jī)型號(hào),經(jīng)過(guò)對(duì)常用編譯軟件的相關(guān)了解,對(duì)單片機(jī)性能及控制方法做簡(jiǎn)單測(cè)試。經(jīng)過(guò)之前的理論學(xué)習(xí)和了解,以及參考大量文獻(xiàn)總結(jié)前人經(jīng)驗(yàn),初步選型方案選定如下:選用STM32F103VET6做主控單片機(jī),4.3寸TFT彩屏做界面顯示,從機(jī)采用STC12C5A60S2做控制,主控單片機(jī)發(fā)送MODBUS命令給三個(gè)從機(jī),從機(jī)根據(jù)命令執(zhí)行相應(yīng)操作,同時(shí)從機(jī)將采集到的數(shù)據(jù)保存到單片機(jī)RA
40、M單元中供主機(jī)查詢。</p><p> 4、根據(jù)選定的單片機(jī)型號(hào)畫(huà)出對(duì)應(yīng)的最小系統(tǒng)以及各個(gè)功能模塊電路圖,畫(huà)出PCB板,搭建硬件調(diào)試環(huán)境。</p><p> 5、軟件調(diào)試,首先利用電腦做MODBUS主機(jī),分別調(diào)試主機(jī)控制板和從機(jī)控制板,確保軟硬件完美結(jié)合。</p><p> 6、綜合調(diào)試,主機(jī)控制板與從機(jī)控制板進(jìn)行MODBUS通訊,分別控制各個(gè)功能塊。對(duì)設(shè)計(jì)的
41、結(jié)果進(jìn)行分析和總結(jié)。</p><p> 第2章 系統(tǒng)設(shè)計(jì)方案</p><p><b> 2.1設(shè)計(jì)方案選擇</b></p><p> 方案一:采用電腦當(dāng)主機(jī),從機(jī)利用單片機(jī)與電腦通過(guò)RS232通訊,電腦發(fā)送MODBUS命令查詢從機(jī)數(shù)據(jù),從機(jī)接收命令返回相應(yīng)數(shù)據(jù),電腦工控軟件刷新從機(jī)數(shù)據(jù),從而實(shí)現(xiàn)MODBUS通訊器功能。</p>
42、;<p> 方案二:?jiǎn)纹瑱C(jī)做主機(jī),利用顯示屏作為數(shù)據(jù)顯示界面,主機(jī)單片機(jī)發(fā)送MODBUS命令給從機(jī),從機(jī)返回?cái)?shù)據(jù)給主機(jī)單片機(jī),主機(jī)控制液晶屏刷新從機(jī)數(shù)據(jù),實(shí)現(xiàn)MODBUS通訊器功能。</p><p> 方案一連接簡(jiǎn)單,操作方便,只需開(kāi)發(fā)從機(jī)模塊與電腦通訊,只需編寫(xiě)從機(jī)MODBUS通訊協(xié)議代碼。方案二利用液晶屏代替電腦顯示器界面,單片機(jī)做主機(jī),同時(shí)開(kāi)發(fā)主機(jī)與從機(jī),需要編寫(xiě)主機(jī)和從機(jī)MODBUS通訊
43、協(xié)議,難度偏大。權(quán)衡考慮后,方案二實(shí)用性更強(qiáng),所以本系統(tǒng)采用方案二設(shè)計(jì)。</p><p><b> 2.2 芯片選擇</b></p><p> 由于主機(jī)液晶顯示采用4.3寸TFT觸摸屏,對(duì)主機(jī)CPU控制器要求較高,故主機(jī)主控芯片采用STM32系列的STM32F103RBT6芯片。</p><p> 從機(jī)主控芯片則有兩種選擇:</p&
44、gt;<p> STM系列的STM8S105K4,此芯片編程簡(jiǎn)單,單片機(jī)價(jià)格便宜,與傳統(tǒng)51單片機(jī)編程方法兼容,內(nèi)部資源豐富,下載程序簡(jiǎn)單,可在線調(diào)試,但需特定下載器,而且下載器價(jià)格昂貴。</p><p> STC系列的STC12C5A60S2,此芯片編程簡(jiǎn)單,價(jià)格便宜,與傳統(tǒng)51單片機(jī)編程方法兼容,內(nèi)部資源豐富,下載程序只需RS232接口即可將程序下載到單片機(jī),經(jīng)濟(jì)實(shí)惠。</p>
45、<p> 根據(jù)比較,本系統(tǒng)從機(jī)主控芯片采用STC12C5A60S2,利用串口通訊芯片MAX3232與上位機(jī)連接,系統(tǒng)硬件結(jié)構(gòu)框圖如圖2.1所示。</p><p> 圖2.1系統(tǒng)硬件結(jié)構(gòu)框圖</p><p> 2.3 軟件方案設(shè)計(jì)</p><p> 本系統(tǒng)主機(jī)基于STM32單片機(jī)平臺(tái),從機(jī)基于STC單片機(jī)平臺(tái),利用其中的RS232,主機(jī)發(fā)送MODB
46、US命令查詢從機(jī)數(shù)據(jù),主機(jī)根據(jù)觸摸屏定義的功能,下置數(shù)據(jù)到從機(jī)寄存器,改變從機(jī)寄存器模擬量的值,然后根據(jù)Modbus總線協(xié)議編寫(xiě)相應(yīng)的程序完成其功能,另外再利用DS18b20測(cè)量溫度,通過(guò)Modbus實(shí)現(xiàn)溫度報(bào)警等功能,然后利用4.3寸TFT觸摸屏實(shí)時(shí)顯示通訊狀態(tài)、LED燈的狀態(tài)、實(shí)時(shí)溫度值。圖2.2為軟件的總體流程圖。</p><p> 圖2.2軟件總體流程圖。</p><p> 第
47、3章 硬件電路設(shè)計(jì)</p><p> 3.1 主機(jī)CPU模塊</p><p> 主機(jī)CPU模塊采用STM32系列的Cortex‐M3處理器STM32F103VET6,STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的ARM Cortex-M3內(nèi)核。按性能分成兩個(gè)不同的系列:STM32F103“增強(qiáng)型”系列和STM32F101“基本型”系列。增強(qiáng)型系列時(shí)鐘頻率達(dá)到7
48、2MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時(shí)鐘頻率為36MHz,以16位產(chǎn)品的價(jià)格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。兩個(gè)系列都內(nèi)置32K到128K的閃存,不同的是SRAM的最大容量和外設(shè)接口的組合。時(shí)鐘頻率72MHz時(shí),從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場(chǎng)上功耗最低的產(chǎn)品,相當(dāng)于0.5mA/MHz。</p><p> STM32F103VET6外圍電路設(shè)計(jì)簡(jiǎn)單,芯片最
49、小系統(tǒng)電路如圖3.1所示。</p><p> 如圖3.1 STM32F103VET6最小系統(tǒng)電路</p><p><b> 3.2 電源模塊</b></p><p> 主機(jī)系統(tǒng)供電采用Lm7805穩(wěn)壓出5V,供給LT1117輸入,使得輸出為3.3V主芯片所需的電源,電源模塊原理圖如圖3.2所示。</p><p>
50、 LT1117三端可調(diào)或固定電壓3.3V輸出電流為1A,線路調(diào)整率為0.2%,負(fù)載調(diào)整率為0.4%,封裝類型為SOT-223。</p><p> 三端穩(wěn)壓集成電路lm7805。常見(jiàn)的三端穩(wěn)壓集成電路有正電壓輸出的lm78 ×× 系列和負(fù)電壓輸出的lm79××系列。三端IC是指這種穩(wěn)壓用的集成電路,只有三條引腳輸出,分別是輸入端、接地端和輸出端。</p>&l
51、t;p> 圖3.2電源模塊電路圖</p><p> 3.3 液晶顯示模塊</p><p> 主機(jī)系統(tǒng)采用4.3寸TFT液晶顯示屏做界面顯示,4.3寸彩色TFTLCD顯示模塊的內(nèi)置LCD控制器以及顯存,對(duì)4.3寸模塊進(jìn)行操作時(shí),實(shí)際上是對(duì)LCD控制器的控制寄存器、顯示數(shù)據(jù)存儲(chǔ)器進(jìn)行操作。</p><p> 液晶顯示模塊及CPU引腳接口電路如圖3.5所示。
52、</p><p> 4.3寸模塊內(nèi)部有雙圖層顯示功能,雙圖層顯示的模塊具有兩個(gè)顯示圖層:一個(gè)背景層,一個(gè)前景層。兩個(gè)圖層都具備16位真彩的顯示能力。</p><p> 本系統(tǒng)直接采用STM32單片機(jī)驅(qū)動(dòng)液晶屏,STM32單片機(jī)內(nèi)部帶有靜態(tài)存儲(chǔ)器控制器(FSMC),F(xiàn)SMC模塊能夠與同步或異步存儲(chǔ)器和16位PC存儲(chǔ)器卡接口,它的主要作用是:</p><p> 1
53、、將AHB總線傳輸信號(hào)轉(zhuǎn)換到適當(dāng)?shù)耐獠吭O(shè)備協(xié)議 。</p><p> 2、滿足訪問(wèn)外部設(shè)備的時(shí)序要求 所有的外部存儲(chǔ)器共享控制器輸出的地址、數(shù)據(jù)和控制信號(hào),每個(gè)外部設(shè)備可以通過(guò)一個(gè)唯一的片選信號(hào)加以區(qū)分。</p><p> 界面顯示如圖3.3、3.4所示。</p><p> 圖3.3 開(kāi)機(jī)界面 圖3.4 主界面
54、</p><p> 圖3.5 TFT液晶及CPU引腳接口</p><p><b> 3.4 存儲(chǔ)模塊</b></p><p> 由于主機(jī)采用4.3寸TFT觸摸屏作為界面顯示,像素點(diǎn)為480*272,需要大量圖片數(shù)據(jù)信息,而主芯片內(nèi)部Flash只有512KB,最多只能存放兩張圖片,所以本系統(tǒng)采用了外擴(kuò)存儲(chǔ)器的方法存儲(chǔ)圖片數(shù)據(jù)。圖片數(shù)據(jù)存入存
55、儲(chǔ)芯片的固定地址,多張圖片分地址放置,CPU只需按地讀取存儲(chǔ)器內(nèi)部數(shù)據(jù)送入TFT顯示器,即可完成所有圖片顯示,節(jié)約了CPU內(nèi)部空間。</p><p> 本系統(tǒng)存儲(chǔ)模塊采用AT45DB161D存儲(chǔ)芯片,存儲(chǔ)容量為2M,足夠存儲(chǔ)大量圖片數(shù)據(jù)信息。模塊電路圖如圖3.6所示,AT45DB161D是一款2.5V或2.7V,串行接口的FLASH存儲(chǔ)器,是各種數(shù)字語(yǔ)音,圖像,程序代碼和數(shù)據(jù)存儲(chǔ)應(yīng)用的理想選擇。AT45DB16
56、1D支持RapidS串行接口,適用于要求高速操作的應(yīng)用。RapidS串行接口兼容SPI,最高頻率可達(dá)66MHz。AT45DB161D的存儲(chǔ)容量為17,301,504位,組織形式為4,096頁(yè),每頁(yè)512或528頁(yè)。</p><p><b> 圖3.6 存儲(chǔ)模塊</b></p><p> 3.5 程序調(diào)試下載模塊</p><p> STM3
57、2內(nèi)部集成JTAG調(diào)試模塊,JTAG(Joint Test Action Group;聯(lián)合測(cè)試行動(dòng)小組)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測(cè)試。現(xiàn)在多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。</p><p> JTAG編程方式是在線編程,傳統(tǒng)生產(chǎn)流程中先對(duì)芯
58、片進(jìn)行預(yù)編程再裝到板上因此而改變,簡(jiǎn)化的流程為先固定器件到電路板上,再用JTAG編程,從而大大加快工程進(jìn)度。JTAG接口可對(duì)PSD芯片內(nèi)部的所有部件進(jìn)行編程。</p><p> 具有JTAG口的芯片都有如下JTAG引腳定義:</p><p> TCK——測(cè)試時(shí)鐘輸入;</p><p> TDI——測(cè)試數(shù)據(jù)輸入,數(shù)據(jù)通過(guò)TDI輸入JTAG口;</p>
59、<p> TDO——測(cè)試數(shù)據(jù)輸出,數(shù)據(jù)通過(guò)TDO從JTAG口輸出;</p><p> TMS——測(cè)試模式選擇,TMS用來(lái)設(shè)置JTAG口處于某種特定的測(cè)試模式。</p><p> 可選引腳TRST——測(cè)試復(fù)位,輸入引腳,低電平有效。</p><p> 含有JTAG口的芯片種類較多,如CPU、DSP、CPLD等。</p><p&
60、gt; JTAG內(nèi)部有一個(gè)狀態(tài)機(jī),稱為TAP控制器。TAP控制器的狀態(tài)機(jī)通過(guò)TCK和TMS進(jìn)行狀態(tài)的改變,實(shí)現(xiàn)數(shù)據(jù)和指令的輸入。</p><p> JTAG標(biāo)準(zhǔn)定義了一個(gè)串行的移位寄存器。寄存器的每一個(gè)單元分配給IC芯片的相應(yīng)引腳,每一個(gè)獨(dú)立的單元稱為BSC(Boundary-Scan Cell)邊界掃描單元。這個(gè)串聯(lián)的BSC在IC內(nèi)部構(gòu)成JTAG回路,所有的BSR(Boundary-Scan Registe
61、r)邊界掃描寄存器通過(guò)JTAG測(cè)試激活,平時(shí)這些引腳保持正常的IC功能。</p><p> JTAG的系統(tǒng)板設(shè)計(jì)和連線關(guān)系如圖3.7所示。</p><p> 圖3.7 JTAG電路圖</p><p> 3.6 串口通訊模塊</p><p> 串口通訊模塊為整個(gè)設(shè)計(jì)的最重要的部分,本系統(tǒng)是基于串口RS232接口加入MODBUS通訊協(xié)議,
62、此部分一旦不能工作本系統(tǒng)將變得毫無(wú)意義。通訊方式直接利用串口通訊芯片MAX3232,MAX3232有雙串口接口,串口1接口與從機(jī)相連,連接方式采用RJ45網(wǎng)絡(luò)通訊接口。串口2接口與DB9接口相連,可以與電腦RS232通訊,便于調(diào)試。芯片外部電路圖如圖3.8所示。下面簡(jiǎn)單介紹MAX3232芯片。</p><p> 采用專有低壓差發(fā)送器輸出級(jí),利用雙電壓在3.0V至5.5V電源供電時(shí)能夠?qū)崿F(xiàn)真正的RS-232性能,
63、器件僅需四個(gè)0.1uF的外部小尺寸電壓電容。MAX3232確保在120kbps數(shù)據(jù)速率,同時(shí)保持RS-232輸出電平。MAX3232具有二路接收器和二路驅(qū)動(dòng)器,提供1uA關(guān)斷模式,有效降低功效并延遲便攜式產(chǎn)品的電池使用壽命。關(guān)斷模式下,接收器保持有效狀態(tài),對(duì)外部設(shè)備進(jìn)行監(jiān)測(cè),僅消耗1uA電源電流,MAX3232的引腳、封裝和功能分別與工業(yè)標(biāo)準(zhǔn)MAX242和MAX232兼容。即使工作在高數(shù)據(jù)速率下,MAX3232仍然能保持RS-232標(biāo)準(zhǔn)
64、要求的正負(fù)5.0V最小發(fā)送器輸出電壓。</p><p> 只要輸入電壓在3.0V至5.5V范圍以內(nèi),即可提供+5.5V(倍壓電源)和—5.5V(反相電壓)輸出電壓,電壓工作在非連續(xù)模式,一旦輸出電壓低于5.5V,將開(kāi)啟電壓;輸出電壓超過(guò)5.5V,即可關(guān)閉電荷泵,每個(gè)電壓需要一個(gè)電容器和一個(gè)儲(chǔ)能電容,產(chǎn)生V+和V-的電壓。</p><p> MAX3232在最差工作條件下能夠保證120k
65、bps的數(shù)據(jù)速率。通常情況下,能夠工作于235kbps數(shù)據(jù)速率。</p><p> 圖3.8 串口通訊電路</p><p> 3.7 從機(jī)主控模塊</p><p> 從機(jī)主控采用STC12C5A60S2,最小系統(tǒng)電路圖如圖3.9所示。</p><p> STC12C5A60S2單片機(jī)性能特點(diǎn):</p><p>
66、 1、工作頻率0~40M相當(dāng)于普通8051的0~80M。</p><p> 2、FLASH程序儲(chǔ)存4K-64K,RAM數(shù)據(jù)儲(chǔ)存512B-1280B。</p><p> 3、內(nèi)部集成EEPROM 2K-16K及看門狗和專用復(fù)位電路。</p><p> 4、帶A/D功能,超小封裝。</p><p> 5、2-4路PWM, 8-10位高速
67、A/D轉(zhuǎn)換。</p><p> 6、有ISP和IAP功能,強(qiáng)抗干擾和降低EMI性能。</p><p> 圖3.9 從機(jī)主控模塊最小系統(tǒng)</p><p> 3.8 LED燈顯示模塊</p><p> LED燈模塊采用8個(gè)0805封裝的LED顯示,LED模塊電路圖如圖3.10所示。</p><p> 利用STC單
68、片機(jī)8個(gè)I/O端口分別控制8路LED,每一路都用100級(jí)PWM來(lái)調(diào)節(jié)LED亮度,每一路亮度值都可通過(guò)從機(jī)按鍵設(shè)置值,也可在主機(jī)觸摸屏上設(shè)置每一路亮度值,也可以直接控制每一路LED亮滅,通過(guò)MODBUS命令下置到從機(jī)單片機(jī),從機(jī)單片機(jī)根據(jù)亮度值修改LED亮度。</p><p> 圖3.10 LED燈顯示模塊</p><p> 3.9 溫度檢測(cè)模塊</p><p>
69、 溫度的測(cè)量使用了DS18B20溫度傳感器。溫度檢測(cè)模塊電路如圖3.11所示。溫度傳感器的種類眾多,在應(yīng)用與高精度、高可靠性的場(chǎng)合時(shí)DALLAS(達(dá)拉斯)公司生產(chǎn)的DS18B20溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件開(kāi)消,抗干擾能力強(qiáng),精度高,附加功能強(qiáng),使得DS18B20更受歡迎。</p><p> DS18B20的主要特征: </p><p> (1)?全數(shù)字溫度轉(zhuǎn)換及輸出。
70、 </p><p> (2)?先進(jìn)的單總線數(shù)據(jù)通信。 </p><p> (3)?最高12位分辨率,精度可達(dá)土0.5攝氏度。 </p><p> (4)?12位分辨率時(shí)的最大工作周期為750毫秒。 </p><p> (5)?可選擇寄生工作方式。 </p><p> (6)?檢測(cè)溫度范圍為–55°C
71、 ~+125°C (–67°F ~+257°F) </p><p> (7)?內(nèi)置EEPROM,限溫報(bào)警功能。 </p><p> (8)?64位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。 </p><p> (9)?多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。 </p><p> 只需要一條口線通信 多點(diǎn)能力,簡(jiǎn)化
72、了分布式溫度傳感應(yīng)用 無(wú)需外部元件 可用數(shù)據(jù)總線供電,電壓范圍為3.0 V至5.5 V,無(wú)需備用電源,測(cè)量溫度范圍為-55 ° C至+125 ℃。華氏相當(dāng)于是-67 ° F到257華氏度,-10 ° C至+85 ° C范圍內(nèi)精度為±0.5 ° C。</p><p> CPU與DS18B20只有一跟數(shù)據(jù)線連接。為讀寫(xiě)以及溫度轉(zhuǎn)換可以從數(shù)據(jù)線本身獲得能量,
73、不需要外接電源。 因?yàn)槊恳粋€(gè)DS18B20的包含一個(gè)獨(dú)特的序號(hào),多個(gè)DS18B20可以同時(shí)存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多,包括空調(diào)環(huán)境控制,感測(cè)建筑物內(nèi)溫設(shè)備或機(jī)器,并進(jìn)行過(guò)程監(jiān)測(cè)和控制。</p><p> 圖3.11 溫度檢測(cè)模塊</p><p><b> 第4章 軟件設(shè)計(jì)</b></p><p>&
74、lt;b> 4.1串口通信模塊</b></p><p> 串行通信是實(shí)現(xiàn)單片機(jī)與PC 及通信的一種基本方式。在本系統(tǒng)中使用的是一個(gè)主機(jī)三個(gè)從機(jī),一片MAX3232做主機(jī)通訊接口,另外三個(gè)作為從機(jī)通訊接口,RS232總線直接使用RS232電平通訊。</p><p> 在串行通信的實(shí)現(xiàn)中,本系統(tǒng)采用了串口通信工作方式一,波特率115200 的方案。在串行通信過(guò)程中必然涉
75、及寄存器以及定時(shí)器的配置。</p><p> TMOD(定時(shí)器寄存器)</p><p> GATE C/T* M1 M0 GATE C/T* M1 M0</p><p> T1 方式字段T0 方式字段</p><p> TMOD |= 0X20 即定時(shí)器T1 工作在方式2(自動(dòng)重裝的8 位定時(shí)器)。</p><p&
76、gt; SCON(串行口控制寄存器)</p><p> SM0 SM1 SM2 REN TB8 RB8 TI RI</p><p> SCON = 0X50 即串行口工作方式一(8 位UART,波特率可變)。</p><p> 由于單片機(jī)需要對(duì)數(shù)據(jù)幀進(jìn)行處理,而處理數(shù)據(jù)幀所需要的時(shí)間相對(duì)比較長(zhǎng),為了提高單片機(jī)的效率,在串行通信時(shí),應(yīng)該采用中斷方式接受數(shù)據(jù)幀。
77、一般而言,中斷函數(shù)應(yīng)該盡可能的簡(jiǎn)單。所以中斷函數(shù)只負(fù)責(zé)接受數(shù)據(jù)幀,而對(duì)于接收數(shù)據(jù)幀的處理則放在主函數(shù)里。</p><p> 4.2數(shù)據(jù)幀處理模塊</p><p> 數(shù)據(jù)幀處理是整個(gè)系統(tǒng)的核心部分,在現(xiàn)場(chǎng)總線技術(shù)中有著至關(guān)重要的作用。必須了解Modbus的各個(gè)功能對(duì)應(yīng)的幀格式,理解其含義和本質(zhì),然后才能找到對(duì)應(yīng)信息去對(duì)其相應(yīng)的處理。</p><p> 根據(jù)Mod
78、Bus 協(xié)議,其RTU模式數(shù)據(jù)幀格式如下:</p><p> 硬件采用RS232,主從式半雙工通訊,主機(jī)呼叫從機(jī)地址,從機(jī)應(yīng)答方式通訊。</p><p> 數(shù)據(jù)幀10位,1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位,無(wú)校驗(yàn)。</p><p> 在數(shù)據(jù)幀處理過(guò)程中,首先判斷數(shù)據(jù)幀是否完整,然后判斷是不是發(fā)給本從機(jī)。對(duì)完整數(shù)據(jù)幀進(jìn)行CRC校驗(yàn),CRC校驗(yàn)正確的幀執(zhí)行下面的處
79、理步驟,否則丟棄該幀,并通知上位機(jī)重發(fā)數(shù)據(jù)。幀處理的前提除了CRC校驗(yàn)正確,還需要確保地址位正確。在前提條件滿足的情況下才能提取功能位和數(shù)據(jù)位。根據(jù)功能位確保要執(zhí)行的功能。并執(zhí)行相關(guān)功能。在具體功能中提取實(shí)現(xiàn)功能所需的數(shù)據(jù)位。圖4.1為數(shù)據(jù)幀處理流程圖</p><p> 圖 4.1 數(shù)據(jù)幀處理流程圖</p><p> 上位機(jī)對(duì)發(fā)回來(lái)的幀進(jìn)行處理,判斷是否正確后執(zhí)行對(duì)應(yīng)的處理。</
80、p><p><b> 4.3參數(shù)保存模塊</b></p><p> 在本系統(tǒng)中,為信息安全,需要增加參數(shù)的保存模塊,讓掉電后數(shù)據(jù)能保存起來(lái),下次開(kāi)機(jī)的時(shí)候能讀出來(lái)。保存修改的參數(shù)可以使之能夠較好的適應(yīng)各種環(huán)境的測(cè)量。我們可以設(shè)置報(bào)警的上下限,測(cè)量的上下限。由于需要保存的參數(shù)較少,直接使用片內(nèi)的EEPROM 來(lái)保存修改的參數(shù)。EEPROM 可以用于保存一些在應(yīng)用過(guò)程中修
81、改并掉電不丟失的參數(shù)數(shù)據(jù)。EEPROM數(shù)據(jù)讀取流程圖如圖4.2所示。</p><p> 圖4.2 EEPROM讀取流程圖</p><p> ISP/IAP 數(shù)據(jù)寄存器ISP_DATA:ISP/IAP 操作時(shí)的數(shù)據(jù)寄存器,ISP/IAP 從Flash 讀出數(shù)據(jù)放在此處,向Flash 寫(xiě)的數(shù)據(jù)也放在此處。</p><p> ISP/IAP 地址寄存器ISP_ADD
82、RH 和ISP_ADDRL:用于存放EEPROM 要尋址的地址,復(fù)位后為0000H。</p><p> ISP/IAP 命令寄存器ISP_CMD:用于選擇EEPROM 的模式。</p><p> ISP/IAP 命令觸發(fā)寄存器ISP_TRIG:操作時(shí)的命令觸發(fā)寄存器。在ISPEN(ISP_CONTR.7)=1 時(shí),對(duì)ISP_TRIG 先寫(xiě)入5Ah好,在寫(xiě)入A5h,ISP/IAP 命令才
83、會(huì)生效。</p><p> ISP/IAP 命令寄存器ISP_CONTR:用于配置ISP/IAP。</p><p> STC內(nèi)部EEPROM地址如圖4.3所示。</p><p> 圖4.3 STC內(nèi)部EEPROM部分地址</p><p><b> 4.4液晶顯示模塊</b></p><p>
84、; 本系統(tǒng)為了方便現(xiàn)場(chǎng)觀察數(shù)據(jù)和調(diào)試,加上了液晶顯示。這里液晶采用4.3寸TFT觸摸屏。通過(guò)取字幕軟件可以提取漢字、字母、圖形的編碼,然后通過(guò)彩屏顯示。本系統(tǒng)主要用液晶實(shí)時(shí)顯示線圈狀態(tài)和寄存器的值。</p><p> TFT驅(qū)動(dòng)模塊的操作主要分為兩種,一是對(duì)控制寄存器的地址寫(xiě)入,二是對(duì)數(shù)據(jù)的讀寫(xiě)操作;A0控制線的高低電平狀態(tài)來(lái)區(qū)別當(dāng)前的總線操作是對(duì)控制寄存器的地址寫(xiě)入還是對(duì)所指向的寄存器進(jìn)行數(shù)據(jù)操作:當(dāng)A0為
85、低電平時(shí),表示當(dāng)前的總線操作是對(duì)控制寄存器的地址進(jìn)行操作;當(dāng)A0為高電平時(shí),表示為對(duì)數(shù)據(jù)寫(xiě)入/讀出操作,如圖4.4所示。</p><p> 圖4.4 液晶讀寫(xiě)流程圖</p><p> TFT驅(qū)動(dòng)模塊內(nèi)部有控制寄存器,用戶在使用TFT驅(qū)動(dòng)模塊之前以及對(duì)其進(jìn)行操作過(guò)程當(dāng)中,需要對(duì)一些寄存器進(jìn)行寫(xiě)操作以完成對(duì)LCD的初始化,或者是完成某些功能的設(shè)置(如當(dāng)前顯存操作地址設(shè)置等)。</p&
86、gt;<p> 對(duì)控制寄存器進(jìn)行操作前,需要先對(duì)控制寄存器地址進(jìn)行寫(xiě)入操作,以指明接下去的數(shù)據(jù)操作是針對(duì)哪一個(gè)寄存器的。操作的步驟如下: </p><p> 1、在A0為低電平的狀態(tài)下,寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù),該字節(jié)為寄存器地址。</p><p> 2、在A0為高電平的狀態(tài)下,寫(xiě)入兩個(gè)字節(jié)數(shù)據(jù),第一字節(jié)為高八位,第二字節(jié)為低八位;如要讀出指定寄存器的數(shù)據(jù),則需要連續(xù)三次讀操
87、作方能完成一次讀出操作,第一個(gè)字節(jié)為無(wú)效數(shù)據(jù),第二字節(jié)為高八位,第三字節(jié)為低八位。</p><p> TFT驅(qū)動(dòng)模塊的控制寄存器當(dāng)中,最常被調(diào)用的是寄存器除了對(duì)顯存操作的0x02寄存器外,還有當(dāng)前顯存地址的寄存器display RAM bus address counter (AC),一共由兩個(gè)的寄存器組成,分別存放有Y Address和X Adderss,表示當(dāng)前對(duì)顯存數(shù)據(jù)的讀寫(xiě)操作是針對(duì)于該地址所指向的顯存
88、單元;而每一個(gè)顯存單元在前面已經(jīng)用圖示意過(guò),每個(gè)單元有16位,最高的5位為R(紅)的分量,最低的5位為B(藍(lán))的分量,中間6位為G(綠)分量。如圖4.5所示。</p><p> 圖4.5顯存單元示意圖</p><p><b> 第5章 系統(tǒng)調(diào)試</b></p><p><b> 5.1硬件調(diào)試</b></p&
89、gt;<p> 5.1.1 主機(jī)電路板調(diào)試</p><p> 根據(jù)主機(jī)電路原理圖焊接最小系統(tǒng)及JTAG調(diào)試接口,下載測(cè)試程序,發(fā)現(xiàn)CPU不能正常連接電腦編譯器,經(jīng)過(guò)仔細(xì)檢查發(fā)現(xiàn)將JTAG接口TDI引腳接入到STM32端口PA12上,正確接法應(yīng)接到PA15端口上,此錯(cuò)誤導(dǎo)致編譯器不能連接CPU下載程序調(diào)試,更正此錯(cuò)誤后芯片連接正常,JTAG更正處如圖5.1所示。</p><p&
90、gt; 圖5.1 JTAG更改的實(shí)物圖</p><p> 系統(tǒng)能夠正常下載后,將電路板焊接完整,主機(jī)板整體調(diào)試,TFT觸摸屏顯示一張完整的圖片,發(fā)現(xiàn)Lm7805發(fā)熱嚴(yán)重,燙手,仔細(xì)查看原因,是由于主機(jī)系統(tǒng)加入了4.3寸TFT觸摸屏耗電量大,實(shí)測(cè)電流為290MA,電源供電芯片LM7805的靜態(tài)電流變化率為500MA,沒(méi)有加散熱片,才會(huì)有此現(xiàn)象,經(jīng)過(guò)考慮,本系統(tǒng)取消了Lm7805,直接將電源輸入降至5V,取消L
91、M7805后主機(jī)電路板電源電路如圖5.2所示,主控電路板經(jīng)過(guò)上述修改后正常運(yùn)行。</p><p> 圖5.2 取消lm7805后電源模塊電路</p><p> 5.1.2 從機(jī)電路板調(diào)試</p><p> 根據(jù)從機(jī)電路圖焊接最小系統(tǒng)及max3232串口芯片,通過(guò)串口下載測(cè)試程序,測(cè)試結(jié)果正常。將電路板焊接完整,測(cè)試整塊電路板功能,發(fā)現(xiàn)溫度數(shù)據(jù)不能正常讀取,檢查
92、發(fā)現(xiàn)溫度檢測(cè)芯片封裝出現(xiàn)問(wèn)題,VCC引腳與GND引腳接反,重新?lián)Q過(guò)DS18B20,更改DS18B20安裝方向后,數(shù)據(jù)讀取正常。更改后的DS18B20實(shí)物圖如圖5.3所示。</p><p> 圖5.3 更改后的DS18B20實(shí)物圖</p><p><b> 5.2軟件件調(diào)試</b></p><p><b> 5.2.1調(diào)試平臺(tái)&l
93、t;/b></p><p> 軟件調(diào)試也是此系統(tǒng)最關(guān)鍵的一步了,也是有難度的一步。本系統(tǒng)采用Keil4軟件編寫(xiě)程序,調(diào)試,如圖5.4。</p><p><b> 圖5.4 調(diào)試平臺(tái)</b></p><p><b> 5.2.2調(diào)試問(wèn)題</b></p><p> 1、關(guān)于工程的建立:.C
94、、.h文件的處理。在程序編譯中會(huì)遇到不少關(guān)于這個(gè)的問(wèn)題,其中有一些包含的問(wèn)題,變量定義的問(wèn)題,函數(shù)同名的問(wèn)題,數(shù)據(jù)類型重定義的問(wèn)題,不過(guò)經(jīng)過(guò)查找資料,一個(gè)一個(gè)解決了這個(gè)問(wèn)題。</p><p> 2、關(guān)于觸摸屏校準(zhǔn):本系統(tǒng)主機(jī)采用4.3寸TFT觸摸屏顯示通訊內(nèi)容,由觸摸屏確定MODBUS指令,觸屏校準(zhǔn)是一個(gè)難題,系統(tǒng)開(kāi)機(jī)讀取存儲(chǔ)器里校準(zhǔn)好的校準(zhǔn)值,不必每次開(kāi)機(jī)進(jìn)行校準(zhǔn)。觸屏值不準(zhǔn)將直接導(dǎo)致MODBUS指令錯(cuò)誤,經(jīng)
95、過(guò)大量實(shí)驗(yàn)測(cè)試,本系統(tǒng)使用的觸屏校準(zhǔn)值是一個(gè)負(fù)值,由于數(shù)據(jù)存儲(chǔ)不能直接存負(fù)值,需要將校準(zhǔn)值轉(zhuǎn)換成正數(shù)再存入存儲(chǔ)器,讀取時(shí)再轉(zhuǎn)換成負(fù)數(shù),完成觸屏校準(zhǔn)。</p><p> 3、關(guān)于串口:本系統(tǒng)通訊總線采用RS232總線,一片MAX3232做主機(jī)通訊接口,另外三片作為從機(jī)通訊接口,RS232總線直接使用RS232電平通訊,在調(diào)試時(shí)發(fā)現(xiàn)本系統(tǒng)RS232通訊存在很大隱患,由于主機(jī)的RXD和TXD與從機(jī)的RXD和TXD是交
96、叉連接,主機(jī)發(fā)送MODBUS命令后,從機(jī)接收到數(shù)據(jù),匹配地址后返回?cái)?shù)據(jù),地址只能匹配一個(gè)從機(jī),只有一個(gè)從機(jī)能返回?cái)?shù)據(jù),而不返回?cái)?shù)據(jù)的從機(jī)已經(jīng)將TXD數(shù)據(jù)線拉低,電平?jīng)_突,導(dǎo)致數(shù)據(jù)不能發(fā)出,主機(jī)接不到從機(jī)返回?cái)?shù)據(jù)。經(jīng)過(guò)仔細(xì)分析MAX3232芯片,在三個(gè)從機(jī)TXD端接入一個(gè)二極管,同一時(shí)刻只允許一個(gè)從機(jī)的TXD數(shù)據(jù)端有效,問(wèn)題得到解決。RS232通訊總線接口如圖5.5所示。</p><p> 圖5.5 RS232通
97、訊總線接口圖</p><p> 4、CRC校驗(yàn)出了問(wèn)題:本系統(tǒng)采用MODBUS-RTU通訊協(xié)議,使用CRC校驗(yàn),調(diào)試時(shí)一直不能正常通訊,經(jīng)過(guò)仔細(xì)分析發(fā)現(xiàn)是CRC校驗(yàn)出現(xiàn)問(wèn)題,由于CRC高低字節(jié)顛倒,導(dǎo)致不能正常通訊,更正后通訊正常。</p><p> 5、關(guān)于EEPROM:從機(jī)采用的是主控芯片內(nèi)部自帶的EEPROM,調(diào)試時(shí)出現(xiàn)保存數(shù)據(jù)后,上電讀取數(shù)據(jù)錯(cuò)誤,仔細(xì)分析發(fā)現(xiàn)時(shí)EEPROM內(nèi)部
98、存儲(chǔ)地址錯(cuò)誤,更正后數(shù)據(jù)正常保存。</p><p> 6、調(diào)試中的協(xié)議問(wèn)題:主機(jī)發(fā)送MODBUS命令數(shù)據(jù)幀,從機(jī)接收到錯(cuò)誤數(shù)據(jù)幀,不能正常讀取MODBUS命令,仔細(xì)分析MODBUS協(xié)議,發(fā)現(xiàn)是從機(jī)定時(shí)器接收數(shù)據(jù)幀的時(shí)間設(shè)置不對(duì),更正后通訊正常。</p><p><b> 5.3調(diào)試結(jié)果</b></p><p> 在對(duì)硬件和軟件綜合調(diào)試后,
99、經(jīng)上位機(jī)驗(yàn)證,達(dá)到了本次設(shè)計(jì)要求。</p><p> 可以實(shí)現(xiàn)讀寫(xiě)寄存器的功能,參數(shù)的儲(chǔ)存達(dá)到要求,實(shí)時(shí)顯示寄存器的值,實(shí)時(shí)顯示從機(jī)采集到的溫度值。</p><p> 主機(jī)控制板運(yùn)行實(shí)物圖如圖5.6、5.7所示。</p><p> 圖5.6 開(kāi)機(jī)畫(huà)面</p><p> 圖5.7 系統(tǒng)運(yùn)行實(shí)物圖</p><p&g
100、t; 主機(jī)系統(tǒng)運(yùn)行時(shí)TFT液晶屏分別顯示三個(gè)從機(jī)的通信狀態(tài)、實(shí)時(shí)溫度、內(nèi)部寄存器的值,可通過(guò)參數(shù)設(shè)置按鈕進(jìn)入?yún)?shù)設(shè)置界面,下置數(shù)據(jù)到從機(jī)。</p><p> 從機(jī)控制板實(shí)時(shí)顯示溫度值,將采集到的溫度值存入MODBUS寄存器,供主機(jī)查詢,8個(gè)LED燈亮度分別反映MODBUS內(nèi)部寄存器模擬量,可通過(guò)按鍵操作修改MODBUS內(nèi)部寄存器值,從機(jī)控制板運(yùn)行實(shí)物圖如圖5.8所示。</p><p>
101、 圖5.8 從機(jī)控制板運(yùn)行實(shí)物圖</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 張友德,趙志英,涂時(shí)亮. 單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)(第五版)[M]. 復(fù)旦大學(xué)出版社,2006.</p><p> [2] 朱大奇,鄔勤文,袁芳. 單片機(jī)原理[M]. 應(yīng)用與實(shí)驗(yàn). 科學(xué)出版社,2009.</p>&l
102、t;p> [3] 李朝青. 單片機(jī)原理及接口技術(shù)[M]. 北京航空航天大學(xué)出版社,2005.</p><p> [4] 張鳳登. 現(xiàn)場(chǎng)總線技術(shù)及應(yīng)用[M]. 科學(xué)出版社,2008.</p><p> [5] 崔堅(jiān),西門子工業(yè)網(wǎng)絡(luò)通訊指南[M]. 機(jī)械工業(yè)出版社</p><p> [6] 工業(yè)標(biāo)準(zhǔn)通訊1944-19481-11期[J]</p>
103、<p> [7] MODBUS協(xié)議在串口通訊中的研究及應(yīng)用[J]</p><p> [8] MODBUS RTU協(xié)議在s7-200中的應(yīng)用[J]</p><p> [9] MODBUS通訊協(xié)議及編程[J]</p><p> [10] 工業(yè)以太網(wǎng)入門教程[J]</p><p> [11] 許立梓.微型計(jì)算機(jī)原理及應(yīng)
104、用[M].機(jī)械工業(yè)出版社.2002</p><p> [12] 劉樂(lè)善.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].華中理工大學(xué)出版社.2000 </p><p> [13] 鄒逢興.計(jì)算機(jī)硬件技術(shù)基礎(chǔ)試驗(yàn)教程[M].高等教育出版社.2000</p><p> [14] 周佩玲.16位微型計(jì)算機(jī)原理接口及其應(yīng)用[M].中國(guó)科學(xué)技術(shù)大學(xué)出版社.2000 </p>
105、<p> [15] 吳秀清.微型計(jì)算機(jī)原理與接口技術(shù)[M].中國(guó)科學(xué)技術(shù)出版社.2001</p><p> [16] 鄧亞平.微型計(jì)算機(jī)接口技術(shù)[M].清華大學(xué)出版社.2001</p><p> [17] 周航慈.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)[M].北京航空航天大學(xué)出版社. 2002</p><p> [18] 謝宜仁.單片機(jī)實(shí)用技術(shù)問(wèn)答[M].人
106、民郵電出版社.2002</p><p> [19] 李軍.51系列單片機(jī)高級(jí)實(shí)例開(kāi)發(fā)指南[M].北京:北京航空航天大學(xué)出版社</p><p> [20] 曹琳琳,曹巧媛.單片機(jī)原理及接口技術(shù)[M].長(zhǎng)沙:國(guó)防科技大學(xué)出版社</p><p><b> 致 謝</b></p><p> 通過(guò)此次畢業(yè)設(shè)計(jì),我更進(jìn)一步地
107、熟悉了單片機(jī)的結(jié)構(gòu)及掌握了單片機(jī)的工作原理和其具體的使用方法,了解了單片機(jī)程序設(shè)計(jì)與特點(diǎn),同時(shí)也更加深入的掌握了單片機(jī)的相關(guān)知識(shí)。并且我懂得了單片機(jī)程序設(shè)計(jì)的基本思路,增強(qiáng)了實(shí)踐動(dòng)手能力。除此以外,我還深深地認(rèn)識(shí)到嚴(yán)謹(jǐn)、認(rèn)真的科學(xué)態(tài)度在科學(xué)實(shí)驗(yàn)中發(fā)揮的重要作用。</p><p> 在畢業(yè)設(shè)計(jì)的過(guò)程中遇到了無(wú)數(shù)的困難和障礙,都在同學(xué)和老師的幫助下度過(guò)了。尤其要強(qiáng)烈感謝我的指導(dǎo)老師— 老師,她對(duì)我進(jìn)行了無(wú)
108、私的指導(dǎo)和幫助,不厭其煩的幫助進(jìn)行論文的修改和改進(jìn)。另外,在校圖書(shū)館查找資料的時(shí)候,圖書(shū)館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導(dǎo)過(guò)我的各位老師表示最中心的感謝!感謝這篇論文所涉及到的各位學(xué)者。本文引用了數(shù)位學(xué)者的研究文獻(xiàn),如果沒(méi)有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成本篇論文的寫(xiě)作。</p><p> 感謝我的同學(xué)和朋友,在我寫(xiě)論文的過(guò)程中給予我了很多素材,在論文的撰寫(xiě)和排版的過(guò)程中提供
109、熱情的幫助。由于我的學(xué)術(shù)水平有限,所寫(xiě)論文難免有不足之處,懇請(qǐng)各位老師和學(xué)友批評(píng)和指正!</p><p> 附錄1 主機(jī)硬件原理圖</p><p> 附錄2 從機(jī)硬件原理圖</p><p> 附錄3 主機(jī)PCB實(shí)物圖</p><p> 附錄4 從機(jī)PCB實(shí)物圖</p><p> 附錄5 主機(jī)通訊程序代碼<
110、;/p><p> #include "stm32f10x_lib.h"</p><p> #include "Initial.h"</p><p> u8 slaveaddr=1;//從機(jī)地址</p><p> u8 USARTSendBuff[20]; //MODBUS數(shù)據(jù)發(fā)送緩沖區(qū)</p
111、><p> u8 USARTReciveBuff[64]={8,8,8,8,8,8,8,8,}; //MODBUS數(shù)據(jù)接收緩沖區(qū)</p><p> u8 PointRecive=0;//數(shù)據(jù)接收指針</p><p> u8 PointSend=0;//數(shù)據(jù)發(fā)送指針</p><p> u8 SendByteNum=0;//發(fā)送字節(jié)記數(shù)<
112、;/p><p> u8 ReciveByteNum=0;</p><p> u32 BoundValue;//波特率數(shù)值</p><p> Communication ValveData[]={</p><p><b> {0,},</b></p><p> {1,40,0,0,0,0,0,
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子信息工程學(xué)院畢業(yè)設(shè)計(jì)
- 電子信息工程學(xué)院
- 醫(yī)藥信息工程學(xué)院2013屆畢業(yè)論文設(shè)計(jì)
- 醫(yī)藥信息工程學(xué)院2013屆畢業(yè)論文設(shè)計(jì)
- 醫(yī)藥信息工程學(xué)院2013屆畢業(yè)論文設(shè)計(jì)
- 邵陽(yáng)學(xué)院2009屆電子信息工程專業(yè)畢業(yè)設(shè)計(jì)(論文)
- 徐州工程學(xué)院2015屆物流工程專業(yè)畢業(yè)設(shè)計(jì)(論文)
- 電子信息工程學(xué)院科研論文統(tǒng)計(jì)2012016
- 沒(méi)有幻燈片標(biāo)題-電子信息工程學(xué)院
- 河南科技大學(xué) 電子信息工程學(xué)院
- 電子工程學(xué)院2009屆本科畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 沈陽(yáng)工程學(xué)院畢業(yè)設(shè)計(jì)
- 機(jī)電工程學(xué)院2011屆畢業(yè)設(shè)計(jì)
- 湖南工程學(xué)院2014屆校級(jí)本科優(yōu)秀畢業(yè)設(shè)計(jì)論文評(píng)選辦法
- 湖南工程學(xué)院2014屆校級(jí)本科優(yōu)秀畢業(yè)設(shè)計(jì)論文評(píng)選辦法
- 電子信息工程技術(shù)專業(yè)畢業(yè)設(shè)計(jì)
- 2012015學(xué)年第二學(xué)期電子信息工程學(xué)院課表
- 湖南工程學(xué)院各專業(yè)畢業(yè)設(shè)計(jì)(論文)參考選題(doc)x
- 河南工程學(xué)院畢業(yè)設(shè)計(jì)論文
- 石油工程學(xué)院2006屆畢業(yè)設(shè)計(jì)(論文)規(guī)范
評(píng)論
0/150
提交評(píng)論