/************************
单片机:STC89C51RC/RD+
功 能:SPI应用子程序
介 绍:单片机P1.7端口做为SPI总线的SCLK信号,P1.6端口做为SPI总线的MISO信号,P1.4端口做为SPI总线的CS信号。子程序中read_one_word()函数为采用SPI接口读取一个字的源程序代码。
来 源:晖创电子网www.schuitron.com
单片机交流学习,STC单片机源程序实例
***********************/
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
sbitSCLK=P1^7;
sbitMISO=P1^6;//SDO
sbitCS=P1^4;
typedefunsignedcharINT8U;/*8bit无符号整型*/
typedefunsignedintINT16U;/*16bit无符号整型*/
INT8Uread_one_word()
{
INT8Ui=0;
INT8Utemp=0;
INT16Uone_data=0;
//MISO=1;
CS=0;
for(i=0;i<16;i++)
{
one_data=one_data<<1;
SCLK=0;
_nop_();
SCLK=1;
_nop_();
if(MISO=1)
{
one_data=one_data|0x01;
}
}
SCLK=0;
CS=1;
return(one_data);
}
voiddisplay()
{
}
voidmain()
{
CS=1;
MISO=1;
SCLK=0;
read_one_word();
display();
while(1);
}