|
(二)写16位数据 IC操作需要通过对IC写16位数据来实现,下图为写数据时序。 1、写数据前,需将LATCH和CLOCK置1。 2、LATCH拉低,开始写数据。写数据的顺序是从高位D15向低位D0。 3、根据要写入的数据内容,将D15置1或置0。 4、CLOCK拉低,将D15的值写入IC的缓存中。 5、CLOCK拉高。 6、重复第3~5步,依次将D14~D0的值写入IC缓存。 7、LATCH拉高,IC执行缓存中的数据指令。
在时序图中,t1为时钟宽度,t2、t3分别为时钟高低电平脉冲宽度,t4为锁存上升沿保持时间,t5为数据设置时间,t6为数据保持时间,t7为时钟设置时间,t8为锁存高脉冲宽度。t1~t8最小时隙有具体要求,其中t5~t8最小时隙为1.6us,如果最小时隙<1.6us,则数据可能写入异常。
STC32G工作在6MHz频率下,由于STC32G是1T单片机,则STC32G执行1步机器指令所需的时间为:1s/6000000=0.167us,小于1.6us的时序间隙,所以需要在每个时钟脉冲变换前增加2us的延时。如果使用12T的单片机,工作在5MHz频率下,则每个机器指令执行周期≈2us,可不用再增加延时。 具体的代码如下。
|