![]() |
發布時間: 2022-12-14 14:23
正文摘要:求助各位大佬,單片機源程序如下: #include <STC12C5A60S2.H> #include<INTRINS.h> void main() { P0M0=0xff; P0M1= ... |
cccc888 發表于 2022-12-14 19:26 請問大佬為什么用temp儲存和直接用io口不一樣呢,求解答,麻煩你了 |
wulin 發表于 2022-12-14 19:03 抱歉,這是我從一個工程上弄下來的,有點小錯誤。。感謝的解答了 |
![]() 改成這樣,如圖。 |
billaj 發表于 2022-12-14 18:43 P0=_crol_(P0,1);是循環左移,與<<不同。 |
延時函數要聲明 #include <STC12C5A60S2.H> #include<INTRINS.h> void delay(unsigned char count); void main() { P0M0=0xff; P0M1=0x00;//io口模式配置,刪掉也一樣 P0=0x01;//將共陰led第一個點亮 while(1) { P0=_crol_(P0,1);//調用crol函數實現流水燈 delay(500); } } //delay函數為count毫秒 void delay(unsigned char count) { unsigned char i, j; while(count--) { i = 2; j = 239; do { while (--j); } while (--i); } } |
_crol_帶循環 <<是位左移,后面補0 然后一直是0。。。 |
coody_sz 發表于 2022-12-14 15:39 大佬,細說? |
不是執行了一次,是一直在執行,只不過后面P0輸出的都是0x00。 |