- 計(jì)算機(jī)軟件畢業(yè)論文開題報(bào)告 推薦度:
- 相關(guān)推薦
計(jì)算機(jī)軟件畢業(yè)論文開題報(bào)告范文
開題報(bào)告是畢業(yè)生在完成文獻(xiàn)調(diào)研后寫成的關(guān)于學(xué)位論文選題與如何實(shí)施的論述性報(bào)告,下面是小編搜集整理的計(jì)算機(jī)軟件畢業(yè)論文開題報(bào)告范文,供大家閱讀參考。
論文(設(shè)計(jì))名稱:通用測(cè)控系統(tǒng)——串口通訊庫(kù)
一、研究或設(shè)計(jì)的目的和意義:
隨著計(jì)算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來越顯的重要.這里所說的通信是指計(jì)算機(jī)與外界的信息交換.因此,通信既包括計(jì)算機(jī)與外部設(shè)備之間,也包括計(jì)算機(jī)和計(jì)算機(jī)之間的信息交換.由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進(jìn)行信息傳送,因此,特別適合于遠(yuǎn)距離傳輸.
現(xiàn)今,串口通訊技術(shù)在工業(yè)控制系統(tǒng)中被廣泛的應(yīng)用,所以確保在串口通信過程中,傳送信息的可靠和穩(wěn)定十分重要。本課程設(shè)計(jì)的目的是把串口通訊庫(kù)封裝成動(dòng)態(tài)鏈接庫(kù)的形式,便于串口通信庫(kù)的多種形式的調(diào)用和存放;并且在動(dòng)態(tài)鏈接庫(kù)中添加一些通信協(xié)議,使其在傳送信息時(shí),更加安全、可靠和穩(wěn)定,最大限度的保證信息的完整性不受外界的干擾。
二、研究或設(shè)計(jì)的國(guó)內(nèi)外現(xiàn)狀和發(fā)展趨勢(shì):
測(cè)控系統(tǒng)的基本任務(wù)是借助專門的傳感器感知對(duì)象信息并傳輸?shù)较到y(tǒng)處理器,在系統(tǒng)處理器中,通過信號(hào)處理方法對(duì)對(duì)象信息進(jìn)行處理與數(shù)據(jù)分析,得到控制對(duì)象的有效狀態(tài)信息和測(cè)試結(jié)果,進(jìn)而將這些對(duì)象的控制信息傳輸給控制環(huán)節(jié)進(jìn)行對(duì)象的行為控制,并將測(cè)試結(jié)果通過顯示裝置輸出。實(shí)現(xiàn)測(cè)控系統(tǒng)所涉及的感知技術(shù)、通信技術(shù)、控制技術(shù)、處理技術(shù)以及軟件集成技術(shù)都是測(cè)控技術(shù)的重要內(nèi)容。
近年來出現(xiàn)的各類現(xiàn)代測(cè)控系統(tǒng)遍及社會(huì)的方方面面,從衛(wèi)星發(fā)射、定姿定位、遠(yuǎn)洋測(cè)量船數(shù)據(jù)采集的大型現(xiàn)代測(cè)控系統(tǒng),到無線控制玩具車運(yùn)動(dòng)的小型測(cè)控系統(tǒng),無不涉及現(xiàn)代測(cè)控技術(shù)的感知系統(tǒng)、處理技術(shù)、通信技術(shù)我控制技術(shù),因此學(xué)習(xí)信息獲取、信息傳輸、信息處理和信息利用為基礎(chǔ)的現(xiàn)代測(cè)控技術(shù)方法和工具,對(duì)研究、設(shè)計(jì)和開發(fā)各種類型的現(xiàn)代測(cè)控系統(tǒng)是十分必要的。
將計(jì)算機(jī)、高檔外設(shè)和通信線路等硬件資源以及大型數(shù)據(jù)庫(kù)、程序、數(shù)據(jù)、文件等軟件資源納入測(cè)控網(wǎng)絡(luò),可實(shí)現(xiàn)測(cè)控志愿的共享。同時(shí),通過組建網(wǎng)絡(luò)化測(cè)控系統(tǒng)增加系統(tǒng)冗余度的方法,可以提高測(cè)控系統(tǒng)的可靠性,便于測(cè)控系統(tǒng)的擴(kuò)展和變動(dòng)。由計(jì)算機(jī)和工作站作為節(jié)點(diǎn)的網(wǎng)絡(luò)系統(tǒng)就是一種現(xiàn)代網(wǎng)絡(luò)測(cè)控系統(tǒng),計(jì)算機(jī)已成為現(xiàn)代測(cè)控系統(tǒng)的核心。
以計(jì)算機(jī)串口通訊庫(kù)為基礎(chǔ)的現(xiàn)代測(cè)控系統(tǒng)已成為工業(yè)測(cè)控系統(tǒng)的重要組成部分。利用RS232-RS485進(jìn)行數(shù)據(jù)信號(hào)的采集和傳遞是VC編程的又一大熱點(diǎn)。串口通訊在通訊軟件重有著十分廣泛的應(yīng)用。如電話、傳真、視頻和各種控制等。在各種開發(fā)工具中間,VC由于功能強(qiáng)大和靈活,同時(shí)也得到了Microsoft的最大支持,所以在一般進(jìn)行涉及硬件操作的通訊編程重,大都推薦使用VC作為開發(fā)工具。然而工業(yè)控制串口通訊這個(gè)又不同于一般的串口通訊程序,因?yàn)榭刂仆鈬O(shè)備傳送的大都是十六進(jìn)制數(shù)據(jù)(BYTE類型),所以,為了提高程序的運(yùn)行穩(wěn)定性,我們?cè)诰帉懗绦蜻M(jìn)行通訊時(shí)可以不考慮傳送BYTE類型數(shù)據(jù)的工作。
串口通訊目前流行的方法大概有兩種:一是利用Microsoft提供的CMSCOMM控件進(jìn)行通訊,不過現(xiàn)在很多程序員都覺應(yīng)該放棄這種方式。二是利用WINAPI函數(shù)進(jìn)行編程,這種編程的難度最高,要求你要掌握很多的API函數(shù)。三是利用現(xiàn)在網(wǎng)絡(luò)上面提供的一些串口通訊控件進(jìn)行編寫,比如CSerial類等。
三、主要研究或設(shè)計(jì)內(nèi)容,需要解決的關(guān)鍵問題和思路:
1.API串口通信
串行端口是系統(tǒng)資源的一部分,其本質(zhì)是作為CPU和串行設(shè)備間的編碼轉(zhuǎn)換器。當(dāng)數(shù)據(jù)從 CPU經(jīng)過串行端口發(fā)送出去時(shí),字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位(Bit); 接收數(shù)據(jù)時(shí),串行的位被轉(zhuǎn)換為字節(jié)數(shù)據(jù)。應(yīng)用程序要使用串口進(jìn)行通信,必須在使用之前向操作系統(tǒng)提出資源申請(qǐng)要求(即打開串口),通信完成后再釋放資源(即關(guān)閉串口)。串行通信一般可以分為同步和異步兩種操作方式。所謂同步方式是指在串口的接收緩沖區(qū)中讀取規(guī)定數(shù)目的數(shù)據(jù),直到規(guī)定數(shù)目的數(shù)據(jù)全部被讀出或設(shè)定的超時(shí)時(shí)間已到才返回。如果規(guī)定的待讀取數(shù)據(jù)量大且設(shè)定的超時(shí)時(shí)間也較長(zhǎng),而接收緩沖區(qū)較小,則可能引起線程阻塞。而異步方式是利用Windows的多線程結(jié)構(gòu),讓串口的讀寫操作在后臺(tái)進(jìn)行,而應(yīng)用程序的其他部分在前臺(tái)執(zhí)行。.
2.動(dòng)態(tài)鏈接庫(kù)
把制作好的串口通訊庫(kù)封裝成動(dòng)態(tài)連庫(kù)。通過使用 DLL,程序可以實(shí)現(xiàn)模塊化,由相對(duì)獨(dú)立的組件組成。例如,一個(gè)計(jì)帳程序可以按模塊來銷售。可以在運(yùn)行時(shí)將各個(gè)模塊加載到主程序中(如果安裝了相應(yīng)模塊)。因?yàn)槟K是彼此獨(dú)立的,所以程序的加載速度更快,而且模塊只在相應(yīng)的功能被請(qǐng)求時(shí)才加載。
此外,可以更為容易地將更新應(yīng)用于各個(gè)模塊,而不會(huì)影響該程序的其他部分。例如,您有一個(gè)大型網(wǎng)絡(luò)游戲,如果把整個(gè)數(shù)百M(fèi)B甚至數(shù)GB的游戲的代碼都放在一個(gè)應(yīng)用程序里,日后的修改工作將會(huì)十分費(fèi)時(shí),而如果把不同功能的代碼分別放在數(shù)個(gè)動(dòng)態(tài)鏈接庫(kù)(DLL)中,您無需重新生成或安裝整個(gè)程序就可以應(yīng)用更新。
3.數(shù)據(jù)庫(kù)封裝
數(shù)據(jù)庫(kù)封裝一般有三種格式:靜態(tài)連接庫(kù)、動(dòng)態(tài)連接庫(kù)、和com組件。
1)區(qū)別:
(1)靜態(tài)連接庫(kù)作為目標(biāo)代碼的一部分被鏈接。
(2)動(dòng)態(tài)連接庫(kù)和目標(biāo)代碼是兩個(gè)部分。
(3)COM組件通過在注冊(cè)表中注冊(cè)動(dòng)態(tài)庫(kù)的位置和接口進(jìn)行調(diào)用。
2)優(yōu)缺點(diǎn):
(1)靜態(tài)缺點(diǎn):使目標(biāo)程序體積增大,不太靈活。
(2)動(dòng)態(tài)鏈接庫(kù)優(yōu)點(diǎn):使程序模塊化,只要保證接口函數(shù)不變,更改DLL內(nèi)部實(shí)現(xiàn)的細(xì)節(jié),不會(huì)導(dǎo)致調(diào)用失敗,不過不能解決引用計(jì)數(shù)等題 。
(3)COM很好的解決了DLL不能解決的一些問題。
3)DLL與COM的區(qū)別:
COM英文為Component Object Model(組件對(duì)象模型),是微軟生產(chǎn)軟件組件的標(biāo)準(zhǔn)。它是構(gòu)造二進(jìn)制兼容軟件組件的規(guī)范,不管組件應(yīng)用何種語(yǔ)言編寫只要遵循com規(guī)范就可以相互直接通信。提出com規(guī)范主要是為了滿足:
(1)程序的快速開發(fā),可以將一個(gè)大型的工程分成若干個(gè)com組件同時(shí)開發(fā)。
(2)可以動(dòng)態(tài)的插入或卸載com組件。
(3)可以隱藏或封裝com組件內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。 com組件可以由不同的語(yǔ)言進(jìn)行編寫,但com組件之間的通信是通過組件的接口來實(shí)現(xiàn)的,com組件接口的實(shí)現(xiàn)是統(tǒng)一的,它采用的是虛擬函數(shù)表(VTBL)形式。虛擬函數(shù)表中包含了組件函數(shù)的一組指針,我們可以通過這組指針來獲取我們想要通信的組件函數(shù)的內(nèi)存地址。
dll(動(dòng)態(tài)鏈接庫(kù))是包含函數(shù)和數(shù)據(jù)的模塊的集合。它可以導(dǎo)出數(shù)據(jù)也可以導(dǎo)出函數(shù)以供其它的dll調(diào)用。dll的加載可以通過靜態(tài)鏈接和動(dòng)態(tài)鏈接兩種方式:
(1)靜態(tài)鏈接時(shí)將所要鏈接的dll模塊以二進(jìn)制的形式編譯進(jìn)其他模塊。
(2)動(dòng)態(tài)鏈接指調(diào)用模塊在運(yùn)行時(shí)加載DLL,使用LoadLibrary函數(shù)或LoadLibraryEx函數(shù)將dll 加載到進(jìn)程的地址空間,并調(diào)用GetProcAddress函數(shù)以獲取導(dǎo)出的 DLL 函數(shù)的地址。
4)加載dll的優(yōu)點(diǎn):
(1)DLL可節(jié)省內(nèi)存并減少交換。通過在內(nèi)存中共享 DLL 的單個(gè)副本,多個(gè)進(jìn)程可以同時(shí)使用一個(gè)DLL。相比之下,對(duì)于使用靜態(tài)鏈接庫(kù)構(gòu)建的每一個(gè)應(yīng)用程序,Windows 都要在內(nèi)存中為其加載庫(kù)代碼的一個(gè)副本。
(2)DLL 可節(jié)省磁盤空間。 多個(gè)應(yīng)用程序可以共享磁盤上的一個(gè) DLL 副本。相比之下,使用靜態(tài)鏈接庫(kù)構(gòu)建的每一個(gè)應(yīng)用程序都需要讓鏈接到程序文件映像的庫(kù)代碼作為一個(gè)單獨(dú)的專用副本。
因?yàn)閯?dòng)態(tài)鏈接庫(kù)具有以上的優(yōu)點(diǎn),更加符合本畢業(yè)設(shè)計(jì)的要求,所以在數(shù)據(jù)庫(kù)封裝時(shí),我采用DLL封裝。
四、完成畢業(yè)論文(設(shè)計(jì))所必須具備的工作條件及解決的辦法:
1.在了解計(jì)算機(jī)硬盤的相關(guān)知識(shí)的前提下,認(rèn)真分析計(jì)算機(jī)硬盤結(jié)構(gòu)及相關(guān)知識(shí)。
2.學(xué)習(xí)和使用WINDOWS提供的API函數(shù)。
3.認(rèn)真學(xué)習(xí)串口通訊,及其相關(guān)的知識(shí)。
4.上課時(shí)間,使用學(xué)校實(shí)驗(yàn)室提供軟硬件實(shí)驗(yàn)設(shè)備;課余的時(shí)間,使用PC機(jī)作為實(shí)驗(yàn)環(huán)境。
5.學(xué)校指導(dǎo)老師在畢業(yè)設(shè)計(jì)上的精心指導(dǎo)。
五、工作的主要階段、進(jìn)度與時(shí)間安排:
(1)20xx年3月5日——20xx年3月16日 收集資料,擬定畢業(yè)設(shè)計(jì)題目:通用測(cè)控系統(tǒng)——串口通訊庫(kù)
(2)20xx年3月17日——20xx年3月31日 整理并消化吸收資料。復(fù)習(xí)課程設(shè)計(jì)需要的串口通訊和API函數(shù)等知識(shí),并查閱本課程設(shè)計(jì)相關(guān)的知識(shí),對(duì)其進(jìn)行學(xué)習(xí)。
(3)20xx年4月1日——20xx年4月10日 進(jìn)一步學(xué)習(xí)相關(guān)知識(shí),細(xì)化課程設(shè)計(jì)的每一步驟,完成課程的大體框架。
(4)20xx年4月11日——20xx年5月7日 在導(dǎo)師指導(dǎo)下,結(jié)合自己所做的通用測(cè)控系統(tǒng)——串口通訊庫(kù),處理解決相關(guān)問題,并撰寫論文,提交初稿。
(5)20xx年5月8日——20xx年5月20日 在導(dǎo)師指導(dǎo)下完成論文的修改和完善,以達(dá)到學(xué)校所給的論文標(biāo)準(zhǔn)要求。
(6)20xx年5月底,經(jīng)導(dǎo)師同意,并向答辯組提交論文,參加本人的學(xué)士學(xué)位畢業(yè)論文答辯。
六、閱讀的主要參考文獻(xiàn)及資料名稱:
1. 范逸之等 C++ Builder與RS-232串行通信控制 清華大學(xué)出版社. 2002
2. 馬云濤 VC串口通訊控件MSComm編程詳解 電子工業(yè)出版社 2003
3. Serial Port Complete 2nd Edition.Dec.2007 清華大學(xué)出版社 2007
4. 龔建偉 Visual C++_Turbo C串口通信編程實(shí)踐(M) 電子工業(yè)出版社. 2004
5. 譚思亮等Visual C++串口通信工程開發(fā)實(shí)例導(dǎo)航 人民郵電出版社. 2003
6. 求是科學(xué) Visual C++串口通信技術(shù)與工程實(shí)踐(第二版) 人民郵電出版社 2004
7. 李書智 Visual C++實(shí)踐與提高--串口通信與工程應(yīng)用篇 中國(guó)鐵道出版社2006
8. 丁展、劉海英 Visual C++網(wǎng)絡(luò)通信編程實(shí)用案例精選 人民郵電出版社 2004
9. 周慧貞 串口通信編程大全 2008
10. (美)Mark.Nelson 串行通信開發(fā)指南第二版.pdf 中國(guó)水利水電出版社 2000
11. 龔建軍 龔建軍串口通訊電子書(清晰版) 電子書網(wǎng)站 2009
12. 深入淺出Visual_C++串口編程 北京理工大學(xué) 2005
13. 譚思亮等 Visual C++ 串口通信工程開發(fā)實(shí)例導(dǎo)航源代碼(M)人民郵電出版社. 2003
14. 龔建偉等 Visual C++_Turbo C串口通信編程實(shí)踐(第2版)配套光盤 電子工業(yè)出版社 2007
15. 韓耀旭 Win32串口編程 大連理工大學(xué) 2005
【計(jì)算機(jī)軟件畢業(yè)論文開題報(bào)告】相關(guān)文章:
計(jì)算機(jī)軟件畢業(yè)論文開題報(bào)告03-06
畢業(yè)論文開題報(bào)告要求03-18
畢業(yè)論文開題報(bào)告的范文03-19
畢業(yè)論文開題報(bào)告封面03-18
銀行畢業(yè)論文開題報(bào)告03-08
畢業(yè)論文開題報(bào)告格式03-26
畢業(yè)論文開題報(bào)告范例12-07
教育畢業(yè)論文開題報(bào)告12-13
中文畢業(yè)論文開題報(bào)告11-28
畢業(yè)論文開題報(bào)告模板03-21