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

正文內(nèi)容

基于fpga的鍵盤輸入及顯示電路-wenkub.com

2024-10-28 15:21 本頁面
   

【正文】 所以大四學(xué)生要通過做好畢業(yè)設(shè)計(jì)來完成學(xué)生與企業(yè)員工的轉(zhuǎn)變過程,而不要為了完成任務(wù)獲得一紙證書而去做畢業(yè)設(shè)計(jì),要把它當(dāng)作一門學(xué)問去學(xué)習(xí),去研究,去體會(huì),我想這樣的 話會(huì)有很大的收獲的。知識到用的時(shí)候才覺得少,所以我花了很大一段時(shí)間熟悉以前學(xué)過的基礎(chǔ)知識,沒有過硬的基礎(chǔ)知識要想很快地切入一個(gè)問題是一件很難的事。 單獨(dú)的 1602 液晶顯示模塊可以顯示程序中既定的字符,系統(tǒng)整體電路可以完成從鍵盤輸入字符然后在 LCD 上顯示的效果,屏幕字符顯示滿時(shí)可以自動(dòng)清屏。如果時(shí)鐘線已經(jīng)釋放, PS/2 設(shè)備再次 產(chǎn)生時(shí)鐘信號,然后在此時(shí)鐘下,依次放入 8 個(gè)數(shù)據(jù)位和一個(gè)停止位。如果時(shí)鐘線是低電平, PS/2 設(shè)備就可以開始傳送數(shù)據(jù)。從前面的介紹可以知道, PS/2 設(shè)備提供通信時(shí)鐘,并且通信傳輸?shù)膸L為 11 位。 RX_EXTENDED: RX_SHIFT_KEY_ON:鍵盤上、下?lián)豕δ芸刂菩盘?,?dāng)其為低電平時(shí),顯示相應(yīng)的下?lián)踝址?,而為高電平時(shí)顯示上擋字符。 圖 鍵盤接口電路元件符號 圖中主要引腳功能名稱與功能如下 : CLK:時(shí)鐘輸入信號,接收從 256 分頻計(jì)輸出的頻率 RESET:復(fù)位信號 ,當(dāng)其為低電平時(shí),系統(tǒng)才把從鍵盤輸入的數(shù)據(jù) 送至 LCD 模塊 等待 顯示 。 END PROCESS PROCESS_MAIN1。 STATE=SHIFT。139。 ELSE STATE=CLEAR。139。039。DATA(6 DOWNTO 0)=1000000。LCD_RW=39。 DATA(6 DOWNTO 0)=CONV_STD_LOGIC_VECTOR(COUNT,7)。039。 STATE=CLEAR。039。139。 IF FLAG_CLEAR=39。039。039。STATE=SETDDRAM。039。039。 STATE=SWITCHMODE。039。039。STATE=IDLE。039。139。 THEN CASE STATE IS WHEN IDLE= IF FLAG=39。 STATE=IDLE。039。 THEN LCD_E=NOT LCD_E。039。 END PROCESS PROCESS_CLKINT。EVENT AND CLK_DIV=39。039。 THEN CLK_DIV=NOT CLK_DIV。039。 END PROCESS PROCESS_TCCLKCNT。 TC_CLKCNT=39。 THEN IF CLKCNT=40000 THEN CLKCNT=0。 THEN CLKCNT=0。 LCD_E:LCD 模塊的 使能信號。 CLR:輸入信號, 當(dāng)鍵盤有字符輸入時(shí),變?yōu)?低電平,此時(shí) LCD 模塊讀取鍵盤數(shù)據(jù)。 END TEST。 END IF。EVENT AND MCLK=39。 BEGIN PROCESS(MCLK,CLR) BEGIN IF CLR=39。 ENTITY DIV_16 IS PORT(MCLK,CLR :IN STD_LOGIC。 END TEST。 END IF。EVENT AND MCLK=39。 BEGIN PROCESS(MCLK,CLR) BEGIN IF CLR=39。 ENTITY DIV_256 IS PORT(MCLK,CLR :IN STD_LOGIC。 分頻模塊設(shè)計(jì) 由于 PS/2 鍵盤一般工作 20~ 30KHz,因此要對開發(fā)板輸出脈沖 進(jìn)行分頻,分頻模塊又分為兩部分,一部分用于 PS/2 鍵盤接口驅(qū)動(dòng)時(shí)鐘,將開發(fā)板上的時(shí)鐘脈沖 256 分頻 (圖 ) ,一部分用于 LCD1602 顯示,將開發(fā)板上的時(shí)鐘脈沖 16 分頻 (圖 ) 。并且強(qiáng)烈建議將此指令寫兩次,因?yàn)?LCD 啟動(dòng)后并不知道您使用的是 4 位數(shù)據(jù)通信方式還是 8 位方式,所以它總是先執(zhí)行高 4 位的指令 ,也就是說第一次寫入該指令時(shí),低四位的數(shù)據(jù)可能被忽略(這是根據(jù)使用其它液晶的猜測)。 讀操作的時(shí)序應(yīng)該是: ① RS=0(讀忙標(biāo)志 BF 和地址計(jì)數(shù)器 AC)或 RS=1(讀數(shù)據(jù)寄存器); ② RW=1(讀操作); ③ E=1; ④ 從數(shù)據(jù)線上讀取數(shù)據(jù); ⑤ E=0 。 底層驅(qū)動(dòng)問題 寫操作的時(shí)序應(yīng)該是: ① RS=0(寫指令寄存器)或 RS=1(寫數(shù)據(jù)寄存器); ② RW=0(寫操作); ③ 將數(shù)據(jù)寫到數(shù)據(jù)線上; ④ E=1; ⑤ E=0 。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在 LCD 上開始顯示的行列號及每行的列數(shù)找出顯示 RAM 對應(yīng)的地址,設(shè)立光標(biāo) ,在此送上該字符對應(yīng)的代碼即可。例如屏的第一行的亮暗由 RAM 區(qū)的 000H—— 00FH 的 16 字節(jié)的內(nèi)容決定,當(dāng)( 000H) =FFH 時(shí),則屏幕的左上角顯示一條短亮線,長度為 8 個(gè)點(diǎn);當(dāng)( 3FFH) =FFH 時(shí),則屏幕的右下角顯示一條短亮線;當(dāng)( 000H) =FFH,( 001H) =00H,( 002H) =00H, ?? ( 00EH) =00H,( 00FH) =00H 時(shí),則在屏幕的頂部顯示一條由 8 段亮線和 8 條暗線組成的虛線。經(jīng)過試驗(yàn)發(fā)現(xiàn), 1602 液晶的供電雖然必須為 5V,但其控制總線和數(shù)據(jù)總線可以用 電平(因?yàn)閷τ?TTL 電平 ,一般大于 以上都算高電平,不過最可靠的是大于 ),只不過在 電平下,數(shù)據(jù)的通信速度會(huì)大大降低,這一點(diǎn)需要在寫驅(qū)動(dòng)時(shí)注意。 表 1602 液晶內(nèi)部顯示地址 5.關(guān)于 1602 液晶的電器參數(shù) 一般市場上的 1602 液晶使用的驅(qū)動(dòng)器為 HD44780U 或 HD44780S,市場上大部分液晶用的是后者。 表 指令 4 功能 指令 5:光標(biāo)設(shè)置 ,指 令碼與功能見表 。 表 CGROM 和 CGRAM 中字符代碼與字符圖形對應(yīng)關(guān)系 2. LCD1602 控制指令說明 1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令 。 第 16 腳: BLK 背光電源負(fù)極,接 GND。當(dāng) RS 和 RW 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS 為低電平 RW 為高電平時(shí)可以讀忙信號,當(dāng) RS 為高電平 RW為低電平時(shí)可以寫入數(shù)據(jù)。 第 2 腳: VDD 接 5V 正電源。通碼是按鍵接通時(shí)所發(fā)送的編碼 ,用兩位十六進(jìn)制數(shù)來表示 , 斷碼通常是按鍵斷開時(shí)所發(fā)送的編碼 ,用四位十六進(jìn)制數(shù)來表示。如果時(shí)鐘頻率是其它值 ,參數(shù)的內(nèi)容應(yīng)稍作調(diào)整。其中數(shù)據(jù)位在 Clock(時(shí)鐘腳 )為高電平時(shí)準(zhǔn)備好 , 在 Clock(時(shí)鐘腳 ) 的下降沿被 PC 機(jī)讀入。如果是低電平 ,則認(rèn)為是 PC 機(jī)抑制了通訊 , 此時(shí)它必須緩沖需要發(fā)送的數(shù)據(jù)直到重新獲得總線的控制權(quán) (一般 PS/ 2鍵盤有 16個(gè)字節(jié)的緩沖區(qū) ,而 PS/ 2鼠標(biāo)只有一個(gè)緩沖區(qū)僅存儲(chǔ)最后一個(gè)要發(fā)送的數(shù)據(jù) ) 。 圖 接收數(shù)據(jù)方針時(shí)序圖 硬件驗(yàn)證 硬件驗(yàn)證在 FPGA EP1C6開發(fā)板上 實(shí)現(xiàn) ,在系統(tǒng)中用到復(fù)位電路 ,電源電路 ,FPGA芯片 ,程序下載電路 ,PS/2 接口電路 ,數(shù)碼顯示電路等。封裝發(fā)送模塊和分揀接收模塊類似 ,只不過是把要傳送的命令數(shù)據(jù)轉(zhuǎn)變成 PS/2 協(xié)議要求的發(fā)送數(shù)據(jù)包的格式。 這幾部分的邏輯關(guān)系如圖 所示 : 圖 模塊間邏輯關(guān)系 串并轉(zhuǎn)換模塊主要是接收和發(fā)送傳輸數(shù)據(jù) ,能夠把串行數(shù)據(jù)轉(zhuǎn)變成所需要的并行數(shù)據(jù)。在此過程中 ,鍵盤在不超過 10μs 的間隔內(nèi)就會(huì)檢查這個(gè)狀態(tài)。 圖 鍵盤發(fā)送數(shù)據(jù)時(shí)序圖 其中 :Start:起始位 ,總為‘ 0’ (低電平 ) Data0~ Data7:8 位數(shù)據(jù)位 (低位在前 ,高位在后 Parity:奇偶校驗(yàn)位 (為奇校驗(yàn) ) Stop:停止位 ,總為‘ 1’ (高電平 ) 當(dāng)鍵盤要向主機(jī)通信時(shí) ,鍵盤總是首先檢查時(shí)鐘線是否為高電平 ,如果不是則表明是主機(jī)正在通信 ,必須緩沖要發(fā)送的數(shù)據(jù)直到重新獲得總線的控制權(quán) (鍵盤有 16 個(gè)字節(jié)的緩沖區(qū) ),即等到時(shí)鐘線是高電平才能發(fā)送數(shù)據(jù)。例如 :鍵“ A”的通碼為 0x1C,鍵“ A”的斷碼為 :0xF0,0x1C,因此當(dāng)要傳送鍵“ A”時(shí) ,鍵盤發(fā)送的數(shù)據(jù)包的代碼是 :0x1C,0xF0,0x1C。 所有的命令與數(shù)據(jù)字節(jié)均以幀為單位,每一幀包含了 11 或 12 位。 PS/2 設(shè)備可以發(fā)送數(shù)據(jù)到主機(jī)而主機(jī)也可以發(fā)送數(shù)據(jù)到設(shè)備,但主機(jī)總是在總線上有優(yōu)先權(quán),即它可以在任何時(shí)候抑制來自于 PS/2 設(shè)備的通信,此時(shí)主機(jī)只要把時(shí)鐘線上的信號拉為低電平即可。 圖 PS/2 硬件接口外形圖 PS/2 設(shè)備有主從之分 ,現(xiàn)在廣泛使用的 PS/2 鍵盤鼠標(biāo)均工作在從設(shè)備方式下。任何使用 PS/2 的鍵盤或其它設(shè)備在連接時(shí)都要上拉。編譯和仿真經(jīng)檢測無誤后便可以將下載信息通過 Quartus II 提供的編程器下載入目標(biāo)器件中了。在設(shè)計(jì)輸入之后, Quartus II 的編譯器將給出設(shè)計(jì)輸入的錯(cuò)誤報(bào)告。主要包括設(shè)計(jì)輸入、綜合或編譯、布局布線、時(shí)序分析、仿真、編程和配置。 Altera 提供的 LPM 函數(shù)均基于 Altera 器件的結(jié)構(gòu)做了優(yōu)化設(shè)計(jì)。可以通過選擇 Start Compilation 來運(yùn)行所有的編譯器模塊,也可以通過選擇 Start 單獨(dú)運(yùn)行 各個(gè)模塊。同樣, Quartus II 具備仿真功能,同時(shí)也支持第三方的仿真工具,如 ModelSim。 Quartus II 集成開發(fā)軟件支持可編程邏輯器件開發(fā)的整個(gè)過程,它提供一種與器件結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、設(shè)計(jì)處理和器件編程。 8. 調(diào)試與加載配置 設(shè)計(jì)開發(fā)的最后步驟就是在線調(diào)試或者將生成的配置文件寫入芯片中進(jìn)行測試。 6. 時(shí)序仿真與驗(yàn)證 將布局布線的時(shí)延信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中,所進(jìn)行的仿真就叫時(shí)序仿真或布局布線后仿真,簡稱后仿真。 5. 實(shí)現(xiàn)與布局 綜合結(jié)果本質(zhì)是一些由與、或、非門,觸發(fā)器, RAM 等基本邏輯單元組成的邏輯網(wǎng)表,它與芯片實(shí)際的配置情況還有較大差距。綜合后仿真雖然比功能仿 真精確一些,但是只能估計(jì)門延時(shí),不能估計(jì)線延時(shí)仿真 結(jié)果與布線后還有一定的差距,并不十分準(zhǔn)確。通過仿真能及時(shí)發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤,加快設(shè)計(jì)進(jìn)度,提高設(shè)設(shè)計(jì)的可靠性。更主要的缺點(diǎn)是當(dāng)所選用芯片升級換代后,所有的原理圖都要做相應(yīng)的改動(dòng)。常用的設(shè)計(jì)輸入方法有硬件描述語言( HDL)和原理圖設(shè)計(jì)輸入方法等。這樣,就在計(jì)數(shù)值鄰近的 1 和 2 進(jìn)行了兩次翻轉(zhuǎn)。如進(jìn)行 N 倍 分頻,就可以通過由待分頻的時(shí)鐘觸發(fā)計(jì)數(shù)器計(jì)數(shù),當(dāng)計(jì)數(shù)器從 0 計(jì)數(shù)到 N 時(shí),輸出時(shí)鐘進(jìn)行翻轉(zhuǎn),并給計(jì)數(shù)器一個(gè)復(fù)位 信號,以使下一個(gè)時(shí)鐘從零開始計(jì)數(shù)。 圖 三段式描述框圖 2. 分頻計(jì)的設(shè)計(jì) 在數(shù)字邏輯電路設(shè)計(jì)中,分頻器是一種基本電路。 ( 3)整體結(jié)構(gòu) 包括狀態(tài)信號量說明、時(shí)鐘進(jìn)程以及組合進(jìn)程三部分組成。常見的應(yīng)用有系列檢測器以及 A/D 采樣控制器設(shè)計(jì)等。用VHDL 進(jìn)行電子系統(tǒng)設(shè)計(jì)的一個(gè)很大的優(yōu)點(diǎn)是設(shè)計(jì)者可以專心致力于其功能的實(shí)現(xiàn),而不 需要對不影響功能的工藝有關(guān)的因素花費(fèi)過多的時(shí)間和精力。 數(shù)據(jù)流方式 :以類似于寄存器傳輸級的方式描述數(shù)據(jù)的傳輸和變換 。 VHDL 允許以下三種描述方式 :結(jié)構(gòu)描述 :描 述該設(shè)計(jì)單元的硬件結(jié)構(gòu),即該硬件是如何構(gòu)成的。 硬件描述語言 HDL 是 EDA 技術(shù)的重要組 成部分,常見的 HDL 語言有 VHDL、 Verilog HDL、 AHDL等,其中 VHDL、 Verilog HDL 在現(xiàn)在的 EDA 設(shè)計(jì)中使用最多,也擁有幾乎所有主流 EDA 工具的支持。這樣,同一片 FPGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。加電時(shí), FPGA 芯片將 EPROM 中數(shù)據(jù)讀入片內(nèi)編程 RAM 中,配置完成后, FPGA 進(jìn)入工作狀態(tài)。用單片機(jī)配置 FPGA 器件時(shí),關(guān)鍵在于產(chǎn)生合適的時(shí)序。 (5) FPGA 采用高速 CHMOS 工藝,功耗低,可以與 CMOS、 TTL 電平兼容。 FPGA 的基本特點(diǎn)主要有: (1)采用 FPGA 設(shè)計(jì) ASIC 電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 我們將在第二章中具體介紹 Quartus II 開發(fā)工 具。優(yōu)化設(shè)計(jì)使系統(tǒng)調(diào)試方便,配置容易 。 系統(tǒng)設(shè)計(jì)平臺及開發(fā)工具的選擇 1.硬件平臺 根據(jù) 現(xiàn)有的實(shí)驗(yàn)條件本畢業(yè)設(shè)計(jì)的硬件平臺 選擇明偉電子公司生產(chǎn)的 FPGA EP1C6 開發(fā)板 。因此 ,將兩者結(jié)合起來實(shí)現(xiàn)功能、工作方式可修改的液晶顯示器有著積極的 意義。由于 它具 有 集成度高、編程仿真方便、速度快等優(yōu)點(diǎn) ,使得它在信號處理、通信以及電力系統(tǒng)中得到了廣泛地應(yīng)用。 許多電子公司相繼推出各種型號各種系列的液晶顯示模塊,這些模塊不僅可以顯示字符和數(shù)字 , 有的還可以顯示各種圖形和漢字。而 PS/2 鍵盤 ,內(nèi)嵌自動(dòng)去除按鍵抖動(dòng)的設(shè)計(jì)自動(dòng)地識別鍵的按下與釋放 ,軟硬件可發(fā)簡便 ,價(jià)格便宜 ,穩(wěn)定可靠 ,將 PS/2 鍵盤作為嵌入式系統(tǒng)的輸入設(shè)備已經(jīng)成為可行的方案。能比較熟練的使用Quartus II 等常用 EDA 軟件對 FPGA和 CPLD 作一些簡單的電路系統(tǒng)設(shè)計(jì),同時(shí)能較好的使用 VHDL語言設(shè)計(jì)簡單的
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1