看板 ASM 關於我們 聯絡資訊
※ 引述《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; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.153.59 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1443634720.A.0E1.html ※ 編輯: lion21 (114.25.153.59), 10/01/2015 01:40:42 ※ 編輯: lion21 (114.25.153.59), 10/01/2015 01:53:32
chlb: 請問這樣LED要怎麼宣告,只有兩顆LED燈佔兩個腳位 10/01 12:28
lion21: 可以分開輸出比如 LED1=(array[out]&1)?1:0; 10/01 12:57
chlb: 值變換而不是交替變換 10/01 15:08
chlb: 我現在的問題是用這個方法跟原本的方法做都會變成0V時,一 10/01 15:08
chuegou: switch(array[out]){ 10/02 00:44
chuegou: case 1: LED0=ON; LED1=OFF; 10/02 00:45
chuegou: case 2: LED0=ON; LED1=OFF; 10/02 00:46
chuegou: case 3: LED0=OFF; LED1=ON; 10/02 00:47
chuegou: case 4: LED0=ON; LED1=ON; 10/02 00:48
chuegou: } 加這段就好了阿 10/02 00:49
lion21: break; 10/02 09:20
chuegou: 感謝樓上...我昨天晚上在打啥... 10/02 23:16
sunnysmart: 感謝樓上二位 :D 10/04 00:36