打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
51模拟SPI同步收发程序.C
共同成长888
>《单片机程序》
2015.04.19
关注
51模拟SPI同步收发程序.C
原文:
http://bbs.ednchina.com/FORUM_POST_17_82736_0.HTM
以前弄的 51与FPGA用SPI进行通信的测试程序, 模拟的具体是SPI的哪种模式记不清了,
只要改下sclk的时序就可以了.
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#include<LCD12864.h>
//SPI接口
sbit cs = P2^3;
sbit sclk = P2^4;
sbit din = P2^2;
sbit dout = P2^1;
//
sbit ACC7=ACC^7;
unsigned char da1;
/***********************************************************************/
void LCD_Init();
void COM_Init();//测试用
void delay(t);//延时函数
unsigned char SPI_InOut(unsigned char input);
/***********************************************************************/
void main() //主函数
{
unsigned char m,i,s[10];
int a[2];
unsigned char j[10]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
COM_Init();
LCD_Init();
while(1)
{
for(i=0;i<9;i++)
{
m=j
;
a[0]=SPI_InOut(m);
//a[0]=da1;
sprintf(s,"%2x",a[0]);
PutStr(0,0,s);
SBUF=m;
while(!TI);
TI=0;
delay(2000);
}
}
}
/***********************************************************************/
//测试用COM
void COM_Init()//9600
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TL0=0xfd;
TR1=1;
}
//******************************
void LCD_Init()
{
delay(10); //等待复位
LcmInit();
LcmClearTXT();
LcmClearBMP();
}
//**********************************************************************
void delay(t)//延时函数
{
unsigned int i,j;
for(i=0;i<t;i++)
{
for(j=0;j<121;j++)
{;}
}
}
//..******************************************************************
//模拟SPI,发送和接收数据,同时
//输入值 input
//返回值 getdata
//。******************************************************************
unsigned char SPI_InOut(unsigned char input) //
{
unsigned char i="8",getdata;
cs=0;
while(i--)
{
//sclk=1;
din=(bit)(input&0x80);//输出
//_nop_();
//delay(1);
sclk=0; //下降沿
//*****************************
getdata>>=1;//接收
ACC="getdata";
ACC7=dout;
getdata="ACC"; //数据到getchar中
_nop_();
sclk=1;
input=input<<1;
// if(i==0)
// da1=getdata;
}
//_nop_();
//_nop_();
//_nop_();
cs=1;
return(getdata);
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
【热】
打开小程序,算一算2024你的财运
基于51单片机的SPI总线
单片机制作的电子钟仿真(含闹钟 温度 报警功能)
24C01读写的C51源程序
高级回复: X5045读写一体化C51程序包 -- HotPower的文潭
【转】CC2530串口接收发送数据(中断法)
一网友的作品:Arduino驱动NOKIA5110,超声波测距网购论坛http://www.bay2009.cn
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×