【正文】
CB的設計。支持Visual Basic、Visual C、Visual C++、Visual F等多種語言的軟件開發(fā)工具,這里不一一例舉。 VISO 2010登陸主窗口界面 新建項目工程,選擇需要的開發(fā)功能模板,就可以進行軟件的設計,本設計采用其中的Visual Basic 功能模板。其內置的軟件仿真可模擬目標微處理器,包括指令集、片上外設及外部信號等,、。 Keil uVision4 軟件工作界面 51單片機C語言C51簡介單片機的 C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。 (2)程序有規(guī)范的結構,可分為不同的函數。 單片機 C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機器硬件系統(tǒng),基本上不做修改就可根據單片機的不同較快地移植過來。況且現在單片機的主頻在不斷的提高,在高頻率時鐘的作用下,我們完全不需要那么高效率的代碼;另外,單片機的 ROM和 RAM空間也在不斷的增加,足夠裝得下你用 C語言寫的任何程序代碼,單片機 C語言相關的資料又多又好找,可移植性非常好,很多時候略作修改即可使用到其他場合。 本章小結 本章主要介紹了電子線路設計軟件Altium Designer Summer 09 ,上位機可視化界面設計軟件Microsoft visual basic 2010以及用于單片機系統(tǒng)設計的集成開發(fā)環(huán)境Keil uVision 4,分別對其作了簡要介紹。 我選的題目是多功能小車的硬件設計,包含巡線,超聲波測距,藍牙無線遙控的硬件設計,同時完成了藍牙無線遙控小車上位機的設計和小車平臺的搭建,這個題目對于我而言是一個全新的挑戰(zhàn)。 在本次畢業(yè)設計中使我真正了解到了實踐與理論結合的重要性,以前總是在頭腦中產生一種想法,卻從沒有機會去認真的做出一個東西,以至不知道結果是行通還是行不通,但通過這次畢業(yè)設計終于可以使我獨立的去完成一個項目,雖然結果難免有不足之處,但畢竟是親自動手去做的,收獲是可想而知的。請老師們諒解。 總之,這次畢業(yè)設計對我而言是受益匪淺的。在畢業(yè)設計期間,佘老師時時提醒并督促我抓緊畢業(yè)設計,我天都要寫畢業(yè)設計并且定期交給佘老師檢查,這樣我沒浪費畢業(yè)設計中的每一天,在佘老師的指導下按時完成了畢業(yè)設計任務。同時感謝我的同班同學顧斌乾,他在軟件設計上付出了很多心血,是我好的合作伙伴,最終在我們的團結合作下,完成了整個智能小車的硬件和軟件的設計。在這里深深的感謝他們!同時我也要感謝我的父母和親人,他們在我的學業(yè)中給了我莫大的鼓勵、關愛和支持。應用程序可以安裝鉤子處理程序去監(jiān)視Window消息傳輸并可以在一些消息傳遞到目標窗口之前處理這些消息。 WH_CALLWNDPROC和WH_CALLWNDPROCRET Hooks WH_CALLWNDPROC 和WH_CALLWNDPROCRET Hooks使你可以監(jiān)視發(fā)送到窗口過程的消息。 Windows系統(tǒng)實際支持如下13種類型的鉤子,對“證券大盜”病毒而言,我們關心的是鍵盤消息“鉤子”(WH_KEYBOARD Hook): WH_CALLWNDPROC Hook 系統(tǒng)將消息發(fā)送到指定窗口之前的“鉤子” WH_CALLWNDPROCRET Hook 消息已經在窗口中處理的“鉤子” WH_CBT Hook 基于計算機培訓的“鉤子” WH_DEBUG Hook 差錯“鉤子” WH_FOREGROUNDIDLE Hook 前臺空閑窗口“鉤子” WH_GETMESSAGE Hook 接收消息投遞的“鉤子” WH_JOURNALPLAYBACK Hook 回放以前通過WH_JOURNALRECORD“鉤子”記錄的輸入消息 WH_JOURNALRECORD Hook 輸入消息記錄“鉤子” WH_KEYBOARD Hook 鍵盤消息“鉤子” WH_MOUSE Hook 鼠標消息“鉤子” 1WH_MSGFILTER 對話框、消息框、菜單或滾動條輸入消息“鉤子” 1WH_SYSMSGFILTER Hook 系統(tǒng)消息“鉤子” 1WH_SHELL Hook 外殼“鉤子” 詳細說明如下: 每一種類型的Hook可以使應用程序能夠監(jiān)視不同類型的系統(tǒng)消息處理機制。這里是部分內容的譯文,原文省略。在多年的學習生活中,還得到了許多學院領導、系領導和老師的熱情關心和幫助。從尊敬的導師身上,我不僅學到了扎實、寬廣的專業(yè)知識,也學到了做人的道理。當一名優(yōu)秀的工程技術人員,實現自己的人生理想參考文獻[1] 彭虎 周佩玲 傅忠謙 編著.《微機原理與接口技術(第二版)》.電子工業(yè)出版社,2008[2] 喻宗泉 主編.《藍牙技術基礎》. 機械工業(yè)出版社,2006[3] 阮毅 陳維鈞 主編.《運動控制系統(tǒng)》. 清華大學出版社,2006[4] 李江全等 編著.《Visual Basic串口通信與測控應用技術實戰(zhàn)詳解》.人民郵電出版社,2007[5] 韓志軍 主編.《單片機系統(tǒng)設計與應用實例第2版》. 機械工業(yè)出版社,2010[6] 張毅剛 等編著.《新編MCS51單片機應用(第三版)》. 哈爾濱工業(yè)大學出版社,2008[7] 王為青 程國鋼 編著.《單片機Keil Cx51應用開發(fā)技術》.人民郵電出版社,2007[8] 譚浩強 編著.《C語言程序設計(第三版)》.清華大學出版社,2005[9] 劉法治 等編著.《常用電子元器件及典型芯片應用技術》. 機械工業(yè)出版社,2007[10] 郭天祥 編著.《51單片機C語言教程》.電子工業(yè)出版社,2009[11] 邵群濤 主編.《電氣制圖與電子線路CAD》.機械工業(yè)出版社,2005[12] 中國軟件開發(fā)聯盟[13] 21IC電子網[14] 致謝本次設計工作是在我的導師佘勃老師的精心指導和悉心關懷下完成的,在我的學業(yè)和設計工作中無不傾注著導師辛勤的汗水和心血。我想,通過這次畢業(yè)設計,到了工作單位后,我將能夠更快的適應工作崗位和工作要求。與此同時,軟件設計與調試能力也有了進一步的提高,對計算機編程語言有了深層次的認識。實踐是許多同學在學習中存在的困難問題,我也不例外。對于實踐應用具有積極的意義。 當然,有時候用單片機 C語言也不能夠實現所有要編寫程序的功能,比如當想編寫一個精確控制的定時程序時,用起匯編語言來還是比較方便的。因為匯編語言程序除了具有簡潔明快、跳躍性強、占 ROM資源少等優(yōu)點以外,還因它和單片機底層硬件緊密聯系,可以讓初學者更加了解單片機硬件系統(tǒng)各種資源,熟悉各個功能模塊的作用,從而為編出更高效率的程序打好扎實的基礎。 (3)編程及程序調試時間顯著縮短,從而提高效率。此外,C語言程序具有完整的程序模塊結構,從而為軟件開發(fā)中采用模塊化程序設計方法提供了有力的保障。是一款功能十分強大,使用十分方便的開發(fā)軟件。 Keil uVision4 集成開發(fā)環(huán)境(IDE)簡介 Keil uVision4 是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)C語言的語法來開發(fā),C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用,而且大大的提高了工作效率和項目開發(fā)周期,它還能嵌入匯編,可以在關鍵的位置嵌入,使程序達到接近于匯編的工作效率。Visual Basic簡稱VB,它繼承了其之前Basic版本所有的程序設計語言簡單易用的特點,其編程系統(tǒng)又采用了面向對象、事件驅動的編程機制,用一種巧妙的方法把Windows編程的復雜性封裝起來,提供了一種所見即所得的可視化界面設計方法。Visual Studio 是Windows平臺應用程序的開發(fā)環(huán)境,它是建立在IDE(集成開發(fā)環(huán)境)的基礎之上,可用于開發(fā)多種不同類型的應用程序。 Altium Designer Summer 09登陸界面進入軟件窗口后就可以進行相關的設計與仿真。新增加的應用控制面板幫助工程師解決了FPGA測試上的難題,并可以遠程監(jiān)控FPGA內的設計。2009年7月 Altium Designer Summer 09 為適應日新月異的電子設計技術,Altium于2009年7月在全球范圍內推出最新版本Altium Designer Summer 09。2008 年 Altium Designer Summer 08(簡稱:AD7)將ECAD和MCAD兩種文件格式結合在一起,Altium在其最新版的一體化設計解決方案中為電子工程師帶來了全面驗證機械設計(如外殼與電子組件)與電氣特性關系的能力。2000 年 Protel99se 性能進一步提高,可以對設計過程有更大控制力。1985 年 誕生 dos 版 Protel。單片機程序的編寫與調試是整個系統(tǒng)非常重要的部分。反之,如果兩電極間未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉化為電信號,將成為超聲波接收器。在上位機的軟件編寫過程中,采用了一個全新的知識點,鉤子函數同時采用了模塊化的編程,封裝了鉤子函數,更具實際工程的特點。安裝鉤子 End Sub Private Sub xiezaihook() 39。判斷端口是不是打開 () End If = 39。設置停止位 End Sub Private Sub Button8_Click(ByVal sender As , ByVal e As ) Handles 39。設置奇偶校驗 ElseIf = NONE Then = ElseIf = 0DD Then = End If End Sub Private Sub Shujuwei_SelectedIndexChanged(ByVal sender As , ByVal e As ) Handles 39。發(fā)送函數 If = True Then (Chr(fasongshu)) End If End Sub Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles If = 按鍵監(jiān)聽 Then anzhuanghook() = 關閉監(jiān)聽 Else = 按鍵監(jiān)聽 xiezaihook() End If End Sub Private Sub Botelv_SelectedIndexChanged(ByVal sender As , ByVal e As ) Handles 39。自動打開端口 Try If = True Then Exit For Else = a(i) () If = True Then = JieDuanKouShu(a(i)) 1 = 端口已打開 = = 關閉端口 End Ifgo: End If Catch instance GoTo go End Try Next 39。MsgBox(a(i)) (a(i)) End If Next 39。初始化 39。fasongshu = 87 a = 39。Public Class frmHook Dim WithEvents MyKeyBoardHook As Private Sub frmHook_FormClosing(ByVal sender As Object, ByVal e As ) Handles 39。鍵盤鉤子的工作原理:通過調用有關的Windows API函數來獲取鍵盤輸入的運作,然后根據虛擬鍵表判斷按鍵的類型,最后把的到的準確的按鍵類型輸出。鉤子機制允許應用程序截獲處理Windows消息或特定事件。 上位機軟件的流程圖設計本上位機的設計是基于Microsoft Visual Studio 2010中的Visual Basic模板