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

正文內(nèi)容

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

2025-07-01 09:36本頁(yè)面

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

  

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