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

正文內(nèi)容

畢業(yè)設(shè)計(jì):usb數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)-資料下載頁(yè)

2024-12-03 17:46本頁(yè)面

【導(dǎo)讀】用于工業(yè)控制和數(shù)字設(shè)備中。其連接方式非常靈活,既可使用串行連接,此外,它還可以從系統(tǒng)中直接汲取電源,無需單獨(dú)的供電系統(tǒng)。

  

【正文】 ;置邊沿觸發(fā)方式 SETB EXI ;開中斷 SETB EA ; CPU 開中斷 MOVX @DPTR A ;啟動(dòng) 0 通道 A/D DEC R7 ;通道數(shù)減 1 SJMP $ ;等待中斷 ORG 0200H ;中斷服務(wù)子程序 成都電子機(jī)械高等??茖W(xué)校畢業(yè)論文 作者 鐘燕飛 202118 第 24 頁(yè) PINT1:MOVX A,@DPTR ;讀 A/D 值 MOVX @R1,A ;存 A/D 值 INC R1 ;修正數(shù)據(jù)區(qū)地址 INC DPTR ;修正通道地址 MOVX @DPTR,A ;啟動(dòng)下一通道 A/D DJNZ R7, GORETI ;判斷 8路采集完否 CLR EX1 ; 8 路采集已完,關(guān)中斷 MAIN: MOV TH0, 0DDH MOV TL0, 18H MOV IE, 82H SETB TRO LOOP: SJMP LOOP ORG 200H TOINT: CLR SETB MOV TH0, 0DDH MOV TL0, 18H RETI MOV DPTR, 2021H ;置 USB 數(shù)據(jù)地址 LOOP: MOV R0, 30H ;傳采集數(shù)據(jù) MOV R7, 08H ;置循環(huán)次數(shù) MOV A, R0 ;存數(shù)據(jù) MOV DPTR, A ;傳數(shù) 據(jù)至 USB20C 接口 INC R7 ;次數(shù)自動(dòng)減 1 DJNZ R7, LOOP ;判斷是否完 RETI ;數(shù)據(jù)采集完 成都電子機(jī)械高等??茖W(xué)校畢業(yè)論文 作者 鐘燕飛 202118 第 25 頁(yè) 單片機(jī)主程序框圖 開始 單片機(jī)初始化 設(shè) INT1 邊沿觸發(fā) 啟動(dòng) IN0 A/D 8 路采完 禁止 INTI 中斷 開 USB 中斷 發(fā)送數(shù)據(jù)至 USB 8 位數(shù)據(jù)送完 成都電子機(jī)械高等專科學(xué)校畢業(yè)論文 作者 鐘燕飛 202118 第 26 頁(yè) 第三 章 軟件設(shè)計(jì) 3 .1. Visual Basic簡(jiǎn)介 Visual Basic 語言誕生于 1991 年 ,為人們開發(fā)圖形用戶界面的應(yīng)用程序提供了有力的工具,它是近年來被廣泛使用的一種高級(jí)語言。 Visual Basic 繼承了 BASIC 語言簡(jiǎn)單易學(xué)的特點(diǎn),又增加了許多新的功能,它采用當(dāng)前最新的程序設(shè)計(jì)思想:面向?qū)ο笈c事件驅(qū)動(dòng),使編程變得更加方便,快捷。使用 Visual Basic 既可以開發(fā)個(gè)人或小組使用得小型工具,又可以開發(fā)多媒體軟件,數(shù)據(jù)庫(kù)運(yùn)用程序,網(wǎng)絡(luò)運(yùn)用程序等大型軟件。 USB2 .0數(shù)據(jù)采集系統(tǒng)需要硬件和軟件兩部分組成,硬件由USB信號(hào)模擬器以及計(jì)算機(jī)組成,軟件由測(cè)試軟件和動(dòng)態(tài)數(shù)據(jù)庫(kù)組成.在測(cè)試程序中處理各種數(shù)據(jù),顯示處理結(jié)果,在動(dòng)態(tài)數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)的存儲(chǔ),讀取操作. . USB20C函 數(shù)接口介紹 ., USB 設(shè)備 操作函數(shù) 函數(shù)名 函數(shù)功能 備注 ① 設(shè)備操作關(guān)鍵函數(shù) USBDLLInit 初始化 USB 總線的設(shè)備對(duì)象 USBDLLDone 關(guān)閉設(shè)備,且釋放 USB 總線設(shè)備對(duì)象 USB_GetStatus 讀狀態(tài)輸入信息 USB_Inport 從數(shù)據(jù)總線讀一個(gè)字節(jié) 成都電子機(jī)械高等專科學(xué)校畢業(yè)論文 作者 鐘燕飛 202118 第 27 頁(yè) USB_Outport 輸出一個(gè)字節(jié)的數(shù)據(jù) USB_BulkInport 批量讀數(shù)據(jù) USB_SetControl 設(shè)置控制輸出 ② 輔助函數(shù) USB_ReadADOnce 設(shè)置并讀取一 次 AD 轉(zhuǎn)換值 USB_LastError 獲得 USB 錯(cuò)誤信息 使用需知 Visual C++: 要使用如下函數(shù)關(guān)鍵的問題是: 首先,必須在您的源程序中包含如下語句 (注意參考 VC 示范程序中的 頭文件中的用戶填加部分 ): include “C: \USB203\INCLUDE\” 注:以上語句采用默認(rèn)路徑,應(yīng)根據(jù)您的安裝情況確定 頭文件的正確路徑,當(dāng)然也可以把此文件拷到您的源程序目錄中。 其次,您還應(yīng)該在 Visual C++編譯環(huán)境軟件包 的 Project Setting 對(duì)話框的 Link屬性頁(yè)中的 Object/Library Module 輸入行中加入如下指令: C:\USB203\ 注:以上語句采用默認(rèn)路徑,應(yīng)根據(jù)您的安裝情況確定 的路徑,當(dāng)然也可以把此文件拷到您的源程序目錄中。為了驅(qū)動(dòng)程序和相關(guān)接口盡量精煉快速,所以沒有加任何調(diào)試代碼,因此用戶在使用 VC 接口的時(shí)候應(yīng)使用發(fā)行版本進(jìn)行源代碼編譯( Win32 Release),而不應(yīng)該使用調(diào)試版本( Win32 Debug)。具體方法是在源代碼編譯前,執(zhí)行 Build 總菜單中的 Set Active Configuration子菜單命令,便可實(shí)現(xiàn)其發(fā)行版的設(shè)置,然后再編譯,即可生成發(fā)行版的應(yīng)用程序。 Visual Basic: 要使用如下函數(shù)一個(gè)關(guān)鍵的問題是首先必須將我們提供的模塊文件加入到VB 工程中。其方法是選擇 VB 編程環(huán)境中的工程菜單 ,執(zhí)行其中的 添加模塊 命令 ,在彈出的對(duì)話中選擇 模塊文件,該文件的路徑為用戶安裝驅(qū)動(dòng)程序后其子目錄 Samples\VB 的下面。 . 函數(shù)原型說明 關(guān)于 Visual C++函數(shù)的原型請(qǐng)參 考 頭文件( for Visual C++)或( for Visual Basic)。另外請(qǐng)注意,因考慮 Visual C++和 Visual Basic兩種語言的兼容問題,在下列函數(shù)說明和示范程序中,所舉的 Visual Basic 程序均是需要編譯后在獨(dú)立環(huán)境中運(yùn)行。所以用戶若在解釋環(huán)境中運(yùn)行這些代碼,我們不保證能順利運(yùn)行。 函數(shù)說明 定義了以下的函數(shù)返回值。 define USBERR_SUCCESS 0 成功 成都電子機(jī)械高等??茖W(xué)校畢業(yè)論文 作者 鐘燕飛 202118 第 28 頁(yè) define USBERR_INVALIDGUID 1 錯(cuò)的 GUID,可能設(shè)備沒有安裝。 define USBERR_INVALIDINTERFACEDATA 2 錯(cuò)的接口信息。 define USBERR_NOMEMORYFORDEVICEDATA 3 沒能分配內(nèi)存。 define USBERR_CANNOTGETDEVICEDATA 4 沒有得到設(shè)備信息。 define USBERR_CANNOTOPENPIPE 5 不能打開“管道”。 define USBERR_INVALIDUSER 6 程序沒有使用 DLL 的權(quán)限。 define USBERR_CANNOTWRITEINFOPIPE 7 “寫”信息管道出錯(cuò)。 define USBERR_CANNOTREADINFOPIPE 8 “讀”信息管道出錯(cuò)。 define USBERR_CANNOTREADMAINPIPE 9 “讀”數(shù)據(jù)管道出錯(cuò)。 其中,錯(cuò)誤 15只可能由函數(shù) USBDLLInit 返回。 動(dòng)態(tài)連接庫(kù)定義了以下的函數(shù)。 int _stdcall USBDLLInit(HANDLE instance)。 int _stdcall USBDLLDone()。 int _stdcall USB_GetStatus( )。 int _stdcall USB_Inport(char Addr)。 int _stdcall USB_Outport(char Addr, char Data)。 int _stdcall USB_BulkInport(char Addr, WORD Len, void * Data, int * ReadLen)。 int _stdcall USB_SetControl(char Data)。 int _stdcall USB_ReadADOnce(void *Data,int *ReadLen)。 int _stdcall USB_LastError( )。 下面是函數(shù)功能的詳細(xì)說明。 初始化函數(shù): int _stdcall USBDLLInit()。 應(yīng)用程序在調(diào)用其他函數(shù)之前應(yīng)該首先調(diào)用本函數(shù),本函數(shù)的主要功能是初始化設(shè)備句柄,以及確認(rèn)設(shè)備沒有被占用。如果在本調(diào)用之前本 DLL 已經(jīng)被另一個(gè)應(yīng)用程序使用,則本次調(diào)用會(huì)返 回 USBERR_INVALIDUSER 錯(cuò)誤。如果沒能初始化設(shè)備句柄,則會(huì)返回錯(cuò)誤 15之一。 結(jié)束函數(shù): int _stdcall USBDLLDone()。 本函數(shù)的功能是釋放設(shè)備句柄。應(yīng)用程序結(jié)束之前應(yīng)該調(diào)用本函數(shù)以釋放設(shè)備句柄。 讀狀態(tài)輸入信息: int _stdcall USB_GetStatus( )。 本函數(shù)的功能是讀當(dāng)前狀態(tài)總線的數(shù)據(jù),函數(shù)返回輸入狀態(tài),低 4位數(shù)據(jù)有效。 從數(shù)據(jù)總線讀一個(gè)字節(jié): int _stdcall USB_Inport(char Addr)。 本函數(shù)先把地 址 Addr 寫入地址總線,然后從數(shù)據(jù)總線讀一個(gè)字節(jié)數(shù)據(jù)(總線上的 RD 會(huì)產(chǎn)生一個(gè)低電平脈沖),函數(shù)返回值為數(shù)據(jù)。 輸出一個(gè)字節(jié)的數(shù)據(jù): int _stdcall USB_Outport(char Addr, char Data)。 本函數(shù)先把地址 Addr 寫入地址總線,然后把數(shù)據(jù) Data 寫入數(shù)據(jù)總線(總線上的成都電子機(jī)械高等??茖W(xué)校畢業(yè)論文 作者 鐘燕飛 202118 第 29 頁(yè) WR會(huì)產(chǎn)生一個(gè)低電平脈沖)。 批量讀數(shù)據(jù): int _stdcall USB_BulkInport(char Addr, WORD Len, void * Data, int * ReadLen)。 需要讀大量數(shù)據(jù)時(shí)使用本函數(shù)。 Addr 是將要輸出在地址總線上的地址, Len 指示數(shù)據(jù)長(zhǎng)度(以 64字節(jié)為單位), Data 指向一個(gè)應(yīng)用程序提供的數(shù)據(jù)緩沖區(qū), ReadLen指示讀到了多少數(shù)據(jù)(以字節(jié)為單位)。例如:需要讀 32k 字節(jié)數(shù)據(jù),則數(shù)據(jù)緩沖區(qū)至少要 32k, Len 應(yīng)該為 512,如果讀數(shù)據(jù)成功則 ReadLen 應(yīng)為 32768。 設(shè)置 AD 并讀取轉(zhuǎn)換值: int _stdcall USB_ReadADOnce(void * Data , int * ReadLen)。 獲得 16個(gè)字節(jié), 8 個(gè)字,對(duì)應(yīng) 8 個(gè)模擬通道的轉(zhuǎn)換數(shù) 據(jù)。 設(shè)置控制總線: int _stdcall USB_SetControl(char Data)。 本函數(shù)的功能是把數(shù)據(jù) Data 輸出到控制總線,低 4 位數(shù)據(jù)有效。 獲得錯(cuò)誤信息: int _stdcall USB_LastError( )。 返回 USB操作的錯(cuò)誤代碼。代碼含義參照上述說明。 3 .3 程序設(shè)計(jì) 因程序的驅(qū)動(dòng)程序在 USB20C 模塊里已經(jīng)有了,所以在這就不用再編寫,而 在此編寫 的程序 主要為 PC 機(jī)的上位機(jī)程序。 本系統(tǒng)主要功能是用于USB接口數(shù)據(jù)傳輸速率檢測(cè),要完成此功能,需要模擬 數(shù)據(jù)輸入系統(tǒng),模擬數(shù)據(jù)輸出系統(tǒng),檢測(cè)程序,數(shù)據(jù)庫(kù)系統(tǒng)幾大部分組成,這幾個(gè)相對(duì)獨(dú)立的子系統(tǒng) 通過VB程序軟件進(jìn)行聯(lián)系. 首先, 為了更簡(jiǎn)潔明了的編寫此程序,現(xiàn)將 上位機(jī)的程序框圖繪制如下: 位機(jī)程序框圖 啟動(dòng) USB 程序 成都電子機(jī)械高等??茖W(xué)校畢業(yè)論文 作者 鐘燕飛 202118 第 30 頁(yè) 檢測(cè) USB 設(shè)備 設(shè)置設(shè)備參數(shù) 接受模擬信號(hào)數(shù)據(jù) 接受數(shù)據(jù)偉有效數(shù)據(jù)? 啟動(dòng)檢測(cè)程序 數(shù)據(jù)分析 數(shù)據(jù)的存儲(chǔ)顯示 等待下組模擬信號(hào)數(shù)據(jù) 結(jié)束 . VB程序設(shè)計(jì) Option Explicit Dim lvwItem As ListItem Dim strGet As String Dim i As Integer Dim blUp As Boolean Dim blDown As Boolean Dim dr
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1