回覆列表
  • 1 # 使用者3456175603979

    /* 程式詳細功能介紹:

    *利用取表的方法,使埠P0做單一燈的變化:左移2次,右移2次,閃爍2次(延時的時間0.2秒)。

    *在用表格進行程式設計的時候,要用以下的指令來完成

    *(1).利用MOV DPTR,#DATA16的指令來使資料指標暫存器指到表的開頭。

    *(2).利用MOVC A,@A+DPTR的指令,根據累加器的值再加上DPTR的值,就可以使程式計數器PC指到表格內所要取出的資料。

    *因此,只要把控制碼建成一個表,而利用MOVC 工,@A+DPTR做取碼的操作,

    *就可方便地處理一些複雜的控制動作.

    */

    #include

    unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,

    0xef,0xdf,0xbf,0x7f,

    0xfe,0xfd,0xfb,0xf7,

    0xef,0xdf,0xbf,0x7f,

    0x7f,0xbf,0xdf,0xef,

    0xf7,0xfb,0xfd,0xfe,

    0x7f,0xbf,0xdf,0xef,

    0xf7,0xfb,0xfd,0xfe,

    0x00,0xff,0x00,0xff,

    0x01};

    unsigned char i;

    void delay(void)

    {

    unsigned char m,n,s;

    for(m=20;m>0;m--)

    for(n=20;n>0;n--)

    for(s=248;s>0;s--);

    }

    void main(void)

    {

    while(1)

    {

    if(table[i]!=0x01)

    {

    P0=table[i];

    i++;

    delay();

    }

    else

    {

    i=0;

    }

    }

    }

  • 中秋節和大豐收的關聯?
  • 直流電機組成結構是什麼?