在线等,急,用C语言编程,实现单片机控制两个LED灯:当S1开关闭合时,两个LED灯交替闪烁?

当S1开关断开时,两个LED灯全亮全灭。

判断开关对应的端口电平,改变led对应端口即可。

交替闪烁就是在循环中让两个LED端口交替高低电平。

循环中加入延时。延时函数我用循环实现。题目没有要求精准延时,如精准需用中断。

#include <reg52.h>

#define uInt unsigned int

sbit D1=P2^0;

sbit D2=P2^1;

sbit S1=P3^2;

void mDelayuS( uInt us );

void main()

{

if(S1)

D1=D2=0;

while(S1==0) D1=!D2,mDelayuS(1000),D2=D1;

}

void mDelayuS( uInt us )

{

while ( us -- );  /* 24MHz MCS51 */

}

温馨提示:答案为网友推荐,仅供参考
相似回答