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

正文內(nèi)容

fpga控制的ps2接口電路設(shè)計-展示頁

2024-12-18 01:38本頁面
  

【正文】 cess。)then tmp=d。event and clk=39。 architecture one of dff is signal tmp:std_logic。 q:out std_logic)。 entity dff is port(clk:in std_logic。 把掃描碼轉(zhuǎn)換成 ASCII碼 library ieee。 end process。datascan=tmpdata(8 downto 1)。)then interrupt1=39。event and flag=39。039。139。 end process。039。139。 end process。 end if。 else count=count+1。039。 elsif(k_clock39。139。 signal count:integer range 0 to 11。 architecture one of keyboard is signal tmpdata:std_logic_vector(11 downto 0):=000000000000。 interrupt1:out std_logic)。 rst:in std_logic。 entity keyboard is port(k_data:in std_logic。 use 。 [3] 苗新法 ,王秀華 .PS/ 2鍵盤在嵌入式系統(tǒng)中的應(yīng)用研究 【 M】 .蘭州: 蘭州交通大學(xué)學(xué)報 (自然科學(xué)版 ), 2021(1). [4] 徐曉 , 汪道輝 .標(biāo)準(zhǔn) PS/ 2鍵盤與單片機的接口設(shè)計 【 J】 .中國測試技術(shù) , 2021(1). [5] 王勇 .電子設(shè)計自動化實驗指導(dǎo)書【 M】 .河南科技大學(xué):電子信息工程學(xué)院,2021. 電路設(shè)計源程序: 接收鍵盤發(fā)出的掃描碼 library ieee??傊@次的設(shè)計真的使我受益匪淺。另外,根據(jù)所設(shè)計的程序的 6 功能,只有當(dāng)按鍵彈起時才能把按鍵的 信息顯示出來,而實際上我們希望當(dāng)按住鍵不放時也能顯示鍵值信息。這 5 個掃描碼將會分別顯示在數(shù)碼管和液晶上,而其實我們更希望只顯示 1C。 對我們 來說這是一次很好的鍛煉機會,也使我們對實際系統(tǒng)的設(shè)計掌握了一定的經(jīng)驗, 提升了我們對這門課的理解, 同時 培養(yǎng)了我們編程和寫論文的能力。頂層文件設(shè)計完成后,整體編譯一遍, 然后進行 RTL 級仿真,便得到如下所示的硬件連接電路: 結(jié)束 語 本次的 PS2 鍵盤接口設(shè)計,總的來說,實現(xiàn)了 4 大功能: 1,用 FPGA 控制PS2 鍵盤接口,接收鍵盤發(fā)出的掃描碼數(shù)據(jù) ASCII碼 ASCII 碼顯示在數(shù)碼管上 ASCII 碼顯示在 LCD 液晶上。在這里我們用端口映射的方法。所以應(yīng)該把下一行第一個點陣的地址賦給數(shù)據(jù)端口,然后再依次把 “ ASCIIcode:”這幾個字符的 ASCII 碼值賦給數(shù)據(jù)端口,然后再 把 ASCII 碼高、低四位對應(yīng)數(shù)據(jù)的 ASCII 碼值送到數(shù)據(jù)端口,這樣就可以顯示出 ASCII 碼的數(shù)據(jù)了。有了這部分工作,當(dāng)輪到顯示掃描碼時,就要把前面得到的掃描碼高、低四位對應(yīng)數(shù)據(jù)的 ASCII 碼送到數(shù)據(jù)端口就行了。 做這部分的工作和 LED 顯示部分一樣,也是要提前先建立一個對照表,求出掃描碼和 ASCII 碼的高四位和低四位對應(yīng)的是 0到 F之間的哪一個數(shù)據(jù),不同的是不再把數(shù)據(jù)對應(yīng)的段選信號賦給對應(yīng)的變量了,而是把數(shù)據(jù)所對應(yīng)的ASCII 碼值賦給變量。 在下一個時鐘到來時,就要依次把 “ Scancode:”這幾個字符的 ASCII 值賦給數(shù)據(jù)端口,接下來就該顯示 5 掃描碼值了。做完這幾步工作 才 可以傳遞數(shù)據(jù)。 根據(jù)要求,我們要在上面一行顯示 “ Scancode: **”,第二行顯示:“ ASCIIcode:**”。 LCD 接收數(shù)據(jù)有它對應(yīng)的時鐘,這個我們可以通過分頻產(chǎn)生。 ASCII 碼顯示在 LCD 液晶屏上 在這里 要用到 LCD1602。所以我們要把掃描碼和 ASCII 碼的高四位、低四位分別求出來。 CNT 每變化依次,我們把相應(yīng)的段選信號輸出到對應(yīng)的數(shù)碼管,那么,當(dāng) CNT 連續(xù)變化很快時,我們就可以看到四個數(shù)碼管點亮了。實現(xiàn)動態(tài)掃描的原理就是使這 4個數(shù)碼管依次點亮,由于依次點亮的 時間間隔很短,而人都有一定時間的視覺暫留,所以就會看到 4個數(shù)碼管同時點亮。我們 要 用動態(tài)掃描的方法 把這兩個值顯示在數(shù)碼管上 。 接下來的問題是,我們應(yīng)該在什么時候把轉(zhuǎn)換成的 ASCII 碼輸出呢? 在前 4 面,我們把沒有轉(zhuǎn)換的 ASCII 信號賦為“ 10000000”,所以, 每當(dāng) CLK 下降沿到來時,我們?nèi)z測 ASCII 的后 7 位是否為“ 0000000”,若不是則說明已經(jīng)轉(zhuǎn)換結(jié)束了 ,這時我們給程序一個 轉(zhuǎn)換結(jié)束 標(biāo)志 FLAG,當(dāng)檢測到 FLAG 上升沿到來時,把 ASCII 的值 傳遞給最終的 ASCII 碼輸出端口 DATAASCII,同時觸發(fā)中斷INTERRUPT2。注意到如果我們在“ F0”掃描碼到來時才進行轉(zhuǎn)換就可以 解決問題了。我們接收到這么些掃描碼,而我們要輸出的 ASCII 碼應(yīng)該為 61( A為小寫時)和 41( A為大寫時)。再比如我們要顯示大寫的字母 A,應(yīng)該是先按 Shift 鍵,再按 A 鍵,然后彈起 A鍵,再彈起 Shift鍵。 在轉(zhuǎn)換中我們還應(yīng)該考慮一個問題。 最后 我們把轉(zhuǎn)換得到的值賦給一個信號 ASCII。另外,有些鍵上面有上下兩排字符,當(dāng) Shift 鍵按下時用到的是上面一排,這個應(yīng)該注意。當(dāng)這些工作完成以后,再判斷 Shifted 或 Capslocked 的值是否為 1,若這兩個值都為 1或 0,則應(yīng)為小寫,這時就需 要把前得到的 TMPASCII的值加上十六進制的“ 20”。 在 轉(zhuǎn)換時 我們先不管組合鍵有沒有按下,先根據(jù)掃描碼的值通過查表找到它的 ASCII 值,最后再判斷組合鍵有沒有按下。鎖存后為 Shifted 和 Capslocked。為了判斷組合鍵有沒有按下,我們設(shè)計幾個觸發(fā)器來保存上一個時鐘的特殊組合鍵的狀態(tài),以便后來的 ASCII 碼轉(zhuǎn)換。這里面牽扯到組合鍵的問題。 另外再定義一個 ASCII 碼轉(zhuǎn)換結(jié)束的中斷信 號INTERRUPT2。用 scan 作為掃描碼的輸入端口, CLK 作為時鐘信號,它與上一個掃描碼輸出電路的觸發(fā)中斷信號 INTERRUPT1相連接。 需要注意的是當(dāng) Shift 鍵和 CapsLock 鍵按下時的不同結(jié)果。 有了這個基礎(chǔ),我們就可以設(shè)計程序把掃描碼轉(zhuǎn)換成 ASCII 碼了。 每個鍵一整套的通斷碼組成了掃描碼集。 鍵盤每個按鍵被分配了唯一的通碼和斷碼。它們的 3 第一個字節(jié)是 F0 ,第二個字節(jié)是這個鍵的通碼。當(dāng)該按鍵彈起或釋放時,鍵盤向接口發(fā)送兩個字節(jié)的鍵盤斷開的掃描碼,稱為斷碼?,F(xiàn)在,我們已經(jīng)有了從鍵盤發(fā)出的掃描碼信息,那么,如何根據(jù)這些掃描碼信息來區(qū)分按下的是哪一個鍵呢? 實際上,鍵盤接口中的微處理器負責(zé)掃描或監(jiān)視按鍵的動作,如果發(fā)現(xiàn)有按鍵按下,按住或者釋放,鍵盤將會發(fā)送掃描碼的信息包。 為了和下一步的掃描碼轉(zhuǎn)換成 ASCII 碼建立聯(lián)系,我們還要定義一個觸發(fā)中斷信號 INTERRUPT1,當(dāng) COUNT 等于 11 的時候把 INTERRUPT1 置 1 觸發(fā)中斷,作為掃描碼轉(zhuǎn)換為 ASCII 碼的使能信號。另外再定義一個接收鍵 盤數(shù)據(jù)的中間變量 TMPDATA,每當(dāng)檢測到K_CLOCK 下降沿到來時,就把 DATA 的值賦給 TMPDATA,這樣,當(dāng) K_CLOCK的 12 個下降沿到來時, TMPDATA 就接收到了鍵盤發(fā)出的全部 12 位數(shù)據(jù)。另外再對整個系統(tǒng)設(shè)置一個復(fù)位信號 RST。 K_DATA 是從鍵盤發(fā)出的一位一位串行數(shù)據(jù),我們要在 K_CLOCK的下降沿到來時接收這 12 位串行數(shù)據(jù),并最終輸出我們想要的中間 1 至 8 位數(shù)據(jù)。具體設(shè)計思路如下: 首先我們來定義幾個端口。 PS2 鍵盤接口是 6 芯的插頭,各插 頭定義如下: 1 DATA Key Data 2 n/c Not connected 3 GND Gnd 4 VCC Power , +5 VDC 5 CLK Clock 6 n/c Not connected 在 PS2 的 6個芯中, 2和 6未定義, 3 和 4 為電源和地,需要用 FPGA 控制的只有 1(數(shù)據(jù))和 5(時鐘)。 設(shè)計原理 通過分析,本次設(shè)計需要分四部分實現(xiàn): 2.把接收到的掃描碼轉(zhuǎn)換成 ASCII 碼 ASCII 碼顯示在數(shù)碼管上 掃描碼和 ASCII 碼顯示在 LED 液晶上。 The Design of PS / 2 Interface Circuit by Control of FPGA Abstract:Today,PS2 keyboard interface is still being used report is based PS2 keyboard interface protocol, with VHD language programming, using FPGA control PS2, so that it can receive information from the keyboard to type, and display it in the digital frequency of the tube and liquid crystal display. 關(guān)鍵詞: VHDL, FPGA , PS2, QuartusII 引言: PS2 是一類應(yīng)用廣泛的鍵盤接口。 1 FPGA 控制的 PS/2 接口電路設(shè)計 摘要: PS2作為鍵盤接口至今仍在廣泛使用。本論文根據(jù) PS2鍵盤接口的協(xié)議,用 VHD 語言編程,用 FPGA控制 PS2,使其能夠接收從鍵盤鍵入的信息,并把它顯示在數(shù)碼管和液晶顯示頻上。本文論述了用 FPGA 控制 PS2 的設(shè)計思想及方法,并實現(xiàn)把按鍵的掃描碼及其對應(yīng)的 ASCII 碼顯示在 LED 及 LCD 上。 鍵盤接口協(xié)議 介紹 PS2 協(xié)議和接口最初是由 IBM 公司開發(fā)并廣
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1