1712131502
級別: 論壇先鋒
|
偶今天折騰了好久,搞了個正反轉的程序,竟然不執行,求指點 #include <reg52.h> sbit s4=P3^6; sbit s5=P3^7; sbit km1=P1^3; sbit km2=P1^5; void main() { km1=1; km2=1; while(1){ if (s4==0) { km1=0; km2=1; } if (s5==0){ km1=1; km2=0; } } } |
|
---|---|---|
|
1712131502
級別: 論壇先鋒
|
米有寫停止程序,可能是沒轉換成hex文件。我是用發光二極管模擬呀 |
|
---|---|---|
|
1712131502
級別: 論壇先鋒
|
怎么編譯成HEX文件啊,老是編譯不成功,就一次成功了 過后又不行 |
|
---|---|---|
|
1712131502
級別: 論壇先鋒
|
#include <reg52.h> sbit s2=P3^4;//停止 sbit s4=P3^6;//正 sbit s5=P3^7;//反 sbit km1=P1^3; sbit km2=P1^5; void main() { km1=1; km2=1; while(1){ if (s2==0) { km1=1; km2=1; } if (s4==0){ { km1=0; km2=1; } if (s5==0){ km1=1; km2=0; } } } } 現在加了個停止的程序,終于學會批處理搞成hex文件了,可是只能正傳和停止,不能反轉。停止一直按住還是可以啟動 |
|
---|---|---|
|
langman
級別: 家園常客
|
沒記錯的話,單片機輸出=0時代表輸出,KM1應該是脈沖輸出,KM2是方向,所以不管正轉還是反轉, 改變的是方向,脈沖應該是一直有輸出的,把S5==0的中的語句KM1=1改成KM1=0試試。 |
|
---|---|---|
|