




版權(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ō)明書(shū)學(xué)生姓名:毛雪嬌 學(xué) 號(hào): 0706024101學(xué)院:電子與計(jì)算機(jī)科學(xué)技術(shù)學(xué)院專(zhuān)業(yè):微電子學(xué)題目: 利用鍵盤(pán)控制液晶顯示器進(jìn)行漢字顯示指導(dǎo)教師:王紅亮 職稱(chēng): 講師2010年6月25日1 .課程設(shè)計(jì)目的 22 .課程設(shè)計(jì)內(nèi)容和要求 22.1、 設(shè)計(jì)內(nèi)容 22.2、 設(shè)計(jì)要求 23、設(shè)計(jì)方案及實(shí)現(xiàn)情況 23.1、 設(shè)計(jì)思路 23.2、 工作原理及框圖 33.3、 各模塊功能描述 63.4、 仿真結(jié)果 143.5、 實(shí)驗(yàn)箱驗(yàn)證情況 144、課程設(shè)計(jì)總結(jié) 155、參考文獻(xiàn) 16-7 -1、課程設(shè)計(jì)目的(1)學(xué)習(xí)操作數(shù)字電路設(shè)計(jì)實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng),掌握液晶顯示器的工作原理及應(yīng)用。(2)
2、掌握組合邏輯電路、時(shí)序邏輯電路的設(shè)計(jì)方法。(3)學(xué)習(xí)掌握可編程器件設(shè)計(jì)的全過(guò)程。2、課程設(shè)計(jì)內(nèi)容和要求2.1、 設(shè)計(jì)內(nèi)容利用vhdls言進(jìn)行編程,使鍵盤(pán)控制液晶顯示器進(jìn)行漢字的顯示。2.2、 設(shè)計(jì)要求1 .學(xué)習(xí)掌握鍵盤(pán)控制模塊、液晶顯示模塊的工作原理及應(yīng)用;2 .熟練掌握vhd編程語(yǔ)言,編寫(xiě)鍵盤(pán)控制模塊的控制邏輯;3 .仿真所編寫(xiě)的程序,模擬驗(yàn)證所編寫(xiě)的模塊功能;4 .下載程序到芯片中,硬件驗(yàn)證所設(shè)置的功能,能夠?qū)崿F(xiàn)漢字顯示;5 .整理設(shè)計(jì)內(nèi)容,編寫(xiě)設(shè)計(jì)說(shuō)明書(shū)。3、設(shè)計(jì)方案及實(shí)現(xiàn)情況3.1、 設(shè)計(jì)思路利用process進(jìn)程語(yǔ)句進(jìn)行不同功能的實(shí)現(xiàn),主要有分頻,消抖,鍵盤(pán)掃描,鍵盤(pán)譯碼, 數(shù)據(jù)存儲(chǔ)
3、模塊,控制液晶顯示器,主要是鍵盤(pán)模塊和液晶模塊,鍵盤(pán)主要是掃描信號(hào),當(dāng)其 掃描到一個(gè)信號(hào)時(shí),向液晶顯示器發(fā)出一個(gè)該信號(hào)對(duì)應(yīng)的地址信號(hào),液晶顯示器接收到該地 址信號(hào)后,輸出相應(yīng)的數(shù)據(jù),該數(shù)據(jù)為用戶要其顯示的漢字的區(qū)位碼。當(dāng)按鍵分別為“1”、“2”、“3”、“4”、“5”、“6”時(shí),液晶顯示器顯示的漢字分別為“中”、“北”、“大”、“學(xué)”、 “春”、“天”。3.2、 工作原理及框圖1 .矩陣式鍵盤(pán)矩陣式鍵盤(pán)又叫行列式鍵盤(pán),是用i/o 口線組成的行、列矩陣結(jié)構(gòu),在每根行線與列線 的交叉處,二線不直接相通而是通過(guò)一個(gè)按鍵跨接接通。采用這種矩陣結(jié)構(gòu)只需m根行輸出線和n根列輸入線,就可連接mx n個(gè)按鍵。
4、通過(guò)鍵盤(pán)掃描程序的行輸出與列輸入就可確認(rèn)按 鍵的狀態(tài),再通過(guò)鍵盤(pán)處理程序便可識(shí)別鍵值。鍵盤(pán)掃描電路,鍵盤(pán)掃描電路是用來(lái)提供鍵盤(pán)掃描信號(hào)的電路,掃描信號(hào)的變化順序依次為 000-001-010-011-100-101-110-111依次的周而復(fù)始,掃描時(shí)依次分別掃描八列按鍵, 當(dāng) 掃描信號(hào)周而復(fù)始,掃描時(shí)依次分別掃描八列按鍵,當(dāng)掃描信號(hào)依次為000時(shí),掃描0這一列按鍵每掃描一列按鍵,就檢查一次是否有按鍵按下,如果這排有按鍵按下,就馬上停 止掃描,立即進(jìn)行按鍵編碼動(dòng)作,如果沒(méi)有就繼續(xù)掃描下一列。? ? ? ? ? ? ? ? x x x x x- x x- x 二二3.圖1鍵盤(pán)電路原理圖sel2-
5、sel0kin3-kin0對(duì)應(yīng)的按曜00011100110161011last0111ctrl00111101110171011step0111empty1010111021101reg 11011c0111empty2011111031101exec1011d0111empty31001110mem 11101g1011e0111empty41011110esc110191011f0111shift110111041101a1011nextdilinone111111051101b1011enter0111none圖2按鍵位置與數(shù)碼關(guān)系2 .液晶顯示器接口協(xié)議為請(qǐng)求/應(yīng)答(req/busy握
6、手方式。應(yīng)答busy高電平(busy=1)表示ocmj 忙于內(nèi)部處理,不能接收用戶命令;busy低電平(busy =0表示ocmj空閑,等待接收用戶命令。發(fā)送命令到ocmj可在busy =0后的任意時(shí)刻開(kāi)始,先把用戶命令的當(dāng)前字節(jié)放到 數(shù)據(jù)線上,接著發(fā)高電平 req信號(hào)(req =d通知ocmj青求處理當(dāng)前數(shù)據(jù)線上的命令或數(shù) 據(jù)。ocm蟆塊在收到外部的recw電平信號(hào)后立即讀取數(shù)據(jù)線上的命令或數(shù)據(jù),同時(shí)將應(yīng)答 線busy為高電平,表明模塊已收到數(shù)據(jù)并正在忙于對(duì)此數(shù)據(jù)的內(nèi)部處理,此時(shí),用戶對(duì)模 塊的寫(xiě)操作已經(jīng)完成,用戶可以撤消數(shù)據(jù)線上的信號(hào)并可作模塊顯示以外的其他工作,也可 不斷地查詢應(yīng)答線bu
7、sy1否為低(busy =0 ),如果busy =0表明模塊對(duì)用戶的寫(xiě)操作已 經(jīng)執(zhí)行完畢??梢栽偎拖乱粋€(gè)數(shù)據(jù)。busy圖3模塊寫(xiě)漢字時(shí)序圖3 .按鍵的抖動(dòng)問(wèn)題:由于機(jī)械觸點(diǎn)的彈性振動(dòng),按鍵在按下時(shí)不會(huì)馬上穩(wěn)定地接通而在彈起時(shí)也不能一下子完全的斷開(kāi),因而在按鍵閉合和斷開(kāi)的瞬間均會(huì)出現(xiàn)一連串的抖動(dòng),這稱(chēng)為按鍵的抖動(dòng)干擾,其產(chǎn)生的波形如圖2所示,當(dāng)按鍵按下時(shí)會(huì)產(chǎn)生前沿抖動(dòng),當(dāng)按鍵彈起時(shí)會(huì)產(chǎn)生后沿抖動(dòng)。 這是所有機(jī)械觸點(diǎn)式按鍵在狀態(tài)輸出是的共性問(wèn)題,抖動(dòng)的時(shí)間長(zhǎng)短取決于按鍵的機(jī)械特性 與操作狀態(tài),一般為10ms-100ms此為鍵盤(pán)處理設(shè)計(jì)時(shí)要考慮的一個(gè)重要參數(shù)。圖6-2 4城誨矚闈或肩部fc鍵盤(pán)抖動(dòng)干
8、擾的消除:按鍵的抖動(dòng)會(huì)造成按一次鍵產(chǎn)生的開(kāi)關(guān)狀態(tài)被可編程邏輯器件誤讀幾次。為了使可編程 邏輯器件能正確地讀取按鍵狀態(tài),必須在按鍵閉合或斷開(kāi)時(shí),消除產(chǎn)生的前沿或后沿抖動(dòng),去抖動(dòng)的方法有硬件方法和軟件方法兩種。本次課程設(shè)計(jì)采用了軟件方法:軟件方法是指編制一段時(shí)間大于100ms的延時(shí)程序,在第一次檢測(cè)到有鍵按下時(shí),執(zhí)行這段延時(shí)子程序使鍵的前沿抖動(dòng)消失后再檢測(cè)該鍵狀態(tài),如 果該鍵仍保持閉合狀態(tài)電平,則確認(rèn)為該鍵已穩(wěn)定按下,否則無(wú)鍵按下,從而消除了抖動(dòng)的 影響。同理,在檢測(cè)到按鍵釋放后,也同樣要延遲一段時(shí)間,以消除后沿抖動(dòng),然后轉(zhuǎn)入對(duì) 該按鍵的處理。3.3、 各模塊功能描述library ieee;us
9、e ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;-清零彳s號(hào),時(shí)鐘0信號(hào),應(yīng)答信號(hào)-請(qǐng)求信號(hào)-掃描信號(hào)-鍵盤(pán)輸入-數(shù)據(jù)輸出entity hanzi isport(clr,clk,busy: in std_logic;req : out std_logic;sel : out std_logic_vector (2 downto 0);key : in std_logic_vector (3 downto 0); dout: out std_logic_vector(7
10、downto 0);end hanzi;-計(jì)數(shù)信號(hào),用來(lái)確定req-存儲(chǔ)器首地址-變地址-數(shù)據(jù)地址-輸入到lcd的數(shù)據(jù)architecture doit of hanzi is signal counter :std_logic_vector(7 downto 0);signal addrbegin :std_logic_vector(7 downto 0);signal addr1: std_logic_vector(7 downto 0);signal addr: std_logic_vector(7 downto 0);signal dat : std_logic_vector(7 do
11、wnto 0);-分頻計(jì)數(shù)-鍵盤(pán)掃描輔助信號(hào)-彈跳消除計(jì)數(shù)-鍵盤(pán)行、列掃描信號(hào)結(jié)合后的信號(hào)-時(shí)鐘1信號(hào),測(cè)試信號(hào),按鍵消抖信-按的哪個(gè)鍵-鍵盤(pán)部分-檢測(cè)有無(wú)按鍵按下signal counterl : std_logic_vector(1 downto 0);signal counte : std_logic_vector(2 downto 0);signal counter2 : std_logic_vector(4 downto 0);signal dcc : std_logic_vector(6 downto 0);signal clk1,test,koff: std_logic;sign
12、al dcc1:std_logic_vector (3 downto 0);號(hào)begintest=key(3) and key(2) and key(1) and key(0);p0: process(clr,clk)beginif(clr=0) thencounter1=00;elsif(clkevent and clk=1) thencounter1=counter1+1;end if;end process p0;clk1=0 when counter1=01 else1;-p0為分頻模塊。p1: process(clr,clk1,test)beginif(clr=0) thencoun
13、te=000;elsif(clk1event and clk1=1) thenif(test=0) or (koff=0) thenelsecounte=counte+1;end if;end if;end process p1;sel=counte;dcc=counte & key;-p1為鍵盤(pán)掃描模塊。p2: process(clk,test)beginif(clkevent and clk=0) thenif(dcc=0001110) thendcc1=0000;elsif(dcc=0011110) then dcc1=0001;elsif(dcc=0101110) then dcc1=
14、0010;elsif(dcc=0111110) then dcc1=0011;elsif(dcc=1101110) then dcc1=0100;elsif(dcc=1111110) then dcc1=0101;elsif(dcc=0001101) then dcc1=0110;elsif(dcc=0011101) then dcc1=0111;elsif(dcc=1001101) then-9 -dcc1=1000;elsif(dcc=1011101) then dcc1=1001;elsif(dcc=1101101) then dcc1=1010;elsif(dcc=1111101) t
15、hen dcc1=1011;elsif(dcc=0101011) then dcc1=1100;elsif(dcc=0111011) then dcc1=1101;elsif(dcc=1001011) then dcc1=1110;elsif(dcc=1011011) then dcc1=1111;elsif(test=0) then dcc1=1111;end if;end if;end process p2;-p2為鍵盤(pán)譯碼。p3: process(test,clk,clr)beginif(clr=0) thencounter2=00000”;koff=1;elsif(clkevent a
16、nd clk=1) then if(test=0) thenkoff=0;elsif(counter211110) thencounter2=counter2+1;elsif(counter2=11110) thenkoff addrbegin addrbegin addrbegin addrbegin addrbegin addrbegin null;end case;end process p4;-p4為將按鍵與存儲(chǔ)器的首地址相對(duì)應(yīng)p5: process(clr,busy)beginif(clr=0) thenaddr=00000000;elsif(busyevent and busy=0
17、) then-11 -addr=addrbegin+addu;end if;end process p5;- -p5為在busy允許條件下將首地址與變地址相加構(gòu)成數(shù)據(jù)地址p6: process(clr,busy)beginif(clr=0) thenaddr1=00000000;elsif(busyevent and busy=1) thenif(addr1=00000100) thenaddr1=00000000;elseaddr1=addr1+1;end if;end if;end process p6;- -p6為變地址的自加。p7: process(busy, clk)beginif(
18、busy=1) thencounter=00000000”;elsif(clkevent and clk=1) thencounter=counter+1;end if;end process p7;- -p7為分頻。dout=dat;req=00000100” else計(jì)4個(gè)數(shù)后,req才為1,否則為00;p8:process(addr)begincase addr is-清屏-f0,表示要向lcd中寫(xiě)入漢字-橫坐標(biāo)-縱坐標(biāo)寫(xiě)入的內(nèi)容when 00000000 = dat dat dat dat dat dat dat dat dat dat dat dat dat dat dat dat
19、dat dat dat dat dat dat dat dat dat dat dat dat dat dat dat dat=00000000;end case;end process p8;-p8為在lcd中寫(xiě)入漢字end doit;clrclkiojsyke3/6( inpot -cl rreqclic3直 lin. . dqitrut .# vgc -牖什,:1_5utflft j、:/ 此心 口才 t口 q u t r . j1ke if 3 - - ojhrtnzireqsel2.o 而口幣疝-17 -圖5模塊接口圖l*j+j time目力對(duì)11intenral:卜 1q.cm47
20、um3.4、 仿真結(jié)果ref | ie dug同總mg.-clkb-clk- *- busy- ct req- 4* sec- o ssll- seda- key3 1 key2 keyll keyo- * daul:|7.0|小圖6仿真結(jié)果圖此仿真圖形為“中”字的仿真時(shí)序圖。3.5、 實(shí)驗(yàn)箱驗(yàn)證情況按照程序中管腳的分配,連接好電路,然后進(jìn)行程序下載和驗(yàn)證。下面是驗(yàn)證結(jié)果的圖 片。圖7 整體連線圖圖8 實(shí)驗(yàn)結(jié)果4、課程設(shè)計(jì)總結(jié)通過(guò)這次的課程設(shè)計(jì),我對(duì)可編程邏輯器件的應(yīng)用有了更加深刻的理解,它讓我認(rèn)識(shí)到 模塊化設(shè)計(jì)思想的重要性,對(duì)于一個(gè)具有一定功能的系統(tǒng)來(lái)說(shuō),一般都有幾個(gè)實(shí)現(xiàn)不同功能 的模塊。在設(shè)計(jì)這樣的系統(tǒng)時(shí),應(yīng)該首先把系統(tǒng)按照功能分為幾個(gè)相對(duì)獨(dú)立的模塊。各個(gè)模 塊用來(lái)完成特定的功能。模塊化的設(shè)計(jì)思想不僅可以使設(shè)計(jì)思路更加明晰,同時(shí)還可以提高 程序的可移植性。對(duì)于程序的后續(xù)調(diào)試工作也會(huì)帶來(lái)很大的方便。所以在最初拿到任務(wù)書(shū)時(shí),我首先思
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省凌源市2024-2025學(xué)年四下數(shù)學(xué)期末質(zhì)量檢測(cè)模擬試題含解析
- 柳州城市職業(yè)學(xué)院《數(shù)字邏輯電路》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年正安縣三下數(shù)學(xué)期末聯(lián)考模擬試題含解析
- 宜春職業(yè)技術(shù)學(xué)院《光學(xué)圖像處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 水庫(kù)移民征地合同范本
- 2025年02月江西省宜春市事業(yè)單位統(tǒng)一公開(kāi)招聘工作人員311人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 小店股份贈(zèng)予合同范本
- 膠囊內(nèi)鏡檢查護(hù)理
- 洛陽(yáng)農(nóng)莊租賃合同范本
- 醫(yī)院內(nèi)部合同范本
- JTT589-2004 水泥混凝土路面嵌縫密封材料
- (高清版)TDT 1042-2013 土地整治工程施工監(jiān)理規(guī)范
- 中風(fēng)患者的護(hù)理及康復(fù)指南培訓(xùn)
- 數(shù)據(jù)中心運(yùn)維解決方案
- 滁州城市職業(yè)學(xué)院?jiǎn)握小堵殬I(yè)技能測(cè)試》參考試題庫(kù)(含答案)
- 基于單片機(jī)控制的充電樁設(shè)計(jì)
- SB-T 11238-2023 報(bào)廢電動(dòng)汽車(chē)回收拆解技術(shù)要求
- 鋰電池正極材料行業(yè)分析
- 國(guó)家級(jí)省級(jí)化工園區(qū)列表
- 肩關(guān)節(jié)脫位手法復(fù)位課件
- 汽車(chē)懸架概述
評(píng)論
0/150
提交評(píng)論