📄 1.c
字号:
#include <pic.h>
void delay(unsigned char a)
{
unsigned char i;
unsigned int j;
for(i=0;i<a;i++)
{
j=600;
while(j--);
}
}
void spi_init()
{
TRISA=TRISA&0xdf;
TRISC=TRISC&0xd6;// SDO(RC5)引脚为输出,SCK(RC3)引脚为输出
SSPCON=0x20; // SSPEN=1;CKP=0,FOSC/4
SSPSTAT=0x80; // 时钟上升沿发送数据
SSPIF=0; // 清除SSPIF标志
}
char spi_w(char data1)
{
RC0=0;
SSPBUF=data1; // 启动 SPI 发送
while(!SSPIF); // 等待SPI 发送完成
SSPIF=0; // 清SPI 发送完成标志
while(!STAT_BF);
STAT_BF=0;
RC0=1;
return(SSPBUF);
}
void main()
{
char temp,i;
TRISB=0;
spi_init();
while(1)
{
temp=spi_w(i);
PORTB=temp;
i++;
delay(200);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -