IO模拟SPI接口程序

#include <reg52.h>
#include <stdio.h>
#include <intrins.h> 
sbit SCLK  = P1^7;        
sbit MISO  = P1^6;    //SDO
sbit CS = P1^4;  
typedef unsigned char INT8U;  /* 8 bit 无符号整型 */
typedef unsigned int INT16U;  /* 16 bit 无符号整型 */
INT8U read_one_word()
{
 INT8U i = 0;
 INT8U temp = 0;
 INT16U one_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);
}
void display()
{
}
void main()
{
 CS = 1;
 MISO = 1;
 SCLK = 0;
 read_one_word();
 display();
 while(1);
}

 

posted @ 2013-03-17 17:08  天涯海角路  阅读(287)  评论(0)    收藏  举报