新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MCS-51單片機與PLD 可編程器件接口設(shè)計

MCS-51單片機與PLD 可編程器件接口設(shè)計

作者: 時間:2012-02-10 來源:網(wǎng)絡(luò) 收藏


3 接口編程

近幾年來,隨著技術(shù)的不斷發(fā)展,在各種各樣的描述語言中,人們普遍接受語言,該語言在電子設(shè)計領(lǐng)域具有"世界語"的美譽。本設(shè)計的接口軟件采用語言編寫。限于篇幅,這里僅給出構(gòu)造體的程序:
......
BEGIN
PROCESS(ALE)
BEGIN
IF ALE'EVENT AND ALE='0'THEN
LATCH-ADDERS=P0; END IF;END PROCESS;
PROCESS(P2,LATCH-ADDRES)
BEGIN
IF (LATCH-ADDRES="11110000")AND(P2="11110101") THEN
WR-ENABLE=WR;
ELSE WR-ENABLE='1';END IF;END PROCESS;
PROCESS(WR-ENABLE)
BEGIN
IF WR-ENABLE'EVENT AND WR-ENABLE='1'
THEN OUT1=P0;END IF;END PROCESS;
PROCESS(P2,LATCH-ADDRES,READ,RD)
BEGIN
IF(LATCH-ADDRES="01101110")AND(P2="11110001")AND(READY='1')AND(RD='0')
THEN P0=IN1;
ELSE P0="ZZZZZZZZ";END IF;END PROCESS;
PROCESS(DIN1)
BEGIN
IF DIN1'EVENT AND DIN1='1' THEN
IN1=DIN1;END IF;END PROCESS;
PROCESS(P2,LATCH-ADDRES,READ,RD)
BEGIN
IF(LATCH-ADDRES="01101010")AND(P2="11110011")AND(READY='1')AND(RD='0')
THEN P0=IN2;
ELSE P0="ZZZZZZZZ";END IF;END PROCESS;
PROCESS(DIN2)
BEGIN
IF DIN2'EVENT AND DIN2='1' THEN
IN2=DIN2;END IF;END PROCESS;
DOUT1=OUT1;
......
例如,AT89C51將數(shù)據(jù)4DH送到OUT1的指令是:
MOV A,#4DH
MOV DPTR,#F5F0H
MOVX @DPTR,A
當(dāng)READY為高電平時,AT89C51從器件的IN1將數(shù)據(jù)讀入的指令是:
MOV DPTR,#F16EH
MOVX A,@DPTR
AT89C51從器件的IN2將數(shù)據(jù)讀入的指令與從器件的IN1讀入數(shù)據(jù)的指令類似,差別僅在于入口地址不同。

4 結(jié)束語

本文采用Lattice公司的PLD器件ISPLSI1032,基于VHDL描述語言所設(shè)計的接口電路,具有體積小、性能可靠、開發(fā)便捷、所需外圍元件少等優(yōu)點。電路設(shè)計采用自頂向下的系統(tǒng)設(shè)計方法。利用本文所介紹的軟、硬件電路,結(jié)合具體的設(shè)計場合,還可變換出多種形式的接口電路。


上一頁 1 2 下一頁

關(guān)鍵詞: 單片機 PLD EDA VHDL

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉