Re: 請問F87x並列埠怎麼使用
|
||||
---|---|---|---|---|
新會員
|
那再請問版主一個問題,在這二個mcu的資料傳輸之間,是否要考慮資料的交握,有沒有可能發生資料遺失的情形呢?若有這種情形發生應該要如何處理??謝謝!!
發表於: 2004/6/19 0:35
|
|||
|
Re: 請問F87x並列埠怎麼使用
|
||||
---|---|---|---|---|
高級會員
|
謝謝各位板主的回答
使我受益良多
發表於: 2004/6/18 11:42
|
|||
|
Re: 請問F87x並列埠怎麼使用
|
||||
---|---|---|---|---|
版主
|
Parallel Slave Port(PSP)是由PORTD及PORTE組成的,PORTD<7:0>是並列的輸出/輸入腳,PORTE共有三隻腳做信號的輸入控制 /RD, /WR , /CS
1. 既然稱之為Slave就需要有一個主控的MCU來控制PIC16F877的PSP模組,以Intel的8088接PIC16F877為例,D0~D7 直接連到PORTD<0:7>可以 不用再接74LS245之類的Buffer; 8088透過74LS138解出一個I/O Address的CS信號直接送給16F877的/CS腳,另外RD與WR就互相連接就好。 2. 此時 8088 可以直接寫入8-bit的資料到PORTD, /WR 與 /CS 會將資料latch在PORTD並產生PSP的中斷(PSPIF (PIR1<7>))同時IBF(TRISE)位元會被設為1,已指示有資料寫入的中斷 3. 8088 可以直接讀取PORTD的資料,一般再設計時還會考慮到再加入一根I/O腳已通知8088可以來讀取PORTD的資料了。 使用PSP功能記住需先將PORTE的A/D輸入功能關掉,再將PSP功能從TRISE中打開。
發表於: 2004/6/18 11:06
|
|||
|
Re: 請問F87x並列埠怎麼使用
|
||||
---|---|---|---|---|
版主
|
您說的是:Parallel Slave Port (PSP)的用法嗎?
簡單的說:就硬體的部份,就把PIC當作是一顆記憶體,將CS, WR, RD, DATA (Port D)的腳拉好。 而軟體的部份,將TRISE中有一個BIT:PSPMODE設為1,就會將PSP功能啟動。爾後,想要讓外部讀走的資料,就用像是MOVWF 的指令,將它寫到PORTD。當外部對PIC做read的動作,也就是CS, RD皆為LOW,之前用送到PORTD的資料,就會顯現到接腳上,外部就可以把資料讀走;想要從外部寫資料進來,先將資料送到PORTD,再將CS,WR設為LOW,此時資料就會送到PIC內部的PORTD暫存器,PSPIF會設為1,若事先致能中斷,則會產生中斷,此時再用像是MOVF PORTD,W的指令,將資料取走。 注意事項:要將相關的87X接腳設為DIGITAL模式。
發表於: 2004/6/18 11:00
|
|||
|
請問F87x並列埠怎麼使用
|
||||
---|---|---|---|---|
高級會員
|
請問各位大大
如題所寫
發表於: 2004/6/16 18:09
|
|||
|