久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3519|回復: 2
打印 上一主題 下一主題
收起左側

VHDL語言設計四人搶答器方案源代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:1007564 發表于 2022-3-1 16:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
設計一個4人參加的智力競賽搶答計時器。電路具有回答問題時間控制功能。要求回答問題時間小于等于100妙(顯示為0~99),時間顯示采用倒計時方式。當達到限定時間時,發出聲響以示警告;當有某一參賽者首先按下搶答開關時,相應顯示燈亮并伴有聲響,此時搶答器不再接受其他輸入信號。
功能要求
1、用feng模塊將選手按下按鍵信號輸出高電平給鎖存模塊lockb,進行鎖存的同時發出aim信號實現聲音提示,并使count模塊進行答題時間的倒計時,在計滿100妙后送出聲音提示;
2、用ch41a模塊將搶答結果轉換為二進制數;
3、用sel模塊產生數碼管片選信號;
4、用ch42a模塊將對應數碼管片選信號,送出需要的顯示信號;
5、用七段譯碼器dispa模塊進行譯碼。
各模塊VHDL源代碼
1、搶答鑒別模塊FENG的VHDL源程序
--feng.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY FENG IS
PORT(CP,CLR:IN STD_LOGIC;
Q :OUT STD_LOGIC);
END FENG;
ARCHITECTURE FENG_ARC OF FENG IS
BEGIN
PROCESS(CP,CLR)
BEGIN
IF CLR=‘0’THEN
Q<=‘0’;
ELSIF CP‘EVENT AND CP=’0‘THEN
Q<=’1‘;
END IF;
END PROCESS;
END FENG_ARC;
2、片選信號產生模塊SEL的VHDL源程序
--sel.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SEL IS
PORT(CLK:IN STD_LOGIC;
a:OUT INTEGER RANGE 0 TO 7);
END SEL;
ARCHITECTURE SEL_ARC OF SEL IS 片選信號產生模塊SEL
BEGIN
PROCESS(CLK)
VARIABLE AA:INTEGER RANGE 0 TO 7;
BEGIN
IF CLK’EVENT AND CLK=‘1’THEN
AA:=AA+1;
END IF;
A<=AA;
END PROCESS;
END SEL_ARC;
3、鎖存器模塊LOCKB的VHDL源程序
-lockb.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY LOCKB IS
PORT(D1,D2,D3,D4:IN STD_LOGIC;
CLK,CLR:IN STD_LOGIC;
Q1,Q2,Q3,Q4,ALM:OUT STD_LOGIC);
END LOCKB;
ARCHITECTURE LOCK_ARC OF LOCKB IS
BEGIN
PROCESS(CLK)
BEGIN
IF CLR=‘0’THEN
Q1<=‘0’;
Q2<=‘0’;
Q3<=‘0’;
Q4<=‘0’;
ALM<=‘0’; 模塊LOCKB
ELSIF CLK‘EVENT AND CLK=’1‘THEN
Q1<=D1;
Q2<=D2;
Q3<=D3;
Q4<=D4;
ALM<=’1‘;
END IF;
END PROCESS;
END LOCK_ARC;
4、轉換模塊CH41A的VHDL源程序
--ch41a..vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY CH41A IS
PORT(D1,D2,D3,D4:IN STD_LOGIC;
Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END CH41A;
ARCHITECTURE CH41_ARC OF CH41A IS 轉換模塊CH41A
BEGIN
PROCESS(D1,D2,D3,D4)
VARIABLE TMP:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
TMP:=D1&D2&D3&D4;
CASE TMP IS
WHEN “0111”=>Q<=“0001”;
WHEN “1011”=>Q<=“0010”;
WHEN “1101”=>Q<=“0011”;
WHEN “1110”=>Q<=“0100”;
WHEN OTHERS=>Q<=“1111”;
END CASE;
END PROCESS;
END CH41_ARC;
5、3選1模塊CH31A的VHDL源程序
--ch31a.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY CH31A IS
PORT(SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0);
D1,D2,D3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END CH31A;
ARCHITECTURE CH31_ARC OF CH31A IS
BEGIN
PROCESS(SEL,D1,D2,D3)
BEGIN
CASE SEL IS
WHEN “000”=>Q<=D1;
WHEN “001”=>Q<=D2;
WHEN “111”=>Q<=D3;
WHEN OTHERS=>Q<=“1111”;
END CASE;
END PROCESS;
END CH31_ARC;
6、倒計時模塊COUNT的VHDL源程序
倒計時模塊COUNT如圖16-7所示,該模塊實現答題時間的倒計時,在計滿100s后送出聲音提示。
--count.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY COUNT IS
PORT(CLK,EN:IN STD_LOGIC; 倒計時 模塊COUNT
H,L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
SOUND:OUT STD_LOGIC);
END COUNT;
ARCHITECTURE COUNT_ARC OF COUNT IS
BEGIN
PROCESS(CLK,EN)
VARIABLE HH,LL:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF CLK’EVENT AND CLK=‘1’THEN
IF EN=‘1’THEN
IF LL=0 AND HH=0 THEN
SOUND<=‘1’;
ELSIF LL=0 THEN
LL:=“1001”;
HH:=HH-1;
ELSE
LL:=LL-1;
END IF;
ELSE
SOUND<=‘0’;
HH:=“1001”;
LL:=“1001”;
END IF;
END IF;
H<=HH;
L<=LL;
END PROCESS;
END COUNT_ARC;
7、顯示譯碼模塊DISP的VHDL源程序
--disp.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DISP IS 顯示譯碼模塊DISP
PORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END DISP;
ARCHITECTURE DISP_ARC OF DISP IS
BEGIN
PROCESS(D)
BEGIN
CASE D IS
WHEN“0000”=>Q<=“0111111”;
WHEN“0001”=>Q<=“0000110”;
WHEN“0010”=>Q<=“1011011”;
WHEN“0011”=>Q<=“1001111”;
WHEN“0100”=>Q<=“1100110”;
WHEN“0101”=>Q<=“1101101”;
WHEN“0110”=>Q<=“1111101”;
WHEN“0111”=>Q<=“0100111”;
WHEN“1000”=>Q<=“1111111”;
WHEN“1001”=>Q<=“1101111”;
WHEN OTHERS=>Q<=“0000000”;
END CASE;
END PROCESS;
END DISP_ARC;

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:8222 發表于 2022-3-2 00:43 | 只看該作者
如果用C代碼,30行不到就可以達到要求。這個VHDL怎么這么復雜?
回復

使用道具 舉報

板凳
ID:57657 發表于 2022-3-2 09:42 | 只看該作者
溫xyz 發表于 2022-3-2 00:43
如果用C代碼,30行不到就可以達到要求。這個VHDL怎么這么復雜?

HDL語言編譯生成數字電路,相當于設計數字芯片,可無限次寫入FPGA反復測試。
C語言編譯生成機器指令,由CPU串行解析執行。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线资源 | av中文字幕在线 | 精品美女久久久 | 视频三区 | 天天操综合网 | 国产乱码精品一区二区三区av | 国产目拍亚洲精品99久久精品 | 久久青草av | 国产成人a亚洲精品 | 国产精品特级毛片一区二区三区 | 日日夜夜天天久久 | 奇米影视77 | 一区二区三区四区在线视频 | 久久久久精 | 欧美老妇交乱视频 | 在线激情视频 | 亚洲精品一区中文字幕乱码 | 999久久久国产精品 欧美成人h版在线观看 | 狠狠的日| 精品欧美一区免费观看α√ | 精品久久国产 | 天天射天天干 | 亚洲视频一区 | 国产黄色大片 | 草草网| 国产精品18久久久久久久 | 看亚洲a级一级毛片 | 久久www免费人成看片高清 | 国产精品久久久久无码av | 在线欧美视频 | 色爱综合网 | 欧美一区二区三区视频 | 99久久国产 | 国产电影一区 | 久草在线 | 日本人麻豆 | av色噜噜 | 欧美视频一区二区三区 | 欧美精品一区在线发布 | xxxxx免费视频 | 日韩精品视频网 |