版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、車輛與動力工程學(xué)院課程設(shè)計說明書河南科技大學(xué)河南科技大學(xué)課課 程程 設(shè)設(shè) 計計 說說 明明 書書課程名稱課程名稱 EDA 技術(shù) 題題 目目 鍵盤及接口顯示電路 學(xué)學(xué) 院院 車輛與動力工程學(xué)院 班班 級級 農(nóng)業(yè)電氣化與自動化 091 學(xué)生姓名學(xué)生姓名 盧浩冉 指導(dǎo)教師指導(dǎo)教師 羅四倍 日日 期期 2012 年 7 月 12 號 車輛與動力工程學(xué)院課程設(shè)計說明書2鍵盤及接口顯示電路摘 要本文通過對 44 矩形鍵盤的信息采集,并能夠在數(shù)碼顯示管上顯示所按下的信息。通過循環(huán)輸出行信號,檢測列信號輸入,將行列信號相并,來達(dá)到采集信號的目地,并通過譯碼在 7 段數(shù)碼管上顯示出來。此次設(shè)計,為了防止抖動引起
2、的混亂,加入了一個防抖動環(huán)節(jié)。在譯完一個鍵值后,加了一個計算環(huán)節(jié),一旦檢測到列信號后,譯碼,緊跟著進(jìn)入計數(shù)環(huán)節(jié),此時鍵抖動不會進(jìn)入其他環(huán)節(jié),這樣可以防止抖動。給精度較高的場合應(yīng)用提供了良好的條件,為以后高精度的應(yīng)用創(chuàng)造良好空間。設(shè)計中通過按鍵控制可以顯示字符串,例如“HELLO”,較小的改動可以任意顯示 5 個字符,這在廣告中的用處隨處可見,給現(xiàn)代生活帶來了方便。關(guān)鍵詞:鍵盤掃描 譯碼顯示 字符串車輛與動力工程學(xué)院課程設(shè)計說明書3目 錄第一章 緒論 .41.1 設(shè)計目的和意義 .41.2 設(shè)計任務(wù)及要求 .4第二章 總體設(shè)計 .52.1 工作原理 .52.2 設(shè)計思路 .52.3 數(shù)碼管顯示譯
3、碼模塊設(shè)計 .62.4 字符串“HELLO”的模塊實現(xiàn) .72.4.1 七段數(shù)碼管譯碼掃描顯示.72.4.2 原理圖.8第三章 仿真 .93.1 鍵盤掃描功能的仿真.93.2 字符串的仿真.10第四章 程序 .114.1 鍵盤掃描程序.114.2 字符串顯示程序.16第五章 結(jié)論 .18參考文獻(xiàn) .19 車輛與動力工程學(xué)院課程設(shè)計說明書4第一章 緒論1.1 設(shè)計目的和意義 本次設(shè)計的目的就是通過實踐深入理解計算機(jī)組成原理,了解 EDA 技術(shù)并掌握 VHDL 硬件描述語言的設(shè)計方法和思想。以計算機(jī)組成原理為指導(dǎo),通過學(xué)習(xí)的 VHDL 語言結(jié)合電子電路的設(shè)計知識理論聯(lián)系實際,掌握所學(xué)的課程知識和基
4、本單元電路的綜合設(shè)計應(yīng)用。通過對掌握 44 鍵盤的掃描的巧妙實現(xiàn)和對字符串的顯示過程.鞏固和綜合運用所學(xué)知識,提高 IC 設(shè)計能力,提高分析、解決計算機(jī)技術(shù)實際問題的獨立工作能力。1.2 設(shè)計任務(wù)及要求 1. 鍵盤掃描功能:能夠?qū)匦捂I盤信息采集;2. 顯示功能:能夠顯示相應(yīng)的按鍵信息,并能夠在按鍵控制下切換為字符串顯示“HELLO”!3. 掌握數(shù)碼管工作的原理,并能夠?qū)υO(shè)計的程序進(jìn)行仿真和測試,以實現(xiàn)相應(yīng)的功能。車輛與動力工程學(xué)院課程設(shè)計說明書5第二章 總體設(shè)計2.1 工作原理可編程器件的 KEY_HANG3.0行信號輸出端不停循環(huán)輸出“1110”“1101”“1011”“0111”。當(dāng)沒有
5、鍵按下時可編程器件的 KEY_LIE3.0列信號輸入端檢測到的是“1111”。當(dāng)有按鍵按下時,如按下 1,此時 KEY_HANG3.0行信號輸出為“0111”,即 KEY_HANG3.0的 3 管腳為“0”,可由電路看出,此時輸入端KEY_LIE3.0檢測到的將是“0111”。KEY_LIE3.0的 3 管腳為 0,可以在編寫程序時,將輸出信號 KEY_HANG3.0與輸入信號 KEY_LIE3.0同時判斷,比如可以認(rèn)為當(dāng)數(shù)據(jù)“KEY_HANG&KEY_LIE”為“01110111”時,可譯碼成數(shù)據(jù) 1,。同理可得其他按鍵的編碼。根據(jù)不同數(shù)據(jù)的編碼譯成不同的數(shù)據(jù)。2.2 設(shè)計思路1.循
6、環(huán)輸出行信號,檢測列信號輸入,將行列信號相并。2.譯鍵值。3.去抖動。在譯沒一個鍵值后,為了防止抖動,加了一個計算環(huán)節(jié),一旦檢測到列信號后,譯碼,緊跟著進(jìn)入計數(shù)環(huán)節(jié),此時鍵抖動不會進(jìn)入其他環(huán)節(jié),這樣可以防止抖動。4.數(shù)碼管譯碼、循環(huán)顯示。電路的具體功能羅列如下: 1) 采用44矩陣鍵盤作為操作數(shù)和操作符的輸入設(shè)備。 2) 采用2位8段數(shù)碼管作為輸出顯示設(shè)備,顯示按下的數(shù)字及簡單的功能。 3) 由于所有鍵盤在按下或者彈起的時候均有按鍵抖動,所以應(yīng)該采用去抖電路,當(dāng)檢測到有按鍵按下去的時候,應(yīng)該延時20ms后,再進(jìn)行檢測,如果仍有鍵盤按鍵被按下去的話,則進(jìn)行鍵盤讀值。 車輛與動力工程學(xué)院課程設(shè)計說
7、明書6當(dāng)CLK_1K上升沿到來時狀態(tài)轉(zhuǎn)為state0,然后判斷列與非后的值,看是否有按鍵按下,如果有輸入數(shù)據(jù),則自動啟動20ms的計數(shù)器,當(dāng)計滿數(shù)后,產(chǎn)生一個指示信號,此信號為1bit,高電平有效。當(dāng)讀到此指示信號后,便再次將row信號鎖存至寄存器,便得到鍵盤的一個返回值。如果row沒有變化,則state轉(zhuǎn)換為state2,對第二行進(jìn)行按鍵掃描。依此類推,掃描第三行與第四行。因為普通的按鍵都是接觸式的,當(dāng)按鍵閉合或釋放時,上下接觸面都會產(chǎn)生一個很短暫的抖動,如圖2.2所示,這個抖動時間一般都會持續(xù)5-10ms,雖然這個抖動時間很短,但對于FPGA工作在50M的高頻率上的器件來說,還是可以捕捉的
8、到的。為了使CPU對于一次按鍵操作只處理一次,在軟件中必須加入去除抖動處理。如圖2.1所示圖 2.1 按鍵閉合時產(chǎn)生的抖動由圖中可以看出,最簡單的去抖方法就是每隔一段時間讀一次鍵盤,時間間隔大于10ms 即可。如果連續(xù)兩次檢測都有按鍵被按下,則可以肯定有按鍵被按下,而且也進(jìn)入閉合穩(wěn)定期。2.3 數(shù)碼管顯示譯碼模塊設(shè)計 數(shù)碼管顯示譯碼電路主要用來對實際的二進(jìn)制數(shù)據(jù)裝換為8段數(shù)碼管的實際顯示控制碼,采用兩個2位的8段共陰極數(shù)碼管,數(shù)碼管的顯示方式有兩種:靜態(tài)顯示和動態(tài)顯示。具體如下: 靜態(tài)顯示方式:所謂靜態(tài)顯示就是指無論是多少位數(shù)碼管,同時處于顯示狀態(tài)需要的硬件電路較多(每一個數(shù)碼管都需要一個鎖存
9、器) ,將造成很大的不便,同時由于所有數(shù)碼管都處于被點亮狀態(tài),所以需要的電流很大,當(dāng)數(shù)碼管的數(shù)量增多車輛與動力工程學(xué)院課程設(shè)計說明書7時,對電源的要求也就隨之增高。所以,在大部分的硬件電路設(shè)計中,很少采用靜態(tài)顯示方式。 動態(tài)顯示方式:所謂動態(tài)顯示,是指無論在任何時刻只有一個數(shù)碼管處于顯示狀態(tài),每個數(shù)碼管輪流顯示。動態(tài)顯示的優(yōu)點是:硬件電路簡單(數(shù)碼管越多,這個優(yōu)勢越明顯) ,由于每個時刻只有一個數(shù)碼管被點亮,所以所有數(shù)碼管消耗的電流較??;缺點是:數(shù)碼管亮度不如靜態(tài)顯示時的亮度高,例如有8個數(shù)碼管,以1秒為單位,每個數(shù)碼管點亮的時間只有1/8秒,所以亮度較低;如果刷新率較低,會出現(xiàn)閃爍現(xiàn)象;如果
10、數(shù)碼管直接與單片機(jī)連接,軟件控制上會比較麻煩等。 顯示譯碼方式如下: 1) 時鐘上升沿到來時分別對位選和段選進(jìn)行譯碼。 2) 將輸入的2bite位選數(shù)據(jù)譯碼成4比特數(shù)據(jù)控制數(shù)碼管的2位,由于是共陰極數(shù)碼管要選定相應(yīng)的數(shù)碼管則使該位位低電平,其它位為高電平即可,如:0000譯碼為0111_1111,對應(yīng)于實驗板上的左邊第一位數(shù)碼管。 3) 將輸入的4bite段選數(shù)據(jù)譯碼為8比特數(shù)據(jù)控制8個LED的亮滅,最高位接A,最低位接小數(shù)點位DP。若要顯示0則對應(yīng)的譯碼為 8b1111_1100。 2.4 字符串“HELLO”的模塊實現(xiàn)2.4.1 七段數(shù)碼管譯碼掃描顯示clk:時鐘輸入端,此信號是串行掃描的
11、同步信號。data_control7.0:8 個分別控制數(shù)碼管顯示的輸入信號; led_addr7.0:對 8 個數(shù)碼管進(jìn)行串行掃描的輸出控制信號; seg7_data6.0:驅(qū)動 7 段數(shù)碼管各顯示段的輸出信號;車輛與動力工程學(xué)院課程設(shè)計說明書82.4.2 原理圖圖 2.2 字符串顯示原理圖車輛與動力工程學(xué)院課程設(shè)計說明書9第三章 仿真3.1 鍵盤掃描功能的仿真沒有鍵按下時行循環(huán)輸出“”“”“”“”圖 3.1 無按鍵時波形當(dāng)隨機(jī)按下時行保持所按下的狀態(tài)不變 圖 3.2 隨機(jī)按鍵時波形車輛與動力工程學(xué)院課程設(shè)計說明書103.2 字符串的仿真圖 3.3 字符串顯示車輛與動力工程學(xué)院課程設(shè)計說明書
12、11第四章 程序4.1 鍵盤掃描程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jp isport(clk,start:in std_logic;kbcol:in std_logic_vector(3 downto 0); -行掃描信號kbrow:out std_logic_vector(3 downto 0); -列掃描信號seg7_out:out std_logic_vector(6 downto 0);-顯示控制信號scan:out std_logic_vector(7 d
13、ownto 0) -數(shù)碼管地址選擇控制信號);end jp;architecture one of jp issignal count,sta:std_logic_vector(1 downto 0);signal seg7:std_logic_vector(6 downto 0);signal dat:std_logic_vector(4 downto 0);signal fn:std_logic; -按鍵標(biāo)志位,判斷是否有鍵被按下beginscan=00000001; -只使用一個數(shù)碼管顯示-循環(huán)掃描計數(shù)器process(clk) beginif clkevent and clk=1the
14、ncountkbrow=0001;stakbrow=0010;stakbrow=0100;stakbrow=1000;stakbrow=1111;end case;end if;end process;-行掃描譯碼process(clk,start)beginif start=0thenseg7case kbcol iswhen 0001=seg7=1111001;datseg7=1101101;datseg7=0110000;datseg7=1111110;datseg7=0000000;datcase kbcol iswhen 0001=seg7=1111000;datseg7=10111
15、11;datseg7=1011011;datseg7=0110011;datseg7=0000000;datcase kbcol iswhen 0001=seg7=0011111;datseg7=1110111;datseg7=1111011;datseg7=1111111;datseg7=0000000;datcase kbcol iswhen 0001=seg7=1000111;datseg7=1001111;datseg7=0111101;datseg7=1001110;datseg7=0000000;datseg7=0000000;end case;end if;end process
16、;-產(chǎn)生按鍵標(biāo)志位,用于存儲按鍵信息fn=not (dat(0) and dat(1) and dat(2) and dat(3) and dat(4);process(fn)beginif fnevent and fn=1then -按鍵信息存儲車輛與動力工程學(xué)院課程設(shè)計說明書16seg7_out =seg7;end if;end process;end one;4.2 字符串顯示程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Scan8led isport(clk:in st
17、d_logic;data_control:in std_logic_vector(4 downto 0); led_addr:out std_logic_vector(4 downto 0); seg7_data:out std_logic_vector(6 downto 0);end entity scan8led;architecture one of scan8led istype aaaa is array (0 to 3)of integer;constant a:aaaa:=(0,1,2,3);type seg7_data_type is array(natural range)o
18、f std_logic_vector(6 downto 0);constant seg7_data_table:seg7_data_type(0 to 5):=(-gfedcba 1110110, 1111001, 0111000, 0111000, 0011111, 0000000);type led_addr_type is array(natural range)of std_logic_vector(7 downto 0);constant led_addr_table:led_addr_type(0 to 4):=(-dizhibiao車輛與動力工程學(xué)院課程設(shè)計說明書17000000
19、01,00000010,00000100,00001000,00010000);begin process(clk)variable count:integer range 0 to 4:=0;beginif(clkevent and clk=1)thencount:=count+1;led_addr=led_addr_table(count);if(data_control(count)=1)thenseg7_data=seg7_data_table(count);elseseg7_data=seg7_data_table(5);end if;end if;end process;end architecture one;車輛與動力工程學(xué)院課程設(shè)計說明書18第五章 結(jié)論這次EDA課程設(shè)計歷時十天,學(xué)到很多很多的東西。同時不僅可以鞏固以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次設(shè)計,進(jìn)一步加深了對EDA的了解,讓我對它有了更加濃厚的興趣。特別是當(dāng)每一個子模塊編寫調(diào)試成功時,都會很高興。在編寫頂層文件的程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版冷鏈物流專用木箱紙箱銷售合同
- 二零二五年度電視節(jié)目版權(quán)購買與播映合同4篇
- 2025年電梯門套安裝工程安全防護(hù)合同4篇
- 2025年度企業(yè)內(nèi)部員工退休生活補貼合同3篇
- 二零二五年度美容院品牌形象授權(quán)及宣傳推廣合同4篇
- 個人汽車按揭貸款合同(2024版)
- 二零二五年度垃圾處理設(shè)施建設(shè)承包施工合同3篇
- 2025年度商鋪租賃與轉(zhuǎn)讓綜合服務(wù)協(xié)議
- 2025年度儲罐租賃及節(jié)能減排合作協(xié)議2篇
- 二零二五版鎳氫電池產(chǎn)品知識產(chǎn)權(quán)保護(hù)合同范本4篇
- 道路瀝青工程施工方案
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務(wù)
- 《田口方法的導(dǎo)入》課件
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場營銷策略考核試卷
- 醫(yī)生給病人免責(zé)協(xié)議書(2篇)
- 票據(jù)業(yè)務(wù)居間合同模板
- 車借給別人免責(zé)協(xié)議書
- 高中物理選擇性必修2教材習(xí)題答案
- 應(yīng)急預(yù)案評分標(biāo)準(zhǔn)表
- “網(wǎng)絡(luò)安全課件:高校教師網(wǎng)絡(luò)安全與信息化素養(yǎng)培訓(xùn)”
- 鋰離子電池健康評估及剩余使用壽命預(yù)測方法研究
評論
0/150
提交評論