• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: Microchip有沒有提供PIC18 SPI傳輸的範例程式呢
#8
高級會員
高級會員


查看用戶資訊
感激不盡~~
我相信會很有幫助
此外
請教一下哦
如果我要用軟體的方式來模擬SPI功能
是否只要任選三支沒用到的I/O PIN就可以做到
而用軟體模擬的速度可以和硬體的一樣快嗎

發表於: 2005/6/22 17:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Microchip有沒有提供PIC18 SPI傳輸的範例程式呢
#7
新會員
新會員


查看用戶資訊
看看对你是否有用处?

#include <pic.h>
/*该程序实现单片机双机异步通信功能,该程序是发送部分*/
unsigned char tran[8]; /*定义一个数组存储发送数据*/
unsigned char k,data; /*定义通用寄存器*/
const char table[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};
/*不带小数点的显示段码表*/
/*spi 显示初始化子程序*/
void SPIINIT()
{
PIR1=0;
SSPCON=0x30;
SSPSTAT=0xC0;
/*设置SPI 的控制方式,允许SSP 方式,并且时钟下降沿发送,与"74HC595,当其
*SCLK 从低到高跳变时,串行输入寄存器"的特点相对应*/
TRISC=0xD7; /*SDO引脚为输出,SCK 引脚为输出*/
TRISA5=0; /*RA5引脚设置为输出,以输出显示锁存信号*/
}
/*给数组赋初值子程序 */
void fuzhi()
{
for(k=0;k<8;k++) {
tran[k]=k+3;
}
}
/*SCI 部件初始化子程序*/
void sciint()
{
SPBRG=0X19; /*将传输的波特率设为约9 600 位/秒*/
TXSTA=0X04; /*选择异步高速方式传输8 位数据*/
RCSTA=0X80; /*允许同步串行口工作*/
TRISC6=1;
TRISC7=1; /*将RC6、RC7 设置为输入方式,对外部呈高阻状态*/
}
/*SPI 传输数据子程序*/
void SPILED(data)
{
SSPBUF=data; /*启动发送*/
do {

}while(SSPIF==0);
SSPIF=0;
}
/*显示子程序,显示8 位数*/
void display()
{
RA5=0; /*准备锁存*/
for(k=0;k<8;k++) {
data=tran[k];
data=table[data]; /*查得显示的段码*/
SPILED(data); /*发送显示段码*/
}
RA5=1; /*最后给一个锁存信号,代表显示任务完成*/
}
/*主程序*/
main()
{
SPIINIT();
fuzhi(); /*给数组赋初值*/
sciint(); /*SCI部件初始化*/
di(); /*中断禁止*/
TXEN=1; /*发送允许*/
CREN=1; /*接收数据允许*/
for(k=0;k<8;k++){
TXREG=tran[k]; /*发出一个字符*/
while(1){
if(TXIF==1) break;
} /*等待写入完成*/
while(1){
if(RCIF==1) break;/*若收到响应字节,则终止等待*/
}
RCREG=RCREG; /*读响应字节,清RCIF*/
}
display(); /*显示发送的数据*/
while(1){

}
}

發表於: 2005/6/16 17:27
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Microchip有沒有提供PIC18 SPI傳輸的範例程式呢
#6
高級會員
高級會員


查看用戶資訊
了解

謝謝您的解釋讓我清楚不少

發表於: 2005/6/16 15:14
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Microchip有沒有提供PIC18 SPI傳輸的範例程式呢
#5
高級會員
高級會員


查看用戶資訊
I2C 是飛利浦研發的雙線式串列通訊協定.

I2C 的通訊方式,所有的I2C裝置只需要兩條線即可達到通訊的目的.是利用Devcie Address來識別各個裝置.(Devcie Address含在通訊資料中).

SPI 的通訊方式,是利用Chip Select 來指定特定裝置.每個裝置都必須要有獨立的Chip Select來指定.所以線路的Layout 比較多條.但是傳輸速度比較快.

一般的I2C的速度 400K Bps ; SPI 的話是 10M Bps

另外,我覺得SPI 比較容易可以用軟體模擬,減低硬體成本.
I2C比較複雜,必須用硬體完成.

發表於: 2005/6/16 14:18
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Microchip有沒有提供PIC18 SPI傳輸的範例程式呢
#4
高級會員
高級會員


查看用戶資訊
是哦~~請問那IIC和SPI的差異是什麼呢
因為我現在用的一些元件都是支援SPI的
反而支援I2C的比較少說

發表於: 2005/6/16 14:08
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Microchip有沒有提供PIC18 SPI傳輸的範例程式呢
#3
高級會員
高級會員


查看用戶資訊
妳可以參考教育訓練中的ANALOG的課程教材 , 裡面有很多類比元件是以SPI的界面控制的 , 也有完整的程式控制流程

發表於: 2005/6/16 13:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Microchip有沒有提供PIC18 SPI傳輸的範例程式呢
#2
資深會員
資深會員


查看用戶資訊
建議你可以去找代理商拿一顆MCP42100
或是類似的SPI介面數位分壓器
好處就是你可以用電表就能看出到底有沒有正常工作
先會寫主控端的程式之後
再試著寫附屬端的程式

不過我是建議
能用IIC就用IIC
線路並聯而且不必有晶片選擇接腳
附屬元件多時不必擔心接腳不夠

發表於: 2005/6/16 13:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Microchip有沒有提供PIC18 SPI傳輸的範例程式呢
#1
高級會員
高級會員


查看用戶資訊
AS TITLE

我從W401的EX6-1裡頭看到的實習好像是針對I2C的
那麼請問PIC18F有沒有是針對SPI做的範例程式呢
而SPI的主,從架構我不是看很懂
能否請高手幫忙解答一下呢

請問是不是如果我是用它的主架構
則SS那根接腳就可以不用理它甚至可以拿來做別的用途呢

發表於: 2005/6/16 11:32
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------