【正文】
統(tǒng)恢復(fù)正常,按照緊急情況到來之前繼續(xù)工作。兩個(gè)方向的時(shí)間顯示用兩位數(shù)碼管顯示。 2 詳細(xì)電路設(shè)計(jì) 主控制器的設(shè)計(jì) 系統(tǒng)采用 altera 公司的 cyconeIII 系列芯片,封裝為 FBGA 貼片式封裝,速度等級 3,引腳個(gè)數(shù) 780 個(gè)。由于引腳個(gè)數(shù)較其他芯片多,因此,外部硬件資源比較多,而且性能很好,穩(wěn)定,易于控制。 緊急情況電路設(shè)計(jì) 本設(shè)計(jì)的緊急情況用按鍵來模擬,當(dāng)按鍵按下時(shí),緊急情況到來,按鍵釋放后,緊急情況消失。按鍵與主控制器連接圖如下圖所示: 圖 21 按鍵與主控器連接圖 按鍵只有邏輯電平“ 0”和“ 1”兩種狀態(tài),當(dāng)按下時(shí),為邏輯電平 0,當(dāng)未按下時(shí),為邏輯電平 1。本設(shè)計(jì)中只用到了其中的一個(gè)按鍵 S1,當(dāng) S1 按下時(shí),緊急情況到來,當(dāng) S1 未按下時(shí),沒有緊急情況發(fā)生。 譯碼電路 譯碼電路為 38 譯碼器,它經(jīng)常用在數(shù)碼管的動態(tài)掃描中,輸出端接數(shù)碼管的 8 個(gè)位選,每次可以選中一個(gè)數(shù)碼管,而輸入端為 000111 的 8 種組合,每一種組合對應(yīng)一個(gè)輸出, Y0Y7 對應(yīng)輸入的 8 種輸出,即當(dāng)輸入為 000 時(shí), Y0 選EDA 課程設(shè)計(jì)論文 8 通,依次類推。 由于 8 位一體的數(shù)碼管不能夠在同一時(shí)間全部顯示,因此,要通過譯碼電路對 8 位數(shù)碼管進(jìn)行譯碼,一次只讓一個(gè)數(shù)碼管亮,通過人眼的視覺暫態(tài)效應(yīng),當(dāng)掃描時(shí)間在人眼視覺效應(yīng)之內(nèi)時(shí),看起來就像是幾個(gè)數(shù)碼管同時(shí)被點(diǎn)亮。這樣既能夠節(jié)約端口資源,又能達(dá)到很好的效果。 譯碼器與主控制器的連接圖如下圖所示: 圖 22 38 譯碼器與控制器的接口圖 74LS138 為一個(gè) 38 線譯碼器,低電平輸出,其工作原理見下表格: 表 21 74LS138 譯碼表 輸入 輸出 A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 L L L L H H H H H H H L L H H L H H H H H H L H L H H L H H H H H L H H H H H L H H H H H L L H H H H L H H H H L H H H H H H L H H H H L H H H H H H L H H H H H H H H H H H L 從表中可以看出:每輸入一種組合,輸出端只有一端響應(yīng),這樣可以通過輸入端的組合,選中想要選中的數(shù)碼管,讓其工作。而 74LS138 的 使能端已經(jīng)接了有效電平,設(shè)計(jì)中不用再管使能端的電平。 蜂鳴器模塊 當(dāng)輸入信號的電平為高電平 1 時(shí),蜂鳴器響起,當(dāng)輸入電平為低電平 0 時(shí),蜂鳴器不響。因此,當(dāng)緊急情況到來時(shí),讓蜂鳴器的輸入端的電平為高電平,那么蜂鳴器就會響起;緊急情況過后,讓蜂鳴器的輸入端電平為低電平時(shí),蜂鳴器就不響。 東西方向模塊 東西方向包含紅黃綠燈控制模塊和計(jì)時(shí)模塊 。 EDA 課程設(shè)計(jì)論文 9 紅黃綠燈控制模塊 由于東西方向計(jì)時(shí)與燈的控制相同,設(shè)計(jì)中在此方向只用了三個(gè)燈,即紅、黃、綠燈。 用到的是實(shí)驗(yàn)系統(tǒng)中第一 、二、三個(gè)燈,即 LED LED LED3,分別表示紅、黃、綠三種顏色的燈。 LED 燈與控制器的連接圖如下圖所示: 圖 23 LED 與控制器的連接圖 計(jì)時(shí)模塊 設(shè)計(jì)中采用 8 段數(shù)碼管顯示, 七段數(shù)碼管是電子開發(fā)過程中常用的輸出顯示設(shè)備。 可以顯示數(shù)字 09,東西方向用的是第一、二個(gè)數(shù)碼管,計(jì)時(shí)時(shí)間為紅燈 15s,黃燈 5s,綠燈 15s。 在實(shí)驗(yàn)系統(tǒng)中使用的是兩個(gè)四位一體、共陰極型七段數(shù)碼管。其單個(gè)靜態(tài)數(shù)碼管如下圖 41 所示。 圖 41 靜態(tài)七段數(shù)碼 管 由于七段數(shù)碼管公共端連接到 GND(共陰極型),當(dāng)數(shù)碼管的中的那一個(gè)段被輸入高電平,則相應(yīng)的這一段被點(diǎn)亮。反之則不亮。四位一體的七段數(shù)碼管在單個(gè)靜態(tài)數(shù)碼管的基礎(chǔ)上加入了用于選擇哪一位數(shù)碼管的位選信號端口。工作原理都相同,八個(gè)數(shù)碼管的 a、 b、 c、 d、 e、 f、 g、 h、 dp 都連在了一起,共 8 根段選引腳, 8 個(gè)數(shù)碼管分別由各自的位選信號來控制,被選通的數(shù)碼管顯示數(shù)據(jù),其余關(guān)閉,共 8 根位選引腳,總共 16 根引腳。共陰極數(shù)碼管顯示 09 字符數(shù)據(jù)如下表: 表 22 數(shù)碼管字符顯示表 輸入段選 顯示字符 a b c d e f g dp EDA 課程設(shè)計(jì)論文 10 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 2 1 1 1 1 0 0 1 0 3 0 1 1 0 0 1 1 0 4 1 0 1 1 0 1 1 0 5 1 0 1 1 1 1 1 0 6 1 1 1 0 0 0 0 0 7 1 1 1 1 1 1 1 0 8 1 1 1 1 0 1 1 0 9 從表可以看出,當(dāng)選中第 2 個(gè)數(shù)碼管時(shí),只要按照表中的輸入組合送入段選,那么數(shù)碼管就會顯示相應(yīng)的 數(shù)字,從而達(dá)到結(jié)果。 南北方向模塊 南北方向包含紅黃綠燈控制模塊和計(jì)時(shí)模塊。 紅黃綠燈控制模 塊 由于南、北方向計(jì)時(shí)以及燈的控制都相同,設(shè)計(jì)中在此方向只用了三個(gè)燈,即紅、黃、綠燈和兩個(gè)數(shù)碼管。 用到的是實(shí)驗(yàn)系統(tǒng)中第一、二、三個(gè)燈,即 LEDLED1 LED12,分別表示紅、黃、綠三種顏色的燈。 LED 燈與控制器的連接圖如圖 23 所示 。 計(jì)時(shí)模塊 計(jì)時(shí)模塊與東西方向相同,只是南北方向的計(jì)時(shí)用到的是實(shí)驗(yàn)系統(tǒng)中的第 8 個(gè)數(shù)碼管,工作原理與東西方向的完全相同 。當(dāng)選中第 8 個(gè)數(shù)碼管時(shí),送入表 22 中的段選,可以顯示相應(yīng)的數(shù)字 。 點(diǎn)陣模塊 本設(shè)計(jì)主要是完成漢字在 LED 上的顯示, 16*16 掃描 LED 點(diǎn)陣的工作原理與 8 位掃描數(shù)碼管類似,也是用到了人眼的視覺暫態(tài)效應(yīng),只是顯示的方式與結(jié)果不一樣。 16*16 點(diǎn)陣由 256 個(gè) LED 通過排列組合而形成 16 行 *16 列的一個(gè)矩陣式的 LED 陣列,俗稱 16*16 點(diǎn)陣。單個(gè)的 LED 的電路如下圖 131 所示 : 圖 131 單個(gè) LED 電路圖 由上圖可知,對于單個(gè) LED 的電路圖當(dāng) Rn 輸入一個(gè)高電平,同時(shí) Cn 輸入一個(gè)低電平 時(shí),電路形成一個(gè)回路, LED 發(fā)光。也就是 LED 點(diǎn)陣對應(yīng)的這個(gè)點(diǎn)被點(diǎn)亮。 16*16 點(diǎn)陣也就是由 16 行和 16 列的 LED 組成,其中每一行的所有EDA 課程設(shè)計(jì)論文 11 16 個(gè) LED 的 Rn 端并聯(lián)在一起,每一列的所有 16 個(gè) LED 的 Cn 端并聯(lián)在一起。通過給 Rn 輸入一個(gè)高電平,也就相當(dāng)于給這一列所有 LED 輸入了一個(gè)高電平,這時(shí)只要某個(gè) LED 的 Cn 端輸入一個(gè)低電平時(shí),對應(yīng)的 LED 就會被點(diǎn)亮。具體的電路如下圖 132 所示 : 圖 132 16*16 點(diǎn)陣電路原理圖 因此,在點(diǎn)陣上顯示一個(gè)字,就是要讓這個(gè)字在點(diǎn)陣上所覆蓋區(qū)域的 LED燈點(diǎn)亮,而其他區(qū)域的 LED 燈被熄滅,例如,在點(diǎn)陣上顯示中文“漢”字的顯示圖如下圖 133 所示 : 圖 133 字符在點(diǎn)陣上的顯示 在上圖中,只要將被“漢”字所覆蓋的區(qū)域的點(diǎn)點(diǎn)亮,則在點(diǎn)陣中就會顯示一個(gè)“漢”字。根據(jù)前面我們所介紹的點(diǎn)陣顯示的原理。當(dāng)我們選中第一列后,根據(jù)要顯示漢字的第一列中所需要被點(diǎn)亮的點(diǎn)對應(yīng)的 Rn 置為高電平,則在第一列中需要被點(diǎn)亮的點(diǎn)就會被點(diǎn)亮。依此類推,顯示第二列、第三列 ??第 N 列中需要被點(diǎn)亮的點(diǎn)。然后根據(jù)人眼的視覺原理,將每一列顯示的點(diǎn)的間隔時(shí)間設(shè)為一定的值,那么我們 就會感覺顯示一個(gè)完整的不閃爍的漢字。同時(shí)也可以按照這個(gè)原理來顯示其它的漢字下圖 114 是一個(gè)漢字顯示所需要的時(shí)序圖: 圖 134 顯示時(shí)序圖 EDA 課程設(shè)計(jì)論文 12 在上圖中,在系統(tǒng)時(shí)鐘的作用下,首先選取其中的一列,將數(shù)據(jù)輸入讓這列的 LED 顯示其數(shù)據(jù)(當(dāng)為高電平時(shí) LED 發(fā)光,否則不發(fā)光)。然后選取下一列來顯示下一列的數(shù)據(jù)。當(dāng)完成一個(gè) 16*16 點(diǎn)陣的數(shù)據(jù)輸入時(shí),即列選擇計(jì)數(shù)到最后一列后,再從第一列開始輸入相同的數(shù)據(jù)。這樣只要第一次顯示第一列的數(shù)據(jù)和第二次顯示第一列的數(shù)據(jù)的時(shí)間足夠短,那么人的眼睛就會看到第一列的數(shù)據(jù)總 是顯示的,而沒有停頓現(xiàn)象。同樣的道理其它列也是這樣,直到顯示下一個(gè)漢字。在實(shí)際的運(yùn)用當(dāng)中,一個(gè)漢字是由多個(gè)八位的數(shù)據(jù)來構(gòu)成的,那么要顯示多個(gè)漢字的時(shí)候, 這些數(shù)據(jù)可以根據(jù)一定的規(guī)則存放到存儲器中,當(dāng)要顯示這個(gè)漢字的時(shí)候只要將存儲器中對應(yīng)的數(shù)據(jù)取出顯示即可。字庫數(shù)據(jù)的格式如下圖: 圖 135 字庫格式 該模塊與控制器的連接圖如下圖所示: 圖 136 16*16 點(diǎn)陣電路圖 蜂鳴器模塊 本設(shè)計(jì)中采用蜂鳴器是為了在緊急情況下報(bào)警。緊急情況過后 蜂鳴器停止報(bào)警,系統(tǒng)恢復(fù)正常 。 時(shí)鐘模塊 EDA 課程設(shè)計(jì)論文 13 時(shí)鐘是一個(gè)系統(tǒng)正常工作的重要保證,沒有時(shí)鐘,再優(yōu)越的條件,系統(tǒng)都不能正常工作由于 FPGA 控制器外設(shè)中不含有晶振,即時(shí)鐘模塊,只有一個(gè)時(shí)鐘