Re: [问题] 8051按键控制问题

楼主: lion21 (好歹我也是个夕阳武士)   2015-10-01 01:38:38
※ 引述《chlb (微笑天使)》之铭言:
: 想请问一下
: 我使用keil c写一个按键控制程式
: 我有一个0v,5v的控制讯号,想要让两个led交互亮
: 动作是按键1按下时即开始侦测,输入第一次0v时,led1 on,led2 off
: 接着输入5v,led1 off,led2 off
: 再下来输入0v,led1 off ,led2 on
: 接着输入5v,led1 off,led2 off
写个逻辑给你参考
array []={.......}
bit temp1;
char out=0;
main()
{
temp1=in1;
while(1)
{
if( in1 != temp1)
{
out= ++out % 4
LED=array [ out ];
}
delay();
temp1=in1;
}
}
作者: chlb (微笑天使)   2015-10-01 12:28:00
请问这样LED要怎么宣告,只有两颗LED灯占两个脚位
楼主: lion21 (好歹我也是个夕阳武士)   2015-10-01 12:57:00
可以分开输出比如 LED1=(array[out]&1)?1:0;
作者: chlb (微笑天使)   2015-10-01 15:08:00
值变换而不是交替变换我现在的问题是用这个方法跟原本的方法做都会变成0V时,一
作者: chuegou (chuegou)   2015-10-02 00:44:00
switch(array[out]){case 1: LED0=ON; LED1=OFF;case 2: LED0=ON; LED1=OFF;case 3: LED0=OFF; LED1=ON;case 4: LED0=ON; LED1=ON;} 加这段就好了阿
楼主: lion21 (好歹我也是个夕阳武士)   2015-10-02 09:20:00
break;
作者: chuegou (chuegou)   2015-10-02 23:16:00
感谢楼上...我昨天晚上在打啥...
作者: sunnysmart (暱称无效)   2015-10-04 00:36:00
感谢楼上二位 :D

Links booklink

Contact Us: admin [ a t ] ucptt.com