【文章內(nèi)容簡介】
data: IN integer range 0 to 4。 ? seg: OUT std_logic_vector(6 downto 0) gfedcba ? )。 ? End display。 ? architecture a of display is ? begin ? process(data) ? begin ? case data is gfedcba ? when 1 = seg = 0000110。 1 ? when 2 = seg = 1011011。 2 ? when 3 = seg = 1001111。 3 ? when 4 = seg = 1100110。 4 ? when others = seg = 0000000。 全滅 ? end case。 ? end process。 ? end a。 ( 2) LED動態(tài)顯示控制電路 ? 在顯示的數(shù)據(jù)較多時,會用到多個數(shù)碼管,如果用靜態(tài)顯示方式會占用很多 IO( 8 N),這時可以采用動態(tài)掃描方式來實現(xiàn)。 ? 動態(tài)掃描方式的硬件連接是: 將每個數(shù)碼管的段碼引腳并聯(lián)接到 CPLD/FPGA的 IO端口上,每個數(shù)碼管的公共端是獨立的,通過控制公共端來控制相應(yīng)數(shù)碼管的亮、滅。 ? N個 LED數(shù)碼管以動態(tài)方式顯示時,需要8+N個 IO口線。其中 8個 IO口線用作輸出段碼, N個 IO口線輸出位碼。 段碼共用,位碼獨立 動態(tài)顯示方式 ? 實現(xiàn)方法是依次點亮各個 LED數(shù)碼管,輪流向各個數(shù)碼管送出段碼和位碼,循環(huán)進(jìn)行顯示。一個數(shù)碼管顯示之后下一個數(shù)碼管馬上顯示,利用人眼的視覺暫留特性,得到多個數(shù)碼管同時顯示的效果。 ? 采用數(shù)碼管的動態(tài)顯示方式,數(shù)碼管的掃描頻率的快慢控制相當(dāng)重要。掃描頻率太慢,會產(chǎn)生數(shù)碼管逐個顯示的效果。掃描頻率太快也不好,會造成數(shù)碼管的亮度不夠,因為數(shù)碼管需要一定的時間才能達(dá)到一定的亮度。通常掃描頻率為 1KHz(即數(shù)碼管顯示 1ms)可以達(dá)到滿意的效果。 a b . . . hG 1 G 2 G 3 G 4G 5G 6G 7G 8 動態(tài)顯示電路框圖 分頻器 計數(shù)器 段碼數(shù)據(jù)設(shè)置 sysclk 50Mhz 1khz clk1khz 位碼數(shù)據(jù)設(shè)置 SCAN[7..0] qt[2..0] SEG[6..0] ? 如上圖所示,為 LED動態(tài)顯示頂層原理圖。由 fdiv分頻模塊, t計數(shù)模塊和 dispdec顯示譯碼模塊三個模塊組成。 ? 輸入為: sysclk: 50MHz系統(tǒng)時鐘。 d0~d7: 8個顯示數(shù)據(jù),分別顯示在 8個數(shù)碼管上。 ? 輸出為: SEG【 6..0】: 7位段碼輸出。 SCAN【 7..0】: 8位位碼輸出,每一位分別控制一個數(shù)碼管的點亮。 c lk in c lk o u tf d ivin s tN 50000 S i g n e d I n t e g e rP a r a m e t e r V a l u e T y p ec lk qc nt [ 2. . 0]c ntins t 1V C Cs y s c lk I N P U T SE G [ 6. . 0]O U T P U TSC AN [ 7. . 0]O U T P U Tqc nt [ 2. . 0]d0[ 3. . 0]d1[ 3. . 0]d2[ 3. . 0]d3[ 3. . 0]d4[ 3. . 0]d5[ 3. . 0]d6[ 3. . 0]d7[ 3. . 0]s eg[ 6. . 0]s c an[ 7. . 0]dis pdecins t 13V C Cd0 [ 3. . 0] I N P U TV C Cd1 [ 3. . 0] I N P U TV C Cd2[ 3. . 0] I N P U TV C Cd3 [ 3. . 0] I N P U TV C Cd4 [ 3. . 0] I N P U TV C Cd5 [ 3. . 0] I N P U TV C Cd6 [ 3. . 0] I N P U TV C Cd7 [ 3. . 0] I N P U Td is p la yins ts y s c lkd 0 [3 ..0 ]d 1 [3 ..0 ]d 2 [3 ..0 ]d 3 [3 ..0 ]d 4 [3 ..0 ]d 5 [3 ..0 ]d 6 [3 ..0 ]d 7 [3 ..0 ]S E G [6 ..0 ]S C A N [7 ..0 ]50MHz 1KHz CPLD/FPGA驅(qū)動 LED動態(tài)顯示程序 ? 顯示譯碼模塊 dispdec ? Library ieee。 ? Use 。 ? Use 。 ? Use 。 ? entity di