| 加入桌面 | 手机?/a> | 无图?/a>
 
当前位置: 首页 » 知识 » 数据采集器 » 正文

用quartus软件编写数据采集系统

已解决 悬赏分:0 - 解决时间 2008-05-15 17:57
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY JPXSKZ IS
PORT(BCDOUT:IN STD_LOGIC_VECTOR(11 DOWNTO 0);
KEYC:IN STD_LOGIC;
KEY:IN STD_LOGIC;
QA:IN STD_LOGIC_VECTOR(11 DOWNTO 0);
DATAOUT:OUT STD_LOGIC_VECTOR(11 DOWNTO 0));
END ENTITY JPXSKZ;
ARCHITECTURE ART OF JPXSKZ IS
SIGNAL STATE:STD_LOGIC_VECTOR(1 DOWNTO 0);
SIGNAL QQA:STD_LOGIC_VECTOR(11 DOWNTO 0);
BEGIN
CHOSEKEY:PROCESS(KEYC)IS
VARIABLE TEMP:STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
IF RISING_EDGE(KEYC) THEN
IF TEMP="10" THEN
TEMP:="00";
ELSE
TEMP:=TEMP+'1';
END IF;
END IF;
STATE<=TEMP;
END PROCESS CHOSEKEY;
CHOSEDISPLAY:PROCESS(STATE)IS
BEGIN
CASE STATE IS
WHEN "00"=>DATAOUT<=QQA;
WHEN "01"=>DATAOUT<=BCDOUT;
WHEN "10"=>DATAOUT<=QA;
WHEN OTHERS=>NULL;
END CASE;
END PROCESS CHOSEDISPLAY;
KEYBOARD:PROCESS(KEY,STATE)
VARIABLE TEMPA,TEMPB,TEMPC:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
WAIT UNTIL KEY='1';
IF STATE="00" THEN
IF TEMPA="1001" THEN
TEMPA:="0000";
TEMPB:=TEMPB+'1';
IF TEMPB="1001" THEN
TEMPB:="0000";
TEMPC:=TEMPC+'1';
IF TEMPC="1001" THEN
TEMPC:="0000";
END IF;
END IF;
ELSE
TEMPA:=TEMPA+'1';
END IF;
ELSE
NULL;
END IF;
QQA(11 DOWNTO 8)<=TEMPC;
QQA(7 DOWNTO 4)<=TEMPB;
QQA(3 DOWNTO 0)<=TEMPA;
END PROCESS KEYBOARD;
END ARCHITECTURE ART;




出错了 不知道什么原因 ~请高手解答~~ 可以直接发给我邮箱 solomon1217@163.com
103 次关注     提问者: dragon1119  
  支持(0)  |   反对(0) 最佳答案
Quartus®IIdesign是最高级和复杂的,用于system-on-a-programmable-chip(SOPC)的设计环境。QuartusIIdesign提供完善的timingclosure和LogicLock™基于块的设计流程。QuartusIIdesign是唯一一个包括以timingclosure和基于块的设计流为基本特征的programmablelogicdevice(PLD)的软件。
[我来评论]   回答者: 63923903   2008-05-15 17:57   


[ 知识搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
问题搜索
     
相关问题
等待您来回答
 
 
Powered by 0512IT
购物车(0)    站内信(0)     新对话(0)