Академический Документы
Профессиональный Документы
Культура Документы
#include<reg51.h>
sbit spiclk = P2^0;
sbit master_out = P2^1;
sbit master_in=P2^2;
sbit slave_select =P2^3;
U8 str='a',recbyte;
void sendspimsg(unsigned char);
typedef unsigned char U8;
void main()
{
lcd_init();
message(0x80,"Spi Master");
delay(100);
while(1)
{
sendspimsg(str);
delay(3);
}
}
void sendspimsg(U8 pMsg)
{
U8 currentByte = pMsg;
U8 bitcount;
slave_select=0;
delay(2);
for(bitcount=0;bitcount<8;bitcount++)
{
spiclk = 1;
master_out = currentByte & 0x80;
delay(2);
currentByte <<= 1;
recbyte=master_in;
spiclk = 0;
delay(1);
spiclk = 1;
master_out = 1;
slave_select=1;
}
/////////////////////*********************************************//////////////
/////////////
/*************program for the spi slave******************/////////////////
#include<reg51.h>
sbit spiclk = P2^0;
sbit master_out = P2^1;
sbit master_in=P2^2;
sbit slave_select =P2^3;
void recspimsg(unsigned char);
typedef unsigned char U8;
void main()
{
lcd_init();
message(0x80,"Spi Slave");
while(1)
{
init(0xc0);
recspimsg(str);
}
}