📄 wrt_cmd.c
字号:
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <reg52.h>
#include <intrins.h>
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
//extern bit SCK,SDI;
sbit SDI=P1^0;
sbit SCK=P1^1;
//--------------------------------------------------------------------------------------------------
// 函数名称: WRT_CMD.c
// 入口参数: cmd
// 函数功能: SPI方式发送两个字节,在SDI上升沿逐位将数据写入
//--------------------------------------------------------------------------------------------------
unsigned int WRT_CMD(unsigned int cmd)
{
unsigned char n=16; // 向SDA上发送位数据字节,共16位
SCK =0; //时钟置低
while(n--)
{
delayNOP();
SCK = 0 ; //时钟置低
if(cmd&0x8000) // 若要发送的数据最高位为1则发送位1
{
SDI = 1; // 传送位1
}
else
{
SDI = 0; // 否则传送位0
}
delayNOP();
cmd = cmd<<1; // 数据左移一位
SCK = 1 ; //时钟置高
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -