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。 |