1、LED数码管显示的 VHDL设计桂林师范高等专科学校羊日飞LED数码管显示实例运行环境n 红色飓风二代 XILINX FPGA开发板 RC2-3S400 LED数码管的板级硬件电路n 四位 8段式共阴数码管1位2位3位4位位线 段线LED数码管的板级硬件电路n LED数码管位线驱动电路q SEG_LED_S0、 SEG_LED_S1、 SEG_LED_S2 SEG_LED_S3 接 FPGA相应引脚LED数码管的板级硬件电路n 8段式共阴数码管的 段码一、 LED数码管的静态显示LED数码管的静态显示n 四位数码管显示相同的字符n 依次显示从 0 F的各个字符,每隔 1s显示一个字符。 四位数
2、码管器件内部复用了每位数码管的 8条数据线(a,b,c,d,e,f,g,dp) 若同时将四位数码管的位线(共阴公共端)接到低电平,则相当于同时选中数码管的 4个位。 此时若段线输入某个段码,则四位数码管显示段码对应的同一字符。LED数码管静态显示的芯片级设计框图时钟源50MHz 分频器 计数器 数码管驱动四位 LED数码管FPGA1/50000000分频输出时钟信号的频率是 1Hz,周期为 1s。16进制计数器即有 16种状态,每经过 1s计数值加 “1”,也即跳到下一个状态。段码译码器将 16种状态码转换为相应的 8位二进制LED数码管 段码 。1/50000000分频器( Divider)
3、entity clkdiv isport(reset: in std_logic;clkin: in std_logic;clkout: buffer std_logic);end clkdiv;实体1/50000000分频器( Divider)architecture clkdiv_stru of clkdiv issignal count: integer range 0 to 25000000:=0;beginprocess( reset , clkin)beginif reset=0 thencount=0; q=0;elsif clkinevent and clkin=1 then if count=25000000 thencount=0; clkout= not clkout;elsecount=count+1; end if;end if;end process; end clkdiv_stru;结构体