硬件连接如图所示。 单主机-单从机SPI通信实验电路图 #include “stc15.h” #define MASTER 1 //作为从机程序时,将该行注释掉 bit SPI_Receive; //SPI 端口收到数据标志位 unsigned char idata SPI_buffer _at_ 0x30; //保存SPI端口收到的数据 void main(void) { unsigned char tmpdata,SPI_status; #ifdef MASTER //初始化串口 SCON=0x50; //0101,0000 8位可变波特率, 无奇偶校验 TMOD=0x21; //定时器T1为自动重装模式 TH1=0xf6; TL1=0xf6; AUXR= AUXR|0x40; //T1以1T的速度计数 TR1=1; //启动定时器1 //初始化SPI SPCTL=0xfc; //忽略/SS引脚,设为主机 #else SPCTL=0xec; ///忽略/SS引脚,设为从机 #endif SPSTAT=0xc0; //清零标志位SPIF和WCOL IE2=IE2|0x02; //ESPI(IE2.1)=1,允许SPIF产生中断 SPI_Receive=0; //清标志字 EA=1; //开总中断 while(1) //主循环 {
原创力文档

文档评论(0)