
如果你确实不会看时序图,那么我建议你看一下郭天祥的单片机视频搜一下网上有的是,他在讲AD、DA的时候涉及到了根据时序图写程序,其实如何看时序图是比较简单的。如果你的单片机自带SPI协议,那么其实不用看时序图,只要配置好相关的寄存器就能让它工作了,就像串口,一般的单片机都带串口吧,你不用了解串口的时序只需要 *** 纵好相关的寄存器就行了。
下面就是一个 SPI 输出的函数,时序,在程序里面,表述的非常清楚。
sbit sck = P2^7;//移位时钟
sbit da1 = P2^6;//串行数据
void send(char dat)
{
char i;
for(i = 0; i < 8; i++) {
if((dat >> i) & 0x01) da1 = 1; else da1 = 0;
sck = 0; sck = 1;
}
}
uchar DSP_LED[]={0x5449,0x5041,0x6359,0x5358,0x0D59,0x5358,0x0100,0x0100,};
这个赋值编译器应该会报错的。改为:
uint DSP_LED[2002]={0x5449,0x5041,0x6359,0x5358,0x0D59,0x5358,0x0100,0x0100,};
uchar k = 0; 改为: uint k = 0 ;
DSP_LED[k]=SPI_Write(); 改为: SPI_Write(DSP_LED[k]);
以下不细看了。。。。。。
首先,单片机程序 和SPI总线I2C总线不是一个范畴的概念
SPI总线和I2C总线是硬件总线,其存在性只能在硬件范畴中体现,
一些型号的单片机本身就同时具有以上两种总线,有的存在其中一种,有的则没有。对于有硬件总线的,可通过寄存器直接 *** 作,没有的,可以通过IO模拟。
你可以在程序中 *** 作相关总线,甚至可以同时 *** 作,这和他们的存在性是两码事儿。
“我想问的是我有两个传感器一个用SPI写,一个用IIC写这样行不行”
互不影响,完全可以!
以上就是关于单片机如何根据时序图来写程序,求方法。。。特别是spi外设那部分感觉都差不多,但是自己不会看时序图来全部的内容,包括:单片机如何根据时序图来写程序,求方法。。。特别是spi外设那部分感觉都差不多,但是自己不会看时序图来、51单片机IO口模拟SPI、C8051F410单片机用SPI加载DSP程序。下面数组数据加载给DSP,是可以让DSP实现闪灯的。可是不行啊。请帮我改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)