51单片机2个按钮逻辑设计http://www.51hei.com/bbs/forum.php?mod=viewthreadtid=165521page=1#pid720113
生活随笔
收集整理的這篇文章主要介紹了
51单片机2个按钮逻辑设计http://www.51hei.com/bbs/forum.php?mod=viewthreadtid=165521page=1#pid720113
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
兩個(gè)開關(guān)沒有順序,先觸發(fā)誰,就執(zhí)行下面的結(jié)果,例如如果1執(zhí)行完后再次觸發(fā)K1,就繼續(xù)1的功能,如果是再次觸發(fā)K2,就執(zhí)行K2的功能,同理2執(zhí)行也是一樣的。可能我描述有點(diǎn)問題,就是一個(gè)電機(jī)正反轉(zhuǎn),觸發(fā)K1,電機(jī)正轉(zhuǎn),電機(jī)到了K2的位置,觸發(fā)一下K2,電機(jī)就停止了,這個(gè)時(shí)候觸發(fā)K1還是正轉(zhuǎn),如果觸發(fā)K2就是反轉(zhuǎn),到達(dá)對(duì)面觸發(fā)開關(guān)就停止。
#include <reg52.h> sbit IN1 = P3^4; sbit IN2 = P3^5; sbit Tin= P2^1; sbit Qi = P2^2; bit k=0, x=0; /*兩個(gè)開關(guān)沒有順序,先觸發(fā)誰,就執(zhí)行下面的結(jié)果,例如如果1執(zhí)行完后再次觸發(fā)K1,就繼續(xù)1的功能,如果是再次觸發(fā)K2,就執(zhí)行K2的功能,同理2執(zhí)行也是一樣的。http://www.51hei.com/bbs/forum.php?mod=viewthread&tid=165521&page=1#pid720113*/ void main() {while(1){if(!k){if(!Qi&&Tin){k=x=1;while(!Qi);}if(Qi&&!Tin){k=1;x=0;while(!Tin);}}else{if(x){IN1=1;IN2=0;}else{IN1=0;IN2=1;}if(!Qi||!Tin){k=0;IN1=IN2=0;while(!Qi||!Tin);}}} }?
我只保證我的邏輯思路代碼通過驗(yàn)證是正確執(zhí)行的并符合提問,做了仿真同時(shí)用2個(gè)LED指示作為驗(yàn)證電的通斷,而不保證仿真中的電機(jī)轉(zhuǎn)子轉(zhuǎn)動(dòng)慣性及你實(shí)際電機(jī)轉(zhuǎn)子轉(zhuǎn)動(dòng)的原因是蝦米.
總結(jié)
以上是生活随笔為你收集整理的51单片机2个按钮逻辑设计http://www.51hei.com/bbs/forum.php?mod=viewthreadtid=165521page=1#pid720113的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab imnoise函数的说明
- 下一篇: matlab 图像中加入高斯白噪声,ma