51单片机中,这张时序图用C语言是不是这样写?

2025-05-10 09:40:31
推荐回答(1个)
回答1:

呵呵 你使用的是一个串行接口芯片 一个字节的数据 不能一次传送 需要一位一位的传送
按时序来进行。 参考程序如下:
#include //包含头文件
#define uint unsigned int
#define uchar unsigned char
sbit CS=P1^4;
sbit DI=P1^5;
void delay( )
{
int i;
for(i=0;i<5;i++);
}
void main()
{
iunt a,b;
uchar mask;
mask=0x45; \\ 假设0X45为要传送到数据
b=0x01;
CS=0; \\置片选有效
for( a=1;a<=8;a++)
{ \\ 要传送到数据0X45需要一位一位的传送
if(mask & b)==0)
{ DI=0;}
else
{DI=1;} \\输出时钟
CLK=0;
delay( )
CLK=1;
delay( )
B<<=1;
}
CS=1; \\ 置片选无效



别忘了给俺加分啊 呵呵