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

正文內(nèi)容

基于usb接口的ppt遠(yuǎn)程控制系統(tǒng)的設(shè)計畢業(yè)論文-資料下載頁

2025-07-01 09:36本頁面

【導(dǎo)讀】PPT遙控器是一款用USB來控制計算機(jī)播放PPT的小應(yīng)用。應(yīng)于教師和管理員們演示PPT,幫助他們擺脫線繩的束絆。無線通信產(chǎn)品一直朝著低成本、低消耗功率、小體積等趨勢向前發(fā)。本設(shè)計由無線發(fā)射手柄部分和無線接收部分構(gòu)成。的考慮了用戶使用的方便簡捷和攜帶方便,采用了大量方便用戶使用的設(shè)計結(jié)構(gòu),用戶對設(shè)備工作狀態(tài)的了解;等等。作為一款基于USB接口的微型設(shè)備,低功耗。本論文在設(shè)計的每一個模塊中都認(rèn)真地研究和討論。了這些問題,最終使整個系統(tǒng)的功耗和成本控制在較低的水平之上。

  

【正文】 輸出端 OSC1 16 振蕩電阻輸入端,與 OSC2 所接電阻決定振蕩頻率; OSC2 15 振蕩電阻振蕩器輸出端; VT 17 解碼有效確認(rèn)輸出端(常低)解碼有效變成高電平(瞬態(tài)) ( 1) 無線遙控發(fā)射電路 電路中的四個按鍵是功能按鍵,當(dāng)相應(yīng)的按鍵按下后,經(jīng)過 PT2262 的判定 就可以在 PT2262 的 17 管腳產(chǎn)生請求信號,然后再經(jīng)過天線發(fā)射出去。發(fā)射電路就是通過這樣一個過程發(fā)出請求信號,而接收器接收到信號后就可以得到相應(yīng)的請求信號。由于本系統(tǒng)只是需要 4 個按鍵就可以完成系統(tǒng) 功能,故這里可以不需要太多按鍵。具體的應(yīng)用電路圖如圖 所示。 圖 無線遙控發(fā)射電路 基于 USB 接口的 PPT 遠(yuǎn)程控制系統(tǒng)的設(shè)計 20 ( 2) 無線遙控接收電路 無線接收電路的工作原理是,發(fā)射電路發(fā)出電信號后,接收電路的天線就可以在空中捕獲到電磁波,然后將該電磁波送給 PT2272 的 14 管腳供 PT2272 處理,而 PT2272 將接收到信號解調(diào)后經(jīng)過相應(yīng)的管 腳送給單片機(jī)處理。具體的應(yīng)用電路圖如 附錄圖 1 所示。 基于 USB 接口的 PPT 遠(yuǎn)程控制系統(tǒng)的設(shè)計 21 第 4 章 系統(tǒng)軟件設(shè)計 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,匯編語言源程序要變?yōu)镃PU 可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編 ,機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼。隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā) MCS51 系列單片機(jī)的軟件。 Keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等 在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境( uVision)將這些部份組合在一起。 Keil 軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到其生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。 本設(shè)計采用的開發(fā)環(huán)境為 Keil uVision3,開發(fā)語言為 C語言。 C語言是一個通用的編程語言,它提供高效的代碼,結(jié)構(gòu)化的編程和豐富的操作符。 C 不是一種大語言,不是為任何特殊應(yīng)用領(lǐng)域 而設(shè)計。它一般來說限制較少,可以為各種軟件任務(wù)提供方便和有效的編程。許多應(yīng)用用 C 比其他語言編程更方便和有效。與匯編相比, C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。 軟件設(shè)計部分主要是要處理好按鍵掃描和 USB 接口芯片的數(shù)據(jù)傳輸問題,按鍵掃描部分利用單片機(jī)監(jiān)測處理,實時性好。以下為各部分軟件設(shè)計的詳細(xì)介紹。 接口軟件實現(xiàn) 主機(jī)對一個 USB 設(shè)備的識別是經(jīng)過一個枚舉的過程來完成的,主機(jī)的總線枚舉器隨時監(jiān)控必要的設(shè)備狀態(tài)變化。總線枚舉的過程如下: (1)設(shè)備連接。 USB 設(shè)備經(jīng) USB 總線連接主機(jī)。 (2)設(shè)備上電。 USB 設(shè)備可以自供電,也可以使用 USB 總線供電。 (3)主機(jī)檢測到設(shè)備,發(fā)出復(fù)位。主機(jī)通過檢測設(shè)備在總線的上拉電阻,檢測到有新的設(shè)備連接,并獲釋設(shè)備是全速設(shè)備還是低速設(shè)備,然后向該端口發(fā)送一個復(fù)位信號。 (4)設(shè)備默認(rèn)狀態(tài)。設(shè)備從總線上接收到一個復(fù)位信號后,才可以對總線的處理操作做出響應(yīng)。設(shè) (5)地址分配。當(dāng)主機(jī)接收到有設(shè)備對默認(rèn)地址 (00H)響應(yīng)的時候,就分配給設(shè)備一個空閑的地址,以后設(shè)備就只對該地址進(jìn)行響應(yīng)。 (6)讀取 USB設(shè)備描述符。主機(jī)讀取 USB設(shè)備描述符,確 認(rèn) USB設(shè)備的屬性 . 基于 USB 接口的 PPT 遠(yuǎn)程控制系統(tǒng)的設(shè)計 22 (7)設(shè)備配置。主機(jī)依照讀取的 USB設(shè)備描述符來進(jìn)行配置,如果設(shè)備所需的USB 資源得以滿足,就發(fā)送配置命令給 USB 設(shè)備,表示配置完畢。 (8)掛起。如果使用總線供電,為了節(jié)省電源,當(dāng)總線保持空閑狀態(tài)超過 3ms以后,設(shè)備驅(qū)動程序就會進(jìn)入掛起狀態(tài)。 接口芯片工作流程圖 USB 接口芯片流程圖如圖 : 圖 USB 接口芯片工作流程圖 Y Y N 有按鍵事件發(fā)生 ? 判斷中斷類型 轉(zhuǎn)中斷處理 發(fā)送 USB 數(shù)據(jù)包 N 有中斷事件發(fā)生? 等待 USB 中斷 連接 USB 初始化按鍵和定時器 開始 基于 USB 接口的 PPT 遠(yuǎn)程控制系統(tǒng)的設(shè)計 23 接口芯片驅(qū)動 對一個具體的 USB 接口芯片,需要根據(jù)其相關(guān)寄存器或者 命令字來驅(qū)動。下表指出了 PDIUSBD12 芯片的命令字: 表 PDIUSBD12 命令字說明 命令名 接受者 編碼 數(shù)據(jù) 初始化命令 設(shè)置地址 /使能 器件 D0H 寫 1 字節(jié) 設(shè)置端點使能 器件 D8H 寫 1 字節(jié) 設(shè)置模式 器件 F3H 寫 2 字節(jié) 設(shè)置 DMA 器件 FBH 寫 /讀 1 字節(jié) 數(shù)據(jù)流命令 讀中斷寄存器 器件 F4H 讀 2 字節(jié) 選擇端點 控制輸出 00H 讀 1 字節(jié)(可選) 控制輸入 01H 讀 1 字節(jié)(可選) 端點 1 輸出 02H 讀 1 字節(jié)(可選) 端點 1 輸入 03H 讀 1 字節(jié)(可選) 端點 2 輸出 04H 讀 1 字節(jié)(可選) 端點 2 輸入 05H 讀 1 字節(jié)(可選) 讀最后處理狀態(tài) 控制輸出 40H 讀 1 字節(jié) 控制輸入 41H 讀 1 字節(jié) 端點 1 輸出 42H 讀 1 字節(jié) 端點 1 輸入 43H 讀 1 字節(jié) 端點 2 輸出 44H 讀 1 字節(jié) 端點 2 輸入 45H 讀 1 字節(jié) 讀緩沖區(qū) 選擇的端點 F0H 讀 N 字節(jié) 寫緩沖區(qū) 選擇的端點 F0H 寫 N 字節(jié) 設(shè)置端點狀態(tài) 控制輸出 40h 寫 1 字節(jié) 控制輸入 41h 寫 1 字節(jié) 端點 1 輸出 42h 寫 1 字 節(jié) 端點 1 輸入 43h 寫 1 字節(jié) 端點 2 輸出 44h 寫 1 字節(jié) 端點 2 輸入 45h 寫 1 字節(jié) 應(yīng)答設(shè)置 選擇的端點 F1H 無 緩沖區(qū)清零 選擇的端點 F2H 無 使緩沖區(qū)有效 選擇的端點 FAH 無 普通命令 發(fā)送回復(fù) F6H 無 讀當(dāng)前幀數(shù)目 F5H 讀 1 或 2 字節(jié) 基于 USB 接口的 PPT 遠(yuǎn)程控制系統(tǒng)的設(shè)計 24 驅(qū)動程序 部分程序代碼: void main(void) //主函數(shù) { uint8 InterruptSource。 EA=1。 //打開中斷 InitKeyboard()。 //初始化按鍵 UsbDisconnect()。 //先斷開 USB 連接 UsbConnect()。 //將 USB 連接上 ConfigValue=0。 //配置值初始化為 0 while(1) //死循環(huán) { if(D12GetIntPin()==0) //如果有中斷發(fā)生 { D12WriteCommand(READ_INTERRUPT_REGISTER)。//寫讀中斷寄存器命令 InterruptSource=D12ReadByte()。 //讀回第一字節(jié)的中斷寄存器 if(InterruptSourceamp。0x80)UsbBusSuspend()。 //總線掛起中斷處理 if(InterruptSourceamp。0x40)UsbBusReset()。 //總線復(fù)位中斷處理 if(InterruptSourceamp。0x01)UsbEp0Out()。 //端點 0 輸出中斷處理 if(InterruptSourceamp。0x02)UsbEp0In()。 //端點 0 輸入中斷處理 if(InterruptSourceamp。0x04)UsbEp1Out()。 //端點 1 輸出中斷處理 if(InterruptSourceamp。0x08)UsbEp1In()。 //端點 1 輸入中斷處理 if(InterruptSourceamp。0x10)UsbEp2Out()。 //端點 2 輸出中斷處理 if(InterruptSourceamp。0x20)UsbEp2In()。 //端點 2 輸入中斷處理 } if(ConfigValue!=0) //如果已經(jīng)設(shè)置為非 0 的配置則可以返回報告數(shù)據(jù) { if(!Ep1InIsBusy) //如 果端點 1 輸入沒有處于忙狀態(tài)則可以發(fā)送數(shù)據(jù) { SendReport()。 //則返回報告 } } } } 程序說明: 如果單片機(jī)檢測到按鍵按下的信息,并根據(jù)相應(yīng)的模式發(fā)送按鍵碼, USB 接基于 USB 接口的 PPT 遠(yuǎn)程控制系統(tǒng)的設(shè)計 25 口芯片如果出于非忙的狀態(tài),自動將處理好的數(shù)據(jù)包發(fā)往 PC 機(jī),順利實現(xiàn)一次按鍵過程。 前文指出, PDIUSBD12 的 技術(shù)可提供良好的 USB連接指示。在枚舉中 LED指示根據(jù)通信的狀況間歇閃爍。當(dāng) PDIUSBD12 成功地枚舉和配置后 LED 指示將一直點亮,隨后與 PDIUSBD12 之間成功的傳輸(帶應(yīng)答 )將關(guān)閉 LED,處于掛起狀態(tài)時, LED 將會關(guān)閉。該特性為 USB 器件,集線器和 USB通信狀態(tài)提供了用戶友好的指示。作為一個診斷工具,它對隔離故障的設(shè)備是很有用的。從系統(tǒng)測試中也可以看見該指示 LED 間歇閃爍,很好的驗證了這一特性。 設(shè)備描述符 一個設(shè)備只有一個設(shè)備描述符,而一個設(shè)備描述符可以包含多個配置描述符,而一個配置描述符可以包含多個接口描述符,一個接口使用了幾個端點,就有幾個端點描述符。這些描述符是用一定的字段構(gòu)成的,分別如下說明。 ( 1)設(shè)備描述符 struct _DEVICE_DEscriptOR_STRUCT { BYTE bLength。 // 設(shè)備描述符的字節(jié)數(shù)大小,為 0x12 BYTE bDescriptorType。 // 描述符類型編號,為 0x01 WORD bcdUSB。 // USB 版本號 BYTE bDeviceClass。 // USB 分配的設(shè)備類代碼, 0x01~0xfe 為標(biāo) // 準(zhǔn)設(shè)備類, 0xff 為廠商自定義類型 // 0x00 不是在設(shè)備描述符中定義的,如HID BYTE bDeviceSubClass。 //由 USB 規(guī)定和分配的子類代碼 BYTE bDeviceProtocl。 // USB 分配的設(shè)備協(xié)議代碼,同上 BYTE bMaxPacketSize0。 // 端點 0 的最大包的大小 WORD idVendor。 // 廠商編號 WORD idProduct。 // 產(chǎn)品編號 WORD bcdDevice。 // 設(shè)備出廠編號 BYTE iManufacturer。 // 描述廠商字符串的索引 BYTE iProduct。 // 描述產(chǎn)品字符串的索引 BYTE iSerialNumber。 // 描述設(shè)備序列號字符串的索引 BYTE bNumConfiguration。 // 可能的配置數(shù)量 } ( 2)配置 描述符 struct _CONFIGURATION_DEscriptOR_STRUCT { 基于 USB 接口的 PPT 遠(yuǎn)程控制系統(tǒng)的設(shè)計 26 BYTE bLength。 // 設(shè)備描述符的字節(jié)數(shù)大小,為0x12 BYTE bDescriptorType。 // 描述符類型編號,為 0x01 WORD wTotalLength。 // 配置所返回的所有數(shù)量的大小 BYTE bNumInterface。 // 此配置所支持的接口數(shù)量 BYTE bConfigurationVale。 // Set_Configuration 命令需要的參數(shù)值 BYTE iConfiguration。 // 描述該配置的字符串的索引值 BYTE bmAttribute。 // 供電模式的選擇 BYTE MaxPower。 // 設(shè)備從總線提取的最大電流 }
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1