|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
緊急求助。≌(qǐng)高手指點(diǎn)此7192的程序是否能夠?qū)崿F(xiàn)鍵盤掃描功能 |
| 作者:zhusen168 欄目:EDA技術(shù) |
--IC=EPM7192SQC160 --此程序類似用于掃描鍵盤,取按鍵值。例如先給P0輸出0X0F,再?gòu)腜0讀回?cái)?shù)據(jù) --看是否有鍵按下。此程序在maxplus2中編譯成功,但用波形仿真時(shí)出錯(cuò), --得不到預(yù)想中的結(jié)果,錯(cuò)誤提示是:D口出現(xiàn)競(jìng)爭(zhēng)。此程序從原理上來(lái)說(shuō)是 --可行? --此外,不知如何配置上拉?請(qǐng)聯(lián)系:韋竹森zhusen168@sina.com,謝謝。! entity IO is PORT( CS:in BIT; RD_WR:in BIT; A:in bit_vector(3 downto 0); D,P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,PA,PB,PC:inout bit_vector(7 downto 0) ); end IO; ARCHITECTURE IO_IO OF IO IS BEGIN PROCESS(cs) begin if CS='0' then if RD_WR='0' then --根據(jù)地址線A寫相應(yīng)的IO口 case A is when"0000"=> P0<=D; when"0001"=> P1<=D; when"0010"=> P2<=D; when"0011"=> P3<=D; when"0100"=> P4<=D; when"0101"=> P5<=D; when"0110"=> P6<=D; when"0111"=> P7<=D; when"1000"=> P8<=D; when"1001"=> P9<=D; when"1010"=> PA<=D; when"1011"=> PB<=D; when"1100"=> PC<=D; when others=> null; end case; else --根據(jù)地址線A讀相應(yīng)的IO case A is when"0000"=> D<=P0; when"0001"=> D<=P1; when"0010"=> D<=P2; when"0011"=> D<=P3; when"0100"=> D<=P4; when"0101"=> D<=P5; when"0110"=> D<=P6; when"0111"=> &nbs |
| 2樓: | >>參與討論 |
| 作者: 吳明詩(shī) 于 2005/7/21 23:47:00 發(fā)布:
你的inout弄得不對(duì),輸入時(shí)這些口要設(shè)成高阻 |
|
| 3樓: | >>參與討論 |
| 作者: zhusen168 于 2005/7/22 8:18:00 發(fā)布:
要設(shè)成高阻是不是可以這樣做?但我需要的是上位 因?yàn)橐獟呙柰獠恳_的電平,而且引腳不接上拉電阻(IO太多,為了省電阻),所以只能用內(nèi)部上拉,只能設(shè)置成高阻才能輸入嗎? 這樣設(shè)置高阻對(duì)不對(duì)? case A is when"0000"=> P0<="ZZZZZZZZ"; D<=P0; when"0001"=> P1<="ZZZZZZZZ"; D<=P1; when"0010"=> P2<="ZZZZZZZZ"; D<=P2; when"0011"=> P3<="ZZZZZZZZ"; D<=P3; when"0100"=> P4<="ZZZZZZZZ"; D<=P4; when"0101"=> P5<="ZZZZZZZZ"; D<=P5; when"0110"=> P6<="ZZZZZZZZ"; D<=P6; when"0111"=> P7<="ZZZZZZZZ"; D<=P7; when"1000"=> P8<="ZZZZZZZZ"; D<=P8; when"1001"=> P9<="ZZZZZZZZ"; D<=P9; when"1010"=> PA<="ZZZZZZZZ"; D<=PA; when"1011"=> PB<="ZZZZZZZZ"; D<=PB; when"1100"=> PC<="ZZZZZZZZ"; D<=PC; when others=> null; end case; |
|
| 4樓: | >>參與討論 |
| 作者: 吳明詩(shī) 于 2005/7/22 8:28:00 發(fā)布:
不了解,我不會(huì)用vhdl 你可用一個(gè)標(biāo)志位,設(shè)置一下1的時(shí)候,這些inout都是高阻態(tài),0的時(shí)候,直接輸出。在verlog下,我是這樣用的:assign d=(a==0)?out_reg:n'hzz; |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |