⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ledarray_drv.vhd

📁 VHDL基础的编程源代码
💻 VHD
字号:
--/*****************************************************************************-- * 源文件:	ledarray_drv.vhd-- * 模块:   	LED点阵驱动-- * 版权:-- *         	Copyright(C) 北京联华众科科技有限公司-- *						www.lianhua-zhongke.com.cn-- * 版本:  	Version 1.0-- * -- * 功能说明:-- *		   	将LED点阵的8*8点阵数据显示在LED点阵设备上-- *-- * 参数说明:-- *	       	输出-- *			row - 8*8点阵的一行数据-- *			row_select - 当前行选择数据-- *-- *			输入-- *			row0 - 点阵的 0 行数据-- *			row1 - 点阵的 1 行数据-- *			row2 - 点阵的 2 行数据-- *			row3 - 点阵的 3 行数据-- *			row4 - 点阵的 4 行数据-- *			row5 - 点阵的 5 行数据-- *			row6 - 点阵的 6 行数据-- *			row7 - 点阵的 7 行数据-- *			clock - 扫描显示时钟-- *			reset - 复位信号,低电平有效-- *-- *			参数-- *-- * 变更记录: -- *         2006.01.28, 新建-- *-- *****************************************************************************/LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY ledarray_drv IS	PORT	(		row			: OUT	STD_LOGIC_VECTOR(7 DOWNTO 0);		row_select	: OUT	STD_LOGIC_VECTOR(7 DOWNTO 0);		row0		: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);		row1		: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);		row2		: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);		row3		: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);		row4		: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);		row5		: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);		row6		: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);		row7		: IN	STD_LOGIC_VECTOR(7 DOWNTO 0);				clock		: IN	STD_LOGIC;		reset		: IN	STD_LOGIC	);END ledarray_drv;ARCHITECTURE ledarray_drv_architecture OF ledarray_drv IS	BEGIN	PROCESS(clock, reset)		VARIABLE next_cs : STD_LOGIC_VECTOR(7 DOWNTO 0);	BEGIN				IF (reset = '0') THEN			row <= "11111111";			row_select <= "11111111";			next_cs := "11111110";		ELSE 			IF(clock = '1' AND clock'EVENT) THEN				row_select <= next_cs;								CASE next_cs IS					WHEN "11111110" => row <= not row0;									 next_cs := "11111101";					WHEN "11111101" => row <= not row1;									 next_cs := "11111011";					WHEN "11111011" => row <= not row2;									 next_cs := "11110111";					WHEN "11110111" => row <= not row3;									 next_cs := "11101111";					WHEN "11101111" => row <= not row4;									 next_cs := "11011111";					WHEN "11011111" => row <= not row5;									 next_cs := "10111111";					WHEN "10111111" => row <= not row6;									 next_cs := "01111111";					WHEN "01111111" => row <= not row7;									 next_cs := "11111110";					WHEN OTHERS => row <= "11111111";								   next_cs := "11111110";				END CASE;							END IF;		END IF;			END PROCESS;END ledarray_drv_architecture;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -