📄 spi_main.c
字号:
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
//---------------------------
#include <REG52.H>
#include<STDIO.H>
//---------------------------
sbit SPICLK = P1^0;
sbit MOSI = P1^1;
sbit MISO = P1^2;
sbit SS = P1^3;
//---------------------------
void Nop(void)
{
;
}
void Delay(uchar t)
{
while(t--){;}
}
uchar Data_Receive(void)
{
uchar i,dat=0,temp;
bit bt;
SPICLK=1;
MISO=1;
SS=0; //选中器件
Nop();
Nop();
for(i=0;i<8;i++)
{
SPICLK=1;
Nop();
Nop();
Nop();
SPICLK=0;
Nop();
Nop();
bt=MISO;
if(bt)
temp=0x01;
else temp=0x00;
dat=(dat<<1);
dat=(dat|temp);
}
SS=1;
SPICLK=1;
return dat;
}
void main(void)
{
uchar exdat;
uchar i=0;
uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F};
P2=0;
while(1)
{
exdat=Data_Receive();
P0=table[exdat];
for(i=0;i<200;i++)
Delay(200);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -