qiquanming18 发表于 2024-3-25 16:48:20

STC89和STC15W 指令时钟问题

本帖最后由 qiquanming18 于 2024-3-25 16:49 编辑

sbit DIN = P2^2;
sbit SCLK = P2^3;
sbit CS = P2^5;

我在 驱动 TLV5618 芯片时,发现没有输出,对照 指令表后更改如下,不知道对不对,
void DA_conver(uint Dignum)
{
uint Dig = 0;
uchar i = 0;
SCLK =0;
nop12;
CS = 1;
nop12;
   for(i=0;i<16;i++)
    {
          Dig=Dignum&0x8000;nop8;
         if(Dig)
         {DIN = 0;
         }
         else
             {
               DIN = 1;
               }
   nop12;
         SCLK = 1;
         nop12;
      Dignum<<=1;
      nop12;
         SCLK=0;
         nop12;
      }
      SCLK = 0;nop12;
      CS = 0;nop12;
//      delay2500us();      //延时2.5ms
}

以上程序中, SCLK =0; ST89是12个时钟, STC15W 是1个时钟。

qiquanming18 发表于 2024-3-25 16:51:59

以上程序中,
SCLK =0; ST89是12个时钟, STC15W 是1个时钟。
Dig=Dignum&0x8000;ST89是24个时钟, STC15W 是3个时钟。
Dignum<<=1; ST89是12个时钟, STC15W 是1个时钟。

是这样吗?

梁工 发表于 2024-3-25 23:22:56

示波器观察你的时钟是否满足器件的要求。

xiangzichen 发表于 2024-3-26 00:22:47

还的看具体时钟频率是多少!

qiquanming18 发表于 2024-3-26 08:02:18

按照指令表 是这样的, 对应时钟固定值。
页: [1]
查看完整版本: STC89和STC15W 指令时钟问题