Mình có một vấn đề cần các bạn trợ giúp.
Trong bài lập trình cho vi điều khiển 8051 điều khiển 2 cái động cơ bước( loại hỗn hợp, 4 đầu vào/1 động cơ),mình dùng nguyên port2(8 cổng) để điều khiển. Bố trí sơ đồ từ chân vi điều khiển ra mạch như sau ( đã có IC chuyên dụng khuếch đại công suất , mình chỉ xét về mặc truyền tín hiệu):
- động cơ 1 : P2.0 --> P2.3
- động cơ 2 : P2.4 --> P2.7
Ý tưởng của mình là muốn điều khiển 2 độc cơ độc lập, không liên quan gì tới nhau. Vậy bạn nào có thể chỉ cho mình cách để gom 4 port thành một biến không ?
Mình có biết một lệnh hay dùng :
#define out P2
Lệnh này gán rất hay được sử dụng, nhưng nó gán nguyên cả Port2(8 cổng) vào biến "out". Trong khi mình chỉ muốn 4 port làm thành một biến, để có thể điều khiển 2 động cơ tách rởi riêng biệt nhau.
Mình mong muốn có một lệnh nào đó có thể gán 4 port thành một biến như sau :
#define ĐC1 [ P2^0 P2^1 P2^2 P2^3]
#define ĐC2 [ P2^4 P2^5 P2^6 P2^7]
Tất nhiên 2 lệnh này khi chạy thì báo lỗi, nhưng đây thực sự mới là vấn đề cần giải quyết.
Mong các bậc cao thủ trong diễn đàn , ai biết xin chỉ zùm với ! Mạch phần cứng đã lắp rồi, không đổi một động cơ gắn sang port khác được ! hix hix
Trong bài lập trình cho vi điều khiển 8051 điều khiển 2 cái động cơ bước( loại hỗn hợp, 4 đầu vào/1 động cơ),mình dùng nguyên port2(8 cổng) để điều khiển. Bố trí sơ đồ từ chân vi điều khiển ra mạch như sau ( đã có IC chuyên dụng khuếch đại công suất , mình chỉ xét về mặc truyền tín hiệu):
- động cơ 1 : P2.0 --> P2.3
- động cơ 2 : P2.4 --> P2.7
Ý tưởng của mình là muốn điều khiển 2 độc cơ độc lập, không liên quan gì tới nhau. Vậy bạn nào có thể chỉ cho mình cách để gom 4 port thành một biến không ?
Mình có biết một lệnh hay dùng :
#define out P2
Lệnh này gán rất hay được sử dụng, nhưng nó gán nguyên cả Port2(8 cổng) vào biến "out". Trong khi mình chỉ muốn 4 port làm thành một biến, để có thể điều khiển 2 động cơ tách rởi riêng biệt nhau.
Mình mong muốn có một lệnh nào đó có thể gán 4 port thành một biến như sau :
#define ĐC1 [ P2^0 P2^1 P2^2 P2^3]
#define ĐC2 [ P2^4 P2^5 P2^6 P2^7]
Tất nhiên 2 lệnh này khi chạy thì báo lỗi, nhưng đây thực sự mới là vấn đề cần giải quyết.
Mong các bậc cao thủ trong diễn đàn , ai biết xin chỉ zùm với ! Mạch phần cứng đã lắp rồi, không đổi một động cơ gắn sang port khác được ! hix hix
Comment