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

正文內(nèi)容

二維點(diǎn)樣平臺設(shè)計(jì)畢業(yè)論文-文庫吧

2025-06-14 14:20 本頁面


【正文】 種類型的對象之間通過發(fā)送消息進(jìn)行聯(lián)系,消息能夠激發(fā)對象作出相應(yīng)的反應(yīng),從而構(gòu)成一個(gè)運(yùn)動(dòng)的整體。 Visual Basic 屬于事件驅(qū)動(dòng)的編程機(jī)制,由事件控制著程序運(yùn)行的流向。 事件是可以由窗體或控件識別的操作。在響應(yīng)事件時(shí),事件驅(qū)動(dòng)應(yīng)用程序執(zhí)行指定的代碼。 Visual Basic 是一種 接近自然語言和人類的邏輯思維方式 并 具有結(jié)構(gòu)化程序設(shè)計(jì)的控制結(jié)構(gòu)。 1966 年, Bohra 和 Jacopini 提出了結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu),即 順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu) 。 這三種基本結(jié)構(gòu)是 Visual Basic 程序設(shè)計(jì)的核心 。 程序編寫 該部分利 用 VB 設(shè)計(jì)上位機(jī)控制平臺 ,實(shí)現(xiàn)手動(dòng)和自動(dòng)設(shè)置待點(diǎn)樣行列數(shù);實(shí)現(xiàn)回原點(diǎn)操作, 模擬顯示點(diǎn)樣當(dāng)前位置和運(yùn)動(dòng)軌跡,設(shè)置的坐標(biāo)值能通過串口通信發(fā)送到下位機(jī), 下位機(jī)在對步進(jìn)電機(jī)進(jìn)行驅(qū)動(dòng)運(yùn)行后能將相應(yīng)的坐標(biāo)返回給上位機(jī)實(shí)現(xiàn)點(diǎn)樣定位控制并將相應(yīng)的坐標(biāo)在二維坐標(biāo)顯示區(qū)顯示出來 。 創(chuàng)建標(biāo)準(zhǔn)項(xiàng)目文件 本設(shè)計(jì)需要?jiǎng)?chuàng)建一個(gè)基于 的項(xiàng)目。先打開 Visual Basic ,然后打開“文 件”中的“新建工程”,然后選擇新建“標(biāo)準(zhǔn) EXE”即可,如圖 2 所示。這樣就 創(chuàng)建了一個(gè)標(biāo)準(zhǔn) EXE的項(xiàng)目文件 [1]。 淮南師 范學(xué)院 20xx 屆本科畢業(yè)論文 5 圖 2 創(chuàng)建標(biāo)準(zhǔn) EXE 項(xiàng)目文件 加入串口通信控件 MSComm 控件是 Microsoft 公司為了簡化 Windows 下串行通信編程而提供的一種ActiveX 控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。 MSComm 控件給出事件驅(qū)動(dòng)和查詢兩種方式。事件驅(qū)動(dòng)有程序響應(yīng)及時(shí)的優(yōu)點(diǎn),開發(fā)者只需在每個(gè)事件中添加自己的程序。查詢方式在某些情況下更便捷,但其實(shí)質(zhì)也是事件驅(qū)動(dòng)。程序的每個(gè)關(guān) 鍵功能之后,可以通過查詢 CommEvent 屬性值來查詢事件和錯(cuò)誤。 默認(rèn)的控件工具欄沒有 MSComm 控件,因此需要打開菜單欄“工程”下面的“部件”(跳出如圖 3 所示的對話框,找到“ Microsoft Comm Control ”,點(diǎn)擊確定完成添加)將 MSComm控件加到工具欄中。 圖 3 添加 MSComm 控件 二維點(diǎn)樣平臺設(shè)計(jì) 6 MSComm控件的許多屬性都是需要開發(fā)者根據(jù)自己的需要進(jìn)行設(shè)置。將 MSComm控件添加到工程的 Form 框中,點(diǎn)擊 MSComm 控件即可在右邊的屬性欄對其進(jìn)行設(shè)置。 MSComm 控件有許多重要的屬性, 如 CommPort 設(shè)置端口號; Settings 設(shè)置波特率、奇偶檢驗(yàn)、數(shù)據(jù)位和停止位; PortOpen 設(shè)置并返回通信端口的狀態(tài),也可以打開或關(guān)閉端口; Input 從接收緩沖區(qū)返回或刪除字符; Output 向傳輸緩沖區(qū)寫一個(gè)字符串。根據(jù)本設(shè)計(jì)需要,設(shè)置端口號 CommPort 固定為 4, Settings 設(shè)置為“ 9600,n,8,1” [12]。 設(shè)計(jì)程序主界面 Visual Basic 最大的好處就是他的可視化。對于主界面的設(shè)計(jì),只需要選擇需要的工具在 Fram上添加、移動(dòng),操作簡單方便。 選擇 Frame 在窗體 上分出四個(gè)部分,分別是串口通信、手動(dòng)點(diǎn)樣、自動(dòng)點(diǎn)樣和點(diǎn)樣坐標(biāo)顯示。“打開 端口”、“回原 點(diǎn)”以及上下 左右移動(dòng)坐標(biāo)等 按鈕采用CommandButton 工具。坐標(biāo)輸入和坐標(biāo)顯示采用 TextBox 工具。為了直觀顯示端口連接狀態(tài),本設(shè)計(jì)使用 Shape 工具畫了一個(gè)圓點(diǎn),當(dāng)未連接的時(shí)候顯示黑色,處于連接狀態(tài)的時(shí)候顯示綠色。為了實(shí)時(shí)且直觀展示坐標(biāo)所在位置,本設(shè)計(jì)用 PictureBox 工具,在其上面畫出坐標(biāo)和顯示當(dāng)前坐標(biāo)的圓點(diǎn)。主界面設(shè)計(jì)如圖 4 所示。 圖 4 主界面設(shè)計(jì) 淮南師 范學(xué)院 20xx 屆本科畢業(yè)論文 7 坐標(biāo)的實(shí)現(xiàn)是使用 Visual Basic 的畫線功能 。 Scale 用來定義刻度,例如 (10,, 110)(110, 10),定義左上角座標(biāo)為 (20,120),右下角座標(biāo)為 (110,20)。 Line 用來畫線,例如 (0, 0)(110, 0), vbBlack,這句話是在 (0,0)坐標(biāo)和(110,0)坐標(biāo)之間畫一條白色的線。 DrawWidth 用來定義線寬。 Picture1 的坐標(biāo)程序如下所示: = 5 (10, 110)(110, 10) ‘繪橫坐標(biāo) = 2 (0, 0)(110, 0), vbBlack = 1 (0, 10)(100, 10), vbWhite (0, 20)(100, 20), vbWhite ‘繪坐標(biāo)縱線 = 2 (0, 0)(0, 110), vbBlack = 1 (10, 0)(10, 100), vbWhite (20, 0)(20, 100), vbWhite 39。指定位置顯示原點(diǎn) O = 5 = 0 O … 參數(shù)輸入和控制實(shí)現(xiàn) 本點(diǎn)樣控制平臺的使用必須先打開端口,只有串口設(shè)備號和本平臺的設(shè)備號一致時(shí)才能進(jìn)行通信。當(dāng) 用戶點(diǎn)擊“打開端口”時(shí),先檢查端口號是否存在或者已經(jīng)被打開。當(dāng)端口號正確之后將端口打開,即 = Ture,改變圓點(diǎn)的顏色為綠色,指示端口已經(jīng)被打開,并且按鍵名稱更改為“關(guān)閉端口”。如果端口不正確,那么根據(jù)錯(cuò)誤代碼,跳出消息框提示用戶錯(cuò)誤原因。端口控制的代碼如下所示: Private Sub Command5_Click() 二維點(diǎn)樣平臺設(shè)計(jì) 8 If = 關(guān)閉端口 Then = False = 打開端口 = RGB(0, 0, 0) Else If Test_COM(4) = True Then = True = 關(guān)閉端口 = RGB(0, 255, 0) End If End If End Sub 39。檢測端口號函數(shù) Private Function Test_COM(_num As Integer) As Boolean If = 打開端口 Then On Error GoTo Comm_Error = _num 39。這里接收傳入的串口號 = True = False Test_COM = True 39。如果返回 1, 表示串口可用 Exit Function Comm_Error: If = 8002 Then MsgBox 串口不存在,請配置串口號為 COM4! ElseIf = 8005 Then MsgBox 串口已打開! Else MsgBox 其它錯(cuò)誤 End If Test_COM = False 39。如果出錯(cuò),則返回 0 Exit Function Resume Next 淮南師 范學(xué)院 20xx 屆本科畢業(yè)論文 9 End If End Function 上下左右移動(dòng)按鈕和回原點(diǎn)按鈕控制原理一樣,即當(dāng)有 Click 點(diǎn)擊事件時(shí),改變坐 標(biāo)的值,如“ Y+”按鈕被按下時(shí),那么將當(dāng)前坐標(biāo)的 Y 軸坐標(biāo)加一,然后將改變后的坐標(biāo)值發(fā)送出去。為了在上位機(jī)上直觀看到坐標(biāo)的移動(dòng)軌跡,那么需同時(shí)移動(dòng)坐標(biāo)圓點(diǎn)的位置以及更改 TextBox 中的坐標(biāo)值。圓點(diǎn)的移動(dòng)用 Move 函數(shù),如 20, 30 是將 Point1 點(diǎn)的 Left 移動(dòng)到 20 刻度處, Top 移動(dòng)到 30 刻度處。數(shù)據(jù)的發(fā)送使用MSComm 控件 Output 屬性。每次點(diǎn)擊操作需要發(fā)送 XY 兩個(gè)數(shù)值,所以首先定義兩個(gè)字節(jié): Dim sendbyte(1) As Byte。 本系統(tǒng)設(shè)計(jì) X 軸和 Y 軸坐標(biāo)都在 0100 以內(nèi),為了方便下位機(jī)區(qū)分接收到的數(shù)據(jù),發(fā)送之前將 X軸坐標(biāo)值和十六進(jìn)制 H80 相“與”,這樣 X軸數(shù)據(jù)最高位為 1, Y軸數(shù)據(jù)最高位為 0,下位機(jī)就可以通過數(shù)據(jù)的最高位來判斷收到的數(shù)據(jù)是 X 軸坐標(biāo)還是Y 軸坐標(biāo)。這種做法對下位機(jī)來說省去了繁瑣的數(shù)據(jù)解析工作,簡單方便。具體的代碼如下所示: Private Function SendXY(xv As Integer, yv As Integer) As Boolean 39。發(fā)送 xy 坐標(biāo) SendXY = False If Then sendbyte(0) = xv Or amp。H80 sendbyte(1) = yv = sendbyte SendXY = True End If End Function 自動(dòng)采樣需要用戶輸入 三組坐標(biāo)值,然后點(diǎn)擊開始,數(shù)據(jù)每隔 一秒發(fā)送一組,同時(shí)移動(dòng) 二維 坐標(biāo) 顯示 區(qū)的圓點(diǎn), 并 顯示坐標(biāo)移動(dòng)軌跡。因?yàn)?需 要定時(shí)每秒發(fā)送一次,所以 這里用了一個(gè)定時(shí)工具 Timer。 Timer 的 Interval 用來設(shè)置定時(shí)時(shí)間,單位為毫秒,本設(shè)計(jì)設(shè)置為 1000,也就是一秒中斷一次。當(dāng)用戶輸入三組數(shù)據(jù)并點(diǎn)擊“開始”按鈕之后, 會(huì) 打開定時(shí)器,延時(shí)時(shí)間到的時(shí)候進(jìn)入 Timer 函數(shù),在該函數(shù)中每秒發(fā)送 一組坐標(biāo),三組發(fā)送完成之后關(guān)閉定時(shí)器。此外,對三組數(shù)據(jù)的輸入進(jìn)行限制,當(dāng)輸 二維點(diǎn)樣平臺設(shè)計(jì) 10 入為空或者大于 100 則跳出消息框提示用戶輸入正確的數(shù)值,錯(cuò)誤提示 如圖 5 所示。 圖 5 輸入超出范圍報(bào)錯(cuò) 錯(cuò)誤處理和調(diào)試 界面和代碼編寫完成并不代表工作的結(jié)束,最艱苦的就是對完成的程序的處理和調(diào)試。錯(cuò)誤通常有語法錯(cuò)誤、運(yùn)行錯(cuò)誤和邏輯錯(cuò)誤。語法錯(cuò)誤很容易修改,對于運(yùn)行錯(cuò)誤和邏輯錯(cuò)誤,可以根據(jù) Visual Basic 的錯(cuò)誤提示進(jìn)行修改。舉個(gè)例子來說,如果MSComm 控件的 Settings 設(shè)置為“ 9600,n,9,1”,運(yùn)行時(shí)會(huì)報(bào)錯(cuò),跳出對話框“ Invalid property value”。 有時(shí)候捕獲了錯(cuò)誤代碼,但是不應(yīng)該只向用戶顯示錯(cuò)誤信息代碼,而且大多數(shù)額用 戶是不知道這些錯(cuò)誤代碼的含義。為了將錯(cuò)誤代碼翻譯成對改錯(cuò)誤的描述,可以將捕獲的錯(cuò)誤代碼傳給 Visual Basic 提供的 Error 函數(shù),在給函數(shù)完成對錯(cuò)誤代碼的解釋。在本設(shè)計(jì)中,當(dāng)打開不存在的端口時(shí)會(huì)捕獲到錯(cuò)誤代碼 8002,這個(gè)錯(cuò)誤號的含義是無效的端口號( PortInvalid)。在本程序中是這么處理的: On Error GoTo Comm_Error … Comm_Error: If = 8002 Then MsgBox 串口不存在,請配置串口號為 COM4! … 淮南師 范學(xué)院 20xx 屆本科畢業(yè)論文 11
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1