freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

多功能的智能小車畢業(yè)論-資料下載頁

2025-06-05 17:01本頁面
  

【正文】 當(dāng)消息到達(dá)后,在目標(biāo)窗口處理函數(shù)之前處理他。鉤子機(jī)制允許應(yīng)用程序截獲處理 Windows 消息或特定事件。鉤子實(shí)際上是一個(gè)處理消息的程序段,通過系統(tǒng)調(diào)用,把它掛入系統(tǒng)。每當(dāng)特定的消息發(fā)出,在沒有達(dá)到目的窗口前,鉤子程序就先捕獲該消息,亦即鉤子函數(shù)先得到控制權(quán)。這樣鉤子函數(shù)即可以加工處理(改變)該消息,也可以不作處理而繼續(xù)傳遞該消息,還可以強(qiáng)制結(jié)束消息的傳遞。 鍵盤鉤子的工作原理:通過調(diào)用有關(guān)的 Windows API 函數(shù)來獲取鍵盤輸入的運(yùn) 作,然后根據(jù)虛擬鍵表判斷按鍵的類型,最后把的到的準(zhǔn)確的按鍵類型輸出。 當(dāng)鉤子獲取到按鍵事件的時(shí)候,就判斷下是不是按下的需要的鍵值,如果是的,就給下位機(jī)發(fā)送對(duì)應(yīng)的數(shù)據(jù),其優(yōu)點(diǎn)是比較穩(wěn)定,不會(huì)和其他軟件發(fā)生沖突,即使在程序未激活的狀態(tài)也可以獲取按鍵的信息。 上位機(jī)軟件的設(shè)計(jì) 上位機(jī)界面的設(shè)計(jì) VB上位機(jī)界面如圖 所示: 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 37 圖 藍(lán)牙無線遙控小車上位機(jī)界面 上位機(jī) 程序源代碼 39。全局鉤子的模塊化代碼部分見上位機(jī)工程文件部分 。 Public Class frmHook Dim WithEvents MyKeyBoardHook As Private Sub frmHook_FormClosing(ByVal sender As Object, ByVal e As ) Handles 39。Call btnStop_Click(Nothing, Nothing) xiezaihook() End Sub Private Sub frmHook_Load(ByVal sender As Object, ByVal e As ) Handles Dim a(0) As String 39。端口號(hào)數(shù)組 Dim b As Integer 39。數(shù)組下標(biāo) 39。fasongshu = 87 a = 39。獲取已有的端 口 b = UBound(a) 39。獲取數(shù)組下標(biāo) 39。初始化 = 0 = 5 = 0 = 2 = 0 39。初始化 39。MsgBox(b) If b 0 Then MsgBox(沒有 找 到端口 , , 警告 ) Else 39。MsgBox(b) For i As Integer = 0 To b 39。自動(dòng)添加沒有默認(rèn)的端口號(hào) ? If JieDuanKouShu(a(i)) 6 Then 39。MsgBox(a(i)) (a(i)) End If Next 39。循環(huán) 161。結(jié)束 Dim instance As UnauthorizedAccessException 39。定義串口資源占用異常 For i As Integer = 0 To b 39。自動(dòng)打開端口 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 38 Try If = True Then Exit For Else = a(i) () If = True Then = JieDuanKouShu(a(i)) 1 = 端口已打開 = = 關(guān)閉端口 End If go: End If Catch instance GoTo go End Try Next 39。循環(huán)結(jié)束 End If () 39。開始運(yùn)行程序時(shí) , 讓發(fā)送被選擇激活控件 End Sub Private Sub MyKeyboardHook_KeyDown(ByVal sender As Object, ByVal e As ) Handles fasong() End Sub Private Function JieDuanKouShu(ByVal a As String) 39。獲取端口數(shù)的號(hào)碼, 如 COM1返回 1 Dim i As String i = Mid(a, 4, 1) JieDuanKouShu = Val(i) End Function Private Sub fasong(ByVal fasongshu As Integer) 39。發(fā)送函 數(shù) If = True Then (Chr(fasongshu)) End If End Sub Private Sub Button1_Click(ByVal sender As , ByVal e As 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 39 ) Handles If = 按鍵監(jiān)聽 Then anzhuanghook() = 關(guān)閉監(jiān)聽 Else = 按鍵監(jiān)聽 xiezaihook() End If End Sub Private Sub Botelv_SelectedIndexChanged(ByVal sender As , ByVal e As ) Handles 39。波特率選 擇 = 39。設(shè)置波特率 End Sub Private Sub Jiaoyanwei_SelectedIndexChanged(ByVal sender As , ByVal e As ) Handles 39。校驗(yàn)位選擇 If = EVEN Then = 39。設(shè)置奇偶校驗(yàn) ElseIf = NONE Then = ElseIf = 0DD Then = End If End Sub Private Sub Shujuwei_SelectedIndexChanged(ByVal sender As , ByVal e As ) Handles 39。數(shù)據(jù)位選擇 = 39。設(shè)置數(shù)據(jù)位 End Sub Private Sub Tingzhiwei_SelectedIndexChanged(ByVal sender As , ByVal e As ) Handles 39。停止位選擇 = + 1 39。設(shè)置停止位 End Sub Private Sub Button8_Click(ByVal sender As , ByVal e As ) Handles 39。關(guān)閉串口 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 40 On Error GoTo go If = 關(guān)閉端口 Then () = 端口未打開 = = 打開端口 Else () go: If = True Then 39。判斷端口是不是打開 = 端口已打開 = = 關(guān)閉端口 Else = 端口未打開 = = 打開端口 MsgBox(端 口不存在或被占用! , 0, 提示 ) End If End If End Sub Private Sub Duankou_SelectedIndexChanged(ByVal sender As , ByVal e As ) Handles 39。端口選擇 On Error GoTo Go If = True Then 39。判斷端口是不是打開 () End If = 39。設(shè)置端口號(hào) () If = True Then 39。判斷端口是不是打開 = 端口已打開 = = 關(guān)閉端口 End If Exit Sub Go: = 端口未打開 = = 打開端口 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 41 End Sub Private Sub anzhuanghook() 39。安裝鉤子 Try MyKeyBoardHook = New (False) Catch ex As Exception MsgBox(, , Error) End Try 39。安裝鉤子 End Sub Private Sub xiezaihook() 39。卸載 鉤子 Try If MyKeyBoardHook IsNot Nothing Then () Catch ex As Exception MsgBox(, , Error) End Try 39。卸載鉤子 End Sub End Class 本章小結(jié) 本章主要介紹了上位機(jī)設(shè) 計(jì)目標(biāo)要求以及其程序流程圖和鍵盤鉤子的應(yīng)用,并說明了上位機(jī)的程序代碼。 通過對(duì) VB 上位機(jī)的設(shè)計(jì),使我再一次學(xué)習(xí)了 VB 的可視化界面編程,學(xué)會(huì)了上位機(jī)的設(shè)計(jì),在整個(gè)調(diào)試的過程中,由于缺乏實(shí)際經(jīng)驗(yàn),對(duì)我來說是一個(gè)很大的挑戰(zhàn),遇到了不少的問題,但是經(jīng)過反復(fù)的調(diào)試之后,我們還是調(diào)試成功了。 在上位機(jī)的軟件編寫過程中,采用了一個(gè)全新的知識(shí)點(diǎn),鉤子函數(shù)同時(shí)采用了模塊化的編程,封裝了鉤子函數(shù),更具實(shí)際工程的特點(diǎn)。 南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文) 42 第 五 章 軟件設(shè)計(jì) 巡黑線功能軟件的設(shè)計(jì) 智能小車 巡黑線利用的是黑色物體吸收紅外光的原理,當(dāng) 智能小車巡黑線時(shí),若小車方向向左偏移時(shí),右傳感器發(fā)出的紅外光被黑線吸收,傳感器給單片機(jī)高電平信號(hào),而左傳感器發(fā)出的紅外光依然被地面反射回來,傳感器給單片機(jī)低電平信號(hào),單片機(jī)根據(jù)這種信號(hào)組合,控制小車右轉(zhuǎn);若小車方向向右偏移時(shí),左傳感器發(fā)出的紅外光被黑線吸收,傳感器給單片機(jī)高電平信號(hào),而右傳感器發(fā)出的紅外光依然被地面反射回來,傳感器給單片機(jī)低電平信號(hào),單片機(jī)根據(jù)這種信號(hào)組合,控制小車左轉(zhuǎn);當(dāng)小車直行時(shí),此時(shí)左右傳感器都給單片機(jī)低電平,此時(shí)單片機(jī)控制小車直行。 其程序流程圖如 所示: 圖 巡黑線軟件流程圖 南京
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1