deeply
級(jí)別: 略有小成
![]() |
樓主是強(qiáng)人,佩服,單片機(jī)中如果是51系列的,檢測(cè)輸入之前是否要先給該位置1再讀取狀態(tài)呢,另外關(guān)于按住停止按鈕也能啟動(dòng),程序是順序執(zhí)行的,既然可以檢測(cè)到有啟動(dòng)信號(hào)必然會(huì)先輸出信號(hào),其實(shí)那個(gè)led燈是閃得很快,只是人眼看不見(jiàn)而已,亮度是有所降低的,如果要按住停止按鈕就不啟動(dòng),就要加上與或非等條件,或者用中間繼電器中繼才會(huì)達(dá)到效果 |
---|---|
本帖最近評(píng)分記錄: |
1712131502
級(jí)別: 論壇先鋒
![]() |
可能while語(yǔ)句有問(wèn)題,我再試試 ![]() |
|
---|---|---|
|
supermax
級(jí)別: 工控俠客
![]() |
這樣就可以啦!我已試過(guò)OK #include <reg52.h> sbit s2=P3^4;//停止 sbit s4=P3^6;//正 sbit s5=P3^7;//反 sbit km1=P1^3; sbit km2=P1^5; void delay(); void main() { km1=1; km2=1; while(1){ if (s2==0) { delay(); if(s2==0) { km1=1; km2=1; } } if (s4==0) { delay(); if(s4==0) { km1=0; km2=1; }} if (s5==0) { delay(); if(s5==0) { km1=1; km2=0; }} } } void delay(void) //誤差 0us,延時(shí)50微秒 { unsigned char a,b; for(b=1;b>0;b--) for(a=22;a>0;a--); } |
---|---|
本帖最近評(píng)分記錄: |
supermax
級(jí)別: 工控俠客
![]() |
首先聲明不要叫我教你,我也是shi2999的學(xué)生,慢慢學(xué)吧! 樓主留言:老師,您就教我一點(diǎn)吧。您在我眼中簡(jiǎn)直無(wú)所不能 |
---|---|
|
supermax
級(jí)別: 工控俠客
![]() |
還有你必須要用按鈕互鎖 樓主留言:感謝!通過(guò)您的講解,我學(xué)了很多東西。這個(gè)可以編程解決嗎? |
---|---|
|
youqing
級(jí)別: 探索解密
![]() |
單片機(jī)高手,現(xiàn)在PLC也很便宜了 樓主留言:不然!不學(xué)單片機(jī)吧,很多PLC的程序也不能真正明白。 |
---|---|
|
shi2999
不管學(xué)什么,興趣是最好的老師,能賺錢(qián)是最強(qiáng)勁的動(dòng)力
級(jí)別: 網(wǎng)絡(luò)英雄
![]() ![]() |
可以用,幫你頂一個(gè)。 #include <reg52.h> sbit s2=P3^4;//停止 sbit s4=P3^6;//正 sbit s5=P3^7;//反 sbit km1=P1^3; sbit km2=P1^5; void delay(); void main() { km1=1; km2=1; while(1) { if (s2==0) { delay(); if(s2==0) { km1=1; km2=1; } } if (s4==0) { delay(); if(s4==0) { km1=0; km2=1; }} if (s5==0) { delay(); if(s5==0) { km1=1; km2=0; }} } } void delay(void) //誤差 0us,延時(shí)50微秒 { unsigned char a,b; for(b=1;b>0;b--) for(a=22;a>0;a--); } ![]() ![]() 樓主留言:好貼!老師可以幫我寫(xiě)個(gè)星三角降壓?jiǎn)?dòng)麼 |
---|---|
本帖最近評(píng)分記錄: |
shi2999
不管學(xué)什么,興趣是最好的老師,能賺錢(qián)是最強(qiáng)勁的動(dòng)力
級(jí)別: 網(wǎng)絡(luò)英雄
![]() ![]() |
void delay(void) //誤差 0us,延時(shí)50微秒 { unsigned char a,b; for(b=1;b>0;b--) for(a=22;a>0;a--); } 時(shí)間上,可能不是太準(zhǔn), 只不過(guò),利用一些計(jì)算,,推遲一些時(shí)間, 你試下把 delay(),, 改成sleep(50) 看看,可以提高效率。 樓主留言:感謝!可是老師啊,按住S2的時(shí)候,再按S4和S5依然可以啟動(dòng),這個(gè)可以解決麼 |
---|---|
|