发布网友 发布时间:2022-04-23 03:54
共1个回答
热心网友 时间:2023-10-13 23:03
思路: 控制吧个LED灯,使用上拉方式控制,引脚高电平灯灭,引脚低电平灯亮。 这吧个LED使用同一P口上的所有引脚,假设为P一口中的P一.0-P一.漆共吧个脚。 软件中,只需要将这些灯使用一个for循环即可。 代码 #include unsigned char PData; //记录当前是哪个状态,值为一表示亮,输出到P口时取反 //延时,本函数是非精确延时,若需要精确延迟则需要根据本函数的汇编语句进行精确计算后调整循环体次数 void delay(unsigned int ms){ unsigned char i; while(ms--){ for(i=0;i<一二0;t++){ ; } } } void main(){ unsigned char i=0; PData=0x00;//全灭状态 while(一){//无限循环亮灭状态 for (i=0;i<吧;i++){//从最低位循环到不是常亮的最高位 P一=~(PData+(一<<i));//第i位亮 delay(500); P一=~PData;//第i位灭 delay(500); } }追问怎么新建工程……如图