LED怎样写程序

LED怎样写程序,第1张

可以进些网站看看论坛下点资料,LED控制程序,你需要控制成什么样,需求不明确,可以提供一个思路,可以用中断方式也可以用查询方式两种方式。中断方式需要按键接单片机INT引脚,通过按键触发终端,在中断程序中写出你想要的控制方式;查询方式,可以通过一个无限循环不停查询接按键的引脚,根据查询结果来控制你LED灯的亮或者灭 。

例如shaduo36的问题。

while(1)

{

keyscan() //永久的运行,除非断电

}

void keyscan()

{

if(S1==0)

{

delayms(10) //延时10毫秒

if(S1==0) //2个if是用来消除键盘震荡的影响。S1=0时就是键盘按下(S1一端接地)

led=0 //给0就是亮,LED一端为VCC,一端接P0^0口。

while(S1==0)//检查S1是否放下。如果一直按着,S1一直为0,则一直在这循环

led=1 //既然上面的while过了,S1当然就没被按住,所以让灯灭

}

首先搞清LED管是高电平导通还是低电平导通。

如果是低电平导通,P2赋0x00时,发光管全亮,0xff时,全灭。

具体程序:

#define uint unsigned int

#define uchar unsigned char

void delay(uint time_out)

{

uint i,j

for(i=0i<time_outi++)

{

for(j=0j<110j++)

{}

}

}

void main(){

while(1)

{

P2=0xfe//第1个管亮

delay(500)

P2=0xfd//第2个管亮

delay(500)

P2=0xfb//依次类推

delay(500)

P2=0xf7

delay(500)

P2=0xef

delay(500)

P2=0xdf

delay(500)

P2=0xbf

delay(500)

P2=0x7f

delay(500)

}

}

程序大致如此,delay函数负责延迟500ms.有问题自己再调试调试


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7960414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存