<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > CPLD在無(wú)功補償控制儀鍵盤(pán)設計中的應用

CPLD在無(wú)功補償控制儀鍵盤(pán)設計中的應用

作者: 時(shí)間:2012-08-23 來(lái)源:網(wǎng)絡(luò ) 收藏

對復雜可編程邏輯器件()內部邏輯功能的描述方式有多種,本系統采用了原理圖輸入與VHDL語(yǔ)言描述相結合的方式,這樣可以發(fā)揮兩者的優(yōu)勢,加快開(kāi)發(fā)進(jìn)程。設計時(shí)采用層次化設計,描述系統總體功能的最上層使用原理圖輸入,而原理圖中的某些功能模塊采用VHDL編寫(xiě)。實(shí)際原理圖如圖2:


圖2 鍵盤(pán)邏輯實(shí)際原理圖

上圖中Module 1模塊實(shí)現分頻功能,CLK來(lái)自單片機80C196KC的CLKOUT腳,其周期為3個(gè)時(shí)鐘振蕩周期,占空比為33%。若單片機用16M晶振,其頻率約為:16M/3=5.33M。Module 1 把頻率降至約1K,Module 2模塊以一秒的間隔使O3~O0依次循環(huán)輸出低電平進(jìn)行鍵盤(pán)掃描 。當有鍵按下時(shí),I3~I0中有一個(gè)為低電平,異或門(mén)輸出1個(gè)高電平脈沖,鎖存鍵盤(pán)狀態(tài)并向單片機申請中斷。系統為鍵盤(pán)分配的地址空間為0xf100~0xf1ff,在此范圍內可讀取鍵盤(pán)的掃描碼。

由于篇幅有限,以下只給出Module 2的VHDL語(yǔ)句,具體如下:

LIBRARY ieee;

USE ieee.STd_logic_1164.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY Module2 IS

PORT DD定義端口

( clk :IN std_logic;

q :OUT std_logic_vector(3 DOWNTO 0)

);

END Module2;

ARCHITECTURE Module2 of Module2 IS

BEGIN

PROCESS(clk)

VARIBLE sum:integer:=0; DD定義變量sum,初值為0

BEGIN

IF(clk’event AND clk=’1’)THEN

sum:=sum+1; DDclk為上升沿時(shí),sum加1

IF(sum>=5)THEN

sum:=1;

END IF;

END IF;

CASE sum IS DD根據sum輸出相應的值

WHEN 1 => q=“1110”;

WHEN 2 => q=“1101”;

WHEN 3 => q=“1011”;

WHEN 4 => q=“0111”;

WHEN THERS => q=“1111”;

END CASE;

END PROCESS;

END Module2;



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>