



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河南科技大學(xué)課程設(shè)計(jì)說(shuō)明書課程名稱題目學(xué)院班級(jí)學(xué)生姓名指導(dǎo)教師日期EDA 技術(shù)鍵盤及接口顯示電路車輛與動(dòng)力工程學(xué)院農(nóng)業(yè)電氣化與自動(dòng)化091盧浩冉羅四倍2012年7月 12號(hào)鍵盤及接口顯示電路摘要本文通過(guò)對(duì) 4×4 矩形鍵盤的信息采集,并能夠在數(shù)碼顯示管上顯示所按下的信息。通過(guò)循環(huán)輸出行信號(hào),檢測(cè)列信號(hào)輸入,將行列信號(hào)相并,來(lái)達(dá)到采集信號(hào)的目地,并通過(guò)譯碼在 7 段數(shù)碼管上顯示出來(lái)。 此次設(shè)計(jì),為了防止抖動(dòng)引起的混亂,加入了一個(gè)防抖動(dòng)環(huán)節(jié)。在譯完一個(gè)鍵值后,加了一個(gè)計(jì)算環(huán)節(jié),一旦檢測(cè)到列信號(hào)后,譯碼,緊跟著進(jìn)入計(jì)數(shù)環(huán)節(jié),此時(shí)鍵抖動(dòng)不會(huì)進(jìn)入其他環(huán)節(jié),這樣可以防止抖動(dòng)。給精度較高的場(chǎng)合應(yīng)用
2、提供了良好的條件,為以后高精度的應(yīng)用創(chuàng)造良好空間。設(shè)計(jì)中通過(guò)按鍵控制可以顯示字符串, 例如 “HELLO”,較小的改動(dòng)可以任意顯示 5 個(gè)字符,這在廣告中的用處隨處可見(jiàn),給現(xiàn)代生活帶來(lái)了方便。關(guān)鍵詞 :鍵盤掃描 譯碼顯示 字符串目錄第一章 緒論 .4§1.1設(shè)計(jì)目的和意義 .4§1.2設(shè)計(jì)任務(wù)及要求 .4第二章 總體設(shè)計(jì) .5§2.1工作原理 .5§2.2設(shè)計(jì)思路 .5§2.3數(shù)碼管顯示譯碼模塊設(shè)計(jì) .6§2.4 字符串“ HELLO”的模塊實(shí)現(xiàn). 7§2.4.1七段數(shù)碼管譯碼掃描顯示. 7§2.4.2原理圖 .8
3、第三章仿真 .9§3.1鍵盤掃描功能的仿真 .9§3.2字符串的仿真 .10第四章程序 .10§4.1鍵盤掃描程序 .11§4.2字符串顯示程序 .16第五章 結(jié)論 .18參考文獻(xiàn) .19第一章緒論§1.1 設(shè)計(jì)目的和意義本次設(shè)計(jì)的目的就是通過(guò)實(shí)踐深入理解計(jì)算機(jī)組成原理,了解EDA 技術(shù)并掌握 VHDL 硬件描述語(yǔ)言的設(shè)計(jì)方法和思想。以計(jì)算機(jī)組成原理為指導(dǎo),通過(guò)學(xué)習(xí)的VHDL 語(yǔ)言結(jié)合電子電路的設(shè)計(jì)知識(shí)理論聯(lián)系實(shí)際,掌握所學(xué)的課程知識(shí)和基本單元電路的綜合設(shè)計(jì)應(yīng)用。通過(guò)對(duì)掌握4×4 鍵盤的掃描的巧妙實(shí)現(xiàn)和對(duì)字符串的顯示過(guò)程 .鞏固和綜合
4、運(yùn)用所學(xué)知識(shí),提高IC 設(shè)計(jì)能力,提高分析、解決計(jì)算機(jī)技術(shù)實(shí)際問(wèn)題的獨(dú)立工作能力。§1.2 設(shè)計(jì)任務(wù)及要求1. 鍵盤掃描功能:能夠?qū)匦捂I盤信息采集;2. 顯示功能:能夠顯示相應(yīng)的按鍵信息, 并能夠在按鍵控制下切換為字符串顯示 “HELLO”!3. 掌握數(shù)碼管工作的原理, 并能夠?qū)υO(shè)計(jì)的程序進(jìn)行仿真和測(cè)試, 以實(shí)現(xiàn)相應(yīng)的功能。第二章總體設(shè)計(jì)§2.1 工作原理可編程器件的KEY_HANG3.0行信號(hào)輸出端不停循環(huán)輸出“ 1110”“ 1101”“ 1011?!薄爱?dāng)沒(méi)0111有鍵”按下時(shí)可編程器件的KEY_LIE3.0 列信號(hào)輸入端檢測(cè)到的是 “1111?!碑?dāng)有按鍵按下時(shí),如按
5、下1,此時(shí) KEY_HANG3.0 行信號(hào)輸出為 “0111,”即 KEY_HANG3.0 的 3 管腳為 “0,”可由電路看出, 此時(shí)輸入端KEY_LIE3.0 檢測(cè)到的將是 “ 0111。”KEY_LIE3.0 的 3 管腳為 0,可以在編寫程序時(shí),將輸出信號(hào)KEY_HANG3.0 與輸入信號(hào) KEY_LIE3.0 同時(shí)判斷,比如可以認(rèn)為當(dāng)數(shù)據(jù) “KEY_HANG&KEY_”LIE為 “01110111時(shí)”,可譯碼成數(shù)據(jù)1,。同理可得其他按鍵的編碼。根據(jù)不同數(shù)據(jù)的編碼譯成不同的數(shù)據(jù)。§2.2 設(shè)計(jì)思路1.循環(huán)輸出行信號(hào),檢測(cè)列信號(hào)輸入,將行列信號(hào)相并。2.譯鍵值。3.去抖
6、動(dòng)。在譯沒(méi)一個(gè)鍵值后,為了防止抖動(dòng),加了一個(gè)計(jì)算環(huán)節(jié),一旦檢測(cè)到列信號(hào)后,譯碼,緊跟著進(jìn)入計(jì)數(shù)環(huán)節(jié),此時(shí)鍵抖動(dòng)不會(huì)進(jìn)入其他環(huán)節(jié),這樣可以防止抖動(dòng)。4.數(shù)碼管譯碼、循環(huán)顯示。電路的具體功能羅列如下:1) 采用 4×4矩陣鍵盤作為操作數(shù)和操作符的輸入設(shè)備。2) 采用 2位8段數(shù)碼管作為輸出顯示設(shè)備,顯示按下的數(shù)字及簡(jiǎn)單的功能。3) 由于所有鍵盤在按下或者彈起的時(shí)候均有按鍵抖動(dòng),所以應(yīng)該采用去抖電路,當(dāng)檢測(cè)到有按鍵按下去的時(shí)候,應(yīng)該延時(shí) 20ms后,再進(jìn)行檢測(cè),如果仍有鍵盤按鍵被按下去的話,則進(jìn)行鍵盤讀值。當(dāng)CLK_1K 上升沿到來(lái)時(shí)狀態(tài)轉(zhuǎn)為 state0,然后判斷列與非后的值,看是否有按
7、鍵按下,如果有輸入數(shù)據(jù),則自動(dòng)啟動(dòng) 20ms的計(jì)數(shù)器,當(dāng)計(jì)滿數(shù)后,產(chǎn)生一個(gè)指示信號(hào),此信號(hào)為 1bit,高電平有效。當(dāng)讀到此指示信號(hào)后,便再次將 row信號(hào)鎖存至寄存器,便得到鍵盤的一個(gè)返回值。如果 row沒(méi)有變化,則 state轉(zhuǎn)換為 state2,對(duì)第二行進(jìn)行按鍵掃描。依此類推,掃描第三行與第四行。因?yàn)槠胀ǖ陌存I都是接觸式的,當(dāng)按鍵閉合或釋放時(shí),上下接觸面都會(huì)產(chǎn)生一個(gè)很短暫的抖動(dòng),如圖 2.2所示,這個(gè)抖動(dòng)時(shí)間一般都會(huì)持續(xù) 5-10ms,雖然這個(gè)抖動(dòng)時(shí)間很短,但對(duì)于 FPGA工作在 50M 的高頻率上的器件來(lái)說(shuō), 還是可以捕捉的到的。 為了使 CPU對(duì)于一次按鍵操作只處理一次,在軟件中必須
8、加入去除抖動(dòng)處理。如圖2.1所示圖 2.1 按鍵閉合時(shí)產(chǎn)生的抖動(dòng)由圖中可以看出,最簡(jiǎn)單的去抖方法就是每隔一段時(shí)間讀一次鍵盤,時(shí)間間隔大于10ms 即可。如果連續(xù)兩次檢測(cè)都有按鍵被按下,則可以肯定有按鍵被按下,而且也進(jìn)入閉合穩(wěn)定期。§2.3 數(shù)碼管顯示譯碼模塊設(shè)計(jì)數(shù)碼管顯示譯碼電路主要用來(lái)對(duì)實(shí)際的二進(jìn)制數(shù)據(jù)裝換為 8段數(shù)碼管的實(shí)際顯示控制碼,采用兩個(gè) 2位的 8段共陰極數(shù)碼管,數(shù)碼管的顯示方式有兩種:靜態(tài)顯示和動(dòng)態(tài)顯示。具體如下 :靜態(tài)顯示方式:所謂靜態(tài)顯示就是指無(wú)論是多少位數(shù)碼管,同時(shí)處于顯示狀態(tài)需要的硬件電路較多 (每一個(gè)數(shù)碼管都需要一個(gè)鎖存器) ,將造成很大的不便, 同時(shí)由于所有
9、數(shù)碼管都處于被點(diǎn)亮狀態(tài), 所以需要的電流很大, 當(dāng)數(shù)碼管的數(shù)量增多時(shí),對(duì)電源的要求也就隨之增高。所以,在大部分的硬件電路設(shè)計(jì)中,很少采用靜態(tài)顯示方式。動(dòng)態(tài)顯示方式:所謂動(dòng)態(tài)顯示,是指無(wú)論在任何時(shí)刻只有一個(gè)數(shù)碼管處于顯示狀態(tài),每個(gè)數(shù)碼管輪流顯示。動(dòng)態(tài)顯示的優(yōu)點(diǎn)是: 硬件電路簡(jiǎn)單 (數(shù)碼管越多, 這個(gè)優(yōu)勢(shì)越明顯),由于每個(gè)時(shí)刻只有一個(gè)數(shù)碼管被點(diǎn)亮,所以所有數(shù)碼管消耗的電流較??;缺點(diǎn)是:數(shù)碼管亮度不如靜態(tài)顯示時(shí)的亮度高,例如有 8個(gè)數(shù)碼管,以 1秒為單位,每個(gè)數(shù)碼管點(diǎn)亮的時(shí)間只有 1/8秒,所以亮度較低;如果刷新率較低,會(huì)出現(xiàn)閃爍現(xiàn)象;如果數(shù)碼管直接與單片機(jī)連接,軟件控制上會(huì)比較麻煩等。顯示譯碼方式
10、如下:1) 時(shí)鐘上升沿到來(lái)時(shí)分別對(duì)位選和段選進(jìn)行譯碼。2) 將輸入的 2bite位選數(shù)據(jù)譯碼成 4比特?cái)?shù)據(jù)控制數(shù)碼管的 2位,由于是共陰極數(shù)碼管要選定相應(yīng)的數(shù)碼管則使該位位低電平,其它位為高電平即可,如:0000譯碼為 0111_1111,對(duì)應(yīng)于實(shí)驗(yàn)板上的左邊第一位數(shù)碼管。3) 將輸入的 4bite段選數(shù)據(jù)譯碼為 8比特?cái)?shù)據(jù)控制 8個(gè)LED 的亮滅,最高位接A, 最低位接小數(shù)點(diǎn)位 DP。若要顯示 0則對(duì)應(yīng)的譯碼為8 b1111_1100。§2.4 字符串 “HELLO”的模塊實(shí)現(xiàn)§七段數(shù)碼管譯碼掃描顯示clk:時(shí)鐘輸入端,此信號(hào)是串行掃描的同步信號(hào)。data_control
11、7.0: 8 個(gè)分別控制數(shù)碼管顯示的輸入信號(hào);led_addr7.0:對(duì) 8 個(gè)數(shù)碼管進(jìn)行串行掃描的輸出控制信號(hào);seg7_data6.0:驅(qū)動(dòng) 7 段數(shù)碼管各顯示段的輸出信號(hào);§原理圖圖 2.2 字符串顯示原理圖第三章仿真§3.1 鍵盤掃描功能的仿真沒(méi)有鍵按下時(shí)行循環(huán)輸出“ ”“ ”“ ”“ ”圖 3.1 無(wú)按鍵時(shí)波形當(dāng)隨機(jī)按下時(shí)行保持所按下的狀態(tài)不變圖 3.2 隨機(jī)按鍵時(shí)波形§3.2 字符串的仿真圖 3.3 字符串顯示第四章程序§4.1 鍵盤掃描程序library ieee;entity jp isport(clk,start:in std_logi
12、c;kbcol:in std_logic_vector(3 downto 0);-行掃描信號(hào)kbrow:out std_logic_vector(3 downto 0); -列掃描信號(hào) seg7_out:out std_logic_vector(6 downto 0);-顯示控制信號(hào) scan:out std_logic_vector(7 downto 0) -數(shù)碼管地址選擇控制信號(hào) );end jp;architecture one of jp issignal count,sta:std_logic_vector(1 downto 0);signal seg7:std_logic_vect
13、or(6 downto 0);signal dat:std_logic_vector(4 downto 0);signal fn:std_logic; -按鍵標(biāo)志位,判斷是否有鍵被按下 beginscan<="00000001"-只使用一個(gè)數(shù)碼管顯示-循環(huán)掃描計(jì)數(shù)器process(clk)beginif clk'event and clk='1'thencount<=count+1;end if;end process;-循環(huán)列掃描process(clk)beginif clk'event and clk='1't
14、hencase count iswhen "00"=>kbrow<="0001"sta<="00"when "01"=>kbrow<="0010"sta<="01"when "10"=>kbrow<="0100"sta<="10"when "11"=>kbrow<="1000"sta<="11&q
15、uot;when others=>kbrow<="1111"end case;end if;end process;-行掃描譯碼process(clk,start)beginif start='0'thenseg7<="0000000"elsif clk'event and clk='1'thencase sta iswhen "00"=>case kbcol iswhen "0001"=>seg7<="1111001"
16、dat<="00011"when "0010"=>seg7<="1101101"dat<="00010"when "0100"=>seg7<="0110000"dat<="00001"when "1000"=>seg7<="1111110"dat<="00000"when others=>seg7<="0000000
17、"dat<="11111"end case;when "01"=>case kbcol iswhen "0001"=>seg7<="1111000"dat<="00111"when "0010"=>seg7<="1011111"dat<="00110"when "0100"=>seg7<="1011011"dat<=&qu
18、ot;00101"when "1000"=>seg7<="0110011"dat<="00100"when others=>seg7<="0000000"dat<="11111"end case;when "10"=>case kbcol iswhen "0001"=>seg7<="0011111"dat<="01011"when "00
19、10"=>seg7<="1110111"dat<="01010"when "0100"=>seg7<="1111011"dat<="01001"when "1000"=>seg7<="1111111"dat<="01000"when others=>seg7<="0000000"dat<="11111"end cas
20、e;when "11"=>case kbcol iswhen "0001"=>seg7<="1000111"dat<="01111"when "0010"=>seg7<="1001111"dat<="01110"when "0100"=>seg7<="0111101"dat<="01101"when "1000"=&g
21、t;seg7<="1001110"dat<="01100"when others=>seg7<="0000000"dat<="11111"end case;when others=>seg7<="0000000"end case;end if;end process;-產(chǎn)生按鍵標(biāo)志位,用于存儲(chǔ)按鍵信息fn<=not (dat(0) and dat(1) and dat(2) and dat(3) and dat(4);process(fn)begi
22、nif fn'event and fn='1'then-按鍵信息存儲(chǔ)seg7_out <=seg7;end if;end process;end one;§4.2 字符串顯示程序library ieee;entity Scan8led isport(clk:in std_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 enti
23、ty 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<>)of std_logic_vector(6 downto 0); constant seg7_data_table:seg7_data_type(0 to 5):=(-gfedcba"1110110","1111001","0111
24、000","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"00000001","00000010","00000100","00001000","00010000");beginprocess(clk)variable count:integer range 0 to 4:=0;beginif(clk'event 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_ta
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 購(gòu)房合同附加協(xié)議合同范本
- 皮埃爾·喬德洛斯基混合類作品研究
- 面向激光通信應(yīng)用的鋒芒激光大氣傳輸研究
- 給學(xué)生的評(píng)語(yǔ)15篇
- 基于激光顯示的顏色管理研究與應(yīng)用
- 2025年金剛石膜熱沉材料項(xiàng)目發(fā)展計(jì)劃
- 基于融合模型與遷移學(xué)習(xí)的音樂(lè)自動(dòng)標(biāo)注研究
- 車商轉(zhuǎn)讓合同范本
- 科技產(chǎn)品的用戶體驗(yàn)優(yōu)化報(bào)告
- 個(gè)人土建合同范本
- 小學(xué)二年級(jí)有余數(shù)的除法口算題匯總(共300題)
- WTE朗文英語(yǔ) 1B 單詞卡片
- 網(wǎng)咖成本預(yù)算明細(xì)表
- 譯林版四年級(jí)下冊(cè)第一單元課件
- 化工制圖CAD教程-工藝流程圖課件
- 計(jì)算機(jī)軟件保護(hù)課件
- 人教版高中政治必修3政治與法治《第一課歷史和人民的選擇》教案及教學(xué)反思
- 【基于哈佛分析框架的上市公司財(cái)務(wù)研究-以中百集團(tuán)為例】
- 中職生心理特征和常見(jiàn)心理問(wèn)題
- 美術(shù)第二課堂活動(dòng)方案2篇
- (名師整理)部編人教版語(yǔ)文初中課內(nèi)古詩(shī)文大全(五四制)
評(píng)論
0/150
提交評(píng)論