单片机如何根据时序图来写程序,求方法。。。特别是spi外设那部分感觉都差不多,但是自己不会看时序图来

单片机如何根据时序图来写程序,求方法。。。特别是spi外设那部分感觉都差不多,但是自己不会看时序图来,第1张

如果你确实不会看时序图,那么我建议你看一下郭天祥的单片机视频搜一下网上有的是,他在讲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实现闪灯的。可是不行啊。请帮我改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9284900.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存