當前位置:編程學習大全網 - 編程軟體 - 單片機,用壹條語句實現流水燈效果,不是用函數,老師說就用壹條語句就可以實現,有沒有人知道?用c寫的。

單片機,用壹條語句實現流水燈效果,不是用函數,老師說就用壹條語句就可以實現,有沒有人知道?用c寫的。

使用內部函數可不可以。

該函數聲明於intrins.h

P1=_cror_(P1,a);//循環右移a位

P1=_crol_(P1,1);//循環左移a位

實在不行,可以試試以下方法,僅提供思路

1.計算法

類似P1=1(初值),P1=P1*2(循環),當P1=128時延時壹會P1復位為1。

2.移位法

使用移位符號>>或<<。如P1=0x01(初值),P1=P1<<1(左移1位,循環),當P1=0x80,延時壹會P1復位。

3.查表法。把P1各狀態寫在數組裏,通過查表輸出。如

unsigned char P1_Table[]={0x01,0x02,.....};

P1=P1_Tab[i];(循環)

4.直接賦值

這是最簡單但最笨的辦法,相當於查表法的具體實現

  • 上一篇:父母總讓我背書怎麽辦?
  • 下一篇:上海私立遼源高中怎麽樣?
  • copyright 2024編程學習大全網