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

正文內(nèi)容

基于51單片機的usb鍵盤設計與實現(xiàn)本科生畢業(yè)設計論文(參考版)

2024-09-01 20:05本頁面
  

【正文】 //RD 置高 return temp。 //RD 置低 temp=D12GetData()。 D12SetDataAddr()。 備 注:無。 入口參數(shù):無。 //WR 置高 D12SetPortIn()。 //將數(shù)據(jù)口設置為輸出狀態(tài)(注意這里為空宏,移植時可能有用) D12SetData(Command)。 //設置為命令地址 D12ClrWr()。 備 注:無。 入口參數(shù): Command:一字節(jié)命令。在 VB 平臺上開發(fā)的太陽能噴射制冷實驗臺測控系統(tǒng) [J].微計算機信息, 2020,23(71). [10]李華 .MCS51 系列單片機使用接口技術[ M] .北京 : 北京航空航天大學出版社, 2020 [11]史波,田凱。單片機與 PC 機的通信設計 [J].工礦自動化 ,20205. [2]胡曉軍 .USB 接口開發(fā)技術[ M] .西安 : 西安電子科技大學出版社, 2020 [3]楊代華,葉敦范,王典洪等 .單片機原理及應用[ M] .武漢:中國地質(zhì)大學出版社, 2020 [4]陳再清。老師平日里工作繁多,但我做畢業(yè)設計的每個階段,從 選題到查閱資料,論文提綱的確定,中間的無數(shù)次的修改,最后論文格式調(diào)整等各個環(huán)節(jié)中都給予了我細心的指導。在論文的開題、大綱確立和最后的成文過程中,老師悉心指導并幫助我,使論文才能順利的完成。在此期間得到了老師和同學的幫助,我要感謝他們對我的幫助。 從系統(tǒng)演示的實際情況來看,本設計雖然實現(xiàn)了基本功能,但還有很多功能不是很完備,希望可以在今后的學習和工作中去完善。在程序調(diào)試期間用簡單的串口通信電路,通過串口調(diào)試助手掌握了 USB 指令的傳輸過程,這對整個方案的設計起到了很大的指導作用。在老師的悉心指導下,自己查找資料、動手練習,在順利完成畢設任務的同時,對單片機 C 語言和 USB 協(xié)議的認識和掌握水平也上了一個新的臺階。編程所采用的軟件開發(fā)平臺是 Keil uVision4,開發(fā)語言是 C 語言,硬件調(diào)試電路手工焊接,可 操作性好。 實物演示 三江學院 2020屆本科生畢業(yè)設計(論文) 26 將 USB 插入電腦 ,看到 USB 指示燈閃爍 ,說明連接正常 ,打開記事本 ,任意按下相應的獨立開關 ,模擬電腦鍵盤下的鍵值 ,在記事本中成功的顯示了相應的按鍵鍵值 ,即 USB與電腦通訊成功 . 三江學院 2020屆本科生畢業(yè)設計(論文) 27 結束語 本科畢業(yè)設計是對大學兩年年來所學專業(yè)知識的整體考察,也是對自己綜合能力的一次很好的評估。作為一個診斷工具,它對隔離故障的設備是很有用的。當 PDIUSBD12成功地枚舉和配置后 LED指示將一直點亮,隨后與 PDIUSBD12 之間成功的傳輸(帶應答)將關閉 LED,處于掛起狀態(tài)時, LED 將會關閉。 前文指出, PDIUSBD12 的 技術可提供良好的 USB 連接指示。 //則返回報告 } KeyCanChange=1。 //端點 2 輸入 中斷處理 } if(ConfigValue!=0) //如果已經(jīng)設置為非 0 的配置,則可以返回報告數(shù)據(jù) { if(!Ep1InIsBusy) //如果端點 1 輸入沒有處于忙狀態(tài),則可以發(fā)送數(shù) 據(jù) { KeyCanChange=0。 //端點 2 輸出中斷處理 if(InterruptSourceamp。 //端點 1 輸入中斷處理 if(InterruptSourceamp。 //端點 1 輸出中斷處理 if(InterruptSourceamp。 //端點 0 輸入中斷處理 if(InterruptSourceamp。 //端點 0 輸出中斷處理 if(InterruptSourceamp。 //總線復位中斷處理 if(InterruptSourceamp。 //總線掛起中斷處理 if(InterruptSourceamp。 //讀回第一字節(jié)的中斷寄存器 if(InterruptSourceamp。 //配置值初始化為 0 while(1) //死循環(huán) { if(D12GetIntPin()==0) //如果有中斷發(fā)生 { D12WriteCommand(READ_INTERRUPT_REGISTER)。 //先斷開 USB 連接 UsbConnect()。 } else { Prints(. ID is incorrect! What a pity!\r\n\r\n)。 PrintShortIntHex(id)。 Prints(Your D12 chip\39。 //打開中斷 InitKeyboard()。 uint8 InterruptSource。 備 注:無。 入口參數(shù):無。 //求出新釋放的鍵 KeyLast=KeyPress。 //求出新按下的鍵 KeyUp|=KeyLastamp。 //保存按鍵 KeyDown|=(~KeyLast)amp。 //按下時間累計 if(KeyNoChangedTime=1) //如果按下時間足夠 三江學院 2020屆本科生畢業(yè)設計(論文) 23 { KeyNoChangedTime=1。 //保存當前按鍵情況 return。它的定義在 // 文件中 if(KeyCurrent!=KeyOld) //如果兩次值不等,說明按鍵情況發(fā)生了改變 { KeyNoChangedTime=0。 //如果正在處理按 鍵,則不再掃描鍵盤 //開始鍵盤掃描 //保存按鍵狀態(tài)到當前按鍵情況 //KeyCurrent 總共有 8 個 bit //當某個開關按下時,對應的 bit 為 1 KeyCurrent=GetKeyValue()。 TL0=(65536Fclk/1000/12*5+15)%256。 ********************************************************************/ void Timer0Isr(void) interrupt 1 { //定時器 0 重裝,定時間隔為 5ms,加 15 是為了修正重裝所花費時間 //這個值可以通過軟件仿真來確定,在這里設置斷點,調(diào)整使兩次運行 //時間差 剛好 為 5ms 即可。 返 回:無。 按鍵處理流程圖 圖 按鍵處理流程圖 5ms 中斷時間到 按鍵與上次相同? 讀取鍵值 Y N 判斷模式正確? 鍵值處理 Y N USB 接口忙? N 發(fā)送按鍵值 Y 開始 三江學院 2020屆本科生畢業(yè)設計(論文) 22 USB 鍵盤處理程序 /******************************************************************** 函數(shù)功能:定時器 0 中斷處理。 三江學院 2020屆本科生畢業(yè)設計(論文) 20 固件編程的實現(xiàn) USB 接口芯片工作流程圖 圖 接口芯片工作流程圖 初始化按鍵和定時器 連接 USB 有中斷事件發(fā)生? N Y 等待 USB 中斷 有按鍵事件發(fā)生? 判斷中斷類型 轉中斷處理 Y 發(fā)送 USB 數(shù)據(jù)包 N 開始 三江學院 2020屆本科生畢業(yè)設計(論文) 21 PDIUSBD12 命令接口 詳細程序見附錄 A。 軟件設計部分主要是要處理好按鍵掃描和 USB 接口芯片的數(shù)據(jù)傳輸問題,按鍵掃描部分利用單片機監(jiān) 測處理,實時性好。許多應用用 C 比其他語言編程更方便和有效。 C不是一種大語言,不是為任何特殊應用領域而設計。 本設計采用的開發(fā)環(huán)境為 Keil uVision4,開發(fā)語言為 C 語言。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到其生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理 解。 Keil 提供了包括 C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境( uVision)將這些部份組合在一起。下表指出了 PDIUSBD12 芯片的命令字: 表 PDIUSBD12 命令字說明 命令名 接受者 編碼 數(shù)據(jù) 初始化命令 設置地址 /使能 器件 D0H 寫 1 字節(jié) 設置端點使能 器件 D8H 寫 1 字節(jié) 設置模式 器件 F3H 寫 2 字節(jié) 設置 DMA 器件 FBH 寫 /讀 1 字節(jié) 三江學院 2020屆本科生畢業(yè)設計(論文) 17 數(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é) 設置端點狀態(tài) 控制輸出 40h 寫 1 字節(jié) 控制輸入 41h 寫 1 字節(jié) 端點 1 輸出 42h 寫 1 字節(jié) 端點 1 輸入 43h 寫 1 字節(jié) 端點 2 輸出 44h 寫 1 字節(jié) 端點 2 輸入 45h 寫 1 字節(jié) 應答設置 選擇的端點 F1H 無 緩沖區(qū)清零 選擇的端點 F2H 無 使緩沖區(qū)有效 選擇的端點 FAH 無 普通命令 發(fā)送回復 F6H 無 讀當前幀數(shù)目 F5H 讀 1 或 2 字節(jié) 三江學院 2020屆本科生畢業(yè)設計(論文) 18 USB 鍵盤硬件設計 圖 USB鍵盤硬件原理圖 三江學院 2020屆本科生畢業(yè)設計(論文) 19 第 4 章 系統(tǒng)軟件設計 單片機開發(fā)中除必要的硬件外,同樣離不開軟件,匯編語言源程序要變?yōu)?CPU 可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼。 可配置為同步傳輸或非同步(批量和中斷)傳輸。 DMA 操作中的自動指針處理。 USB 接口芯片硬件設計 圖 PDIUSBD12 接口原理圖 USB 接口芯片端點描述 PDIUSBD12 的端點適用于不同類型的設備 ,例如圖像 打印機 海量存儲器和通信設備端點可通過 Set Mode 命令配置為 4 種不同的模式,分別為: 表 端點模式 模式 0 NonISO 模式 非同步傳輸 模式 1 ISOOUT 模式 同步輸出傳輸 三江學院 2020屆本科生畢業(yè)設計(論文) 15 模式 2 ISOIN 模式 同步輸入傳輸 模式 3 ISOIO 模式 同步輸入輸出傳輸 4 種模式具體說明見下表: 表 模式 0(非同步模式) 端點數(shù) 端點索引 傳輸類型 端點類型 方向 最大信息包規(guī)格(字節(jié)) 0 0 1 控制輸出 控制輸入 默認 默認 輸出 輸入 16 16 1 2 3 普通輸出 普通輸入 普通 普通 輸出 輸入 16 16 2 4 5 普通輸出 普通輸入 普通 普通 輸出 輸入 464 464 表 模式 1(同步輸出模式) 端點數(shù) 端點索引 傳輸類型 端點類型
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1