单片机编程小问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 11:36:35
下面部分程序是如何执行的,请详细说明一下
SDA_164 = ch&0x80;
SCLK_164 = 1;
ch = ch<<1;
SCLK_164 = 0;

这个应该是软件SPI(同步串行口)发送数据的过程。数据是按位发送。
ch代表的是要发送的数据
SDA_16是发送数据线
SCLK_164是时钟线。

SDA_164 = ch&0x80; 取最高位发送
SCLK_164 = 1; 时钟信号置一(上升沿发送数据)

每发送一完位ch数据左移一位 (准备下一位发送的数据,而且有延时作用)
SCLK_164 = 0; 时钟置0
这个段落应该循环8次(或N次)发送一个字节(或N位)的数据。