段数码管控制接口的设计.ppt
文本预览下载声明
利用可编程逻辑器件进行7段数码管控制接口的设计 目的 1.了解7段数码管显示的原理及接口 驱动方法。 2.利用可编程逻辑器件进行7段数码 管定时更新。 任务要求 将外部时钟进行分频处理(编写分频功能模块); 使用分频后的时钟进行计数,得到数码管输出控制的计数状态; 3.当程序下载成功时,7段数码管依次分时显示递增或递减数据。 显示器程序 process(a) begin case a is when 0000=Y=1111110; when 0001=Y=0110000; when 0010=Y=1101101; when 0011=Y=1111001; when 0100=Y=0110011; when 0101=Y=1011011; when 0110=Y=1011111; when 0111=Y=1110000; when 1000=Y=1111111; when 1001=Y=1111011; when 1010=Y=1110111; when 1011=Y=0011111; when 1100=Y=1001110; when 1101=Y=0111101; when 1110=Y=1001111; when others=Y=1000111; end case; end process; 在VHDL语言中进行组合逻辑电路设计 我们可以用很多方法来描述组合逻辑 在接下来的内容中, 我们将来看一些描述组合逻辑的示例,以明白组合逻辑电路的HDL语言描述方法 我们应该从以下所学的知识进行举一反三,灵活应用到我们的设计当中;即我们学到的不仅仅是简单的一些知识,而更是一种设计的方法 例(1):利用布尔方程(公式)进行设计 在VHDL中支持所有的标准的Boolean运算 AND, OR, NOT, XOR, XNOR, NAND 例如: 一个 4选1 的多路选择器,如下图所示 x =(a AND NOT(s(1)) AND NOT(s(0))) OR (b AND NOT(s(1)) AND s(0)) OR (c AND s(1) AND NOT(s(0))) OR (d AND s(1) AND s(0)) ; 例(2)利用“WITH-SELECT-WHEN”设计 赋哪个值依赖于所选的信号条件 WHEN 语句 必须 互斥 (all different) 经常使用 “WHEN OTHERS” 来囊括未定义的情况 Only one reference to the signal, 只有一个赋值运算符 (=) WITH selection_signal SELECT signal_name = value_1 WHEN value_1 of selection_signal, value_2 WHEN value_2 of selection_signal, ... value_n WHEN value_n of selection_signal, value_x WHEN OTHERS; 例 (2):利用“WITH-SELECT-WHEN”设计 前面我们所见的 4选1 多路选择开关还能有如下描述: WITH s SELECT x = a WHEN “00”, -- means when s=“00” b WHEN “01”, c WHEN “10”, d WHEN OTHERS; 这里也能在一行中把所有的条件都写上: WITH s SELECT x = a WHEN ”000” | “001” | “010”, b WHEN “101” | “111”, -- ‘|’ 说明是 “or” 运算符 c WHEN OTHERS; 信号赋哪个值依赖于后面的条件 任何简单的表达式都可以是一个条件 仅仅一个值赋给信号, 只用一个赋值运算符 (=) 经常在结尾用“ ELSE” 来囊括未定义的条件 同样的 4选1 多路选择器能以如下的描述来定义: x = a when (s = “00”) else b when (s = “01”) else c when (s = “10”) else d ; WITH-SELECT-WHEN 和 WHEN-ELSE 的区别是什么? WITH-SELECT-WHEN 仅仅允许 一个 控制信号 WHEN-ELSE 支持许多不同的控制信号 例如:
显示全部