求51单片机模拟SPI通讯的C程序,最好带详解!谢谢

51单片机模拟SPI通讯的程序,最好带详解。如果是有SPI接口的单片机,如STC12系列的单片机自带SPI口,应该怎么写SPI通讯程序。多谢高手指点,谢谢!... 51单片机模拟SPI通讯的程序,最好带详解。如果是有SPI接口的单片机,如STC12系列的单片机自带SPI口,应该怎么写SPI通讯程序。多谢高手指点,谢谢! 展开
 我来答
百度网友c66740b58
2010-11-27 · TA获得超过469个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:149万
展开全部
调试已经通过
///////////////////////////spi.h/////////////////////////////
#ifndef SPI_H
#define SPI_H
#include <stc12le5a60s2.h>
#include <spi.h>
//sfr P4 = 0xe8;
//STC12LE5A60S2单片机自带SPI控制器连接
//sbit VCC1 = P2^0;// VCC1 NO USE
//sbit SON = P1^6 ;// MISO
//sbit SIN = P1^5 ;// MOSI
//sbit SCKN = P1^7 ; // SCK
sbit CSN = P1^4 ;// 28J60 -- CS
//sbit RSTN = P3^5 ; //RST, no use
//sbit INTN = P3^3 ; // INT, no use

void init_spi(void);
void WriteByte(u8_t temp);
u8_t ReadByte(void);
#endif

////////////////////////////////////////////////////////////////

///////////////////////////spi.c/////////////////////////////
#include<spi.h>
//STC12LE5A60S2单片机自带SPI控制器连接
void init_spi(void)
{
//SSIG = 1; //忽略SS脚
//SPEN = 1; //允许SPI工作
//DORD = 0; //先传高位MSB
//MSTR = 1; //设置单片机为主机
SPCTL = 0xD0; //SPI Control Register SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0 0000,0100
SPSTAT = 0xC0; //
//IE2 |= 0x02; //允许SPI中断控制位
}

void WriteByte(u8_t temp)
{
SPDAT = temp;
while(!(SPSTAT & 0x80));
SPSTAT = 0xC0;
}

u8_t ReadByte(void)
{
idata u8_t temp;
//SPSTAT = 0xC0;
SPDAT = 0x00;
while(!(SPSTAT & 0x80));
temp = SPDAT;
SPSTAT = 0xC0;
return temp;
}
////////////////////////////////////////////////////////////////
阿呖噶祷honey
2010-11-23 · TA获得超过222个赞
知道小有建树答主
回答量:275
采纳率:90%
帮助的人:181万
展开全部
不说自带SPI的单片机应用,先要去了解SPI的时序关系,程序是基于时序写的。不带SPI的单片机写SPI程序就是IO口模拟,带SPI的单片机你就不用关心SPI功能实现了,把相关MCU的数据手册看一下,都会有SPI部分的寄存器控制码和例程。
STC系列的也有相关例程,STC的官网是 www.stcmcu.com,建议你去他们官网下个数据手册看一下,自己理解了最重要。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suelovee
2010-11-22 · 超过17用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:40.8万
展开全部
MOSI MISO sck csn 这两天考试!你加我 然后我和你聊聊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱你9生九世
2010-11-22
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
呢你呢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式