Xin code mẫu cho 8 led

Phạm Minh

Thành Viên PIF
Có ai cho mình xin code led port 1 đi, quét từ trái qua phải dùng hàm while. Cảm ơn trước.
 

Phạm Minh

Thành Viên PIF
Cho mình hỏi là code mình có lỗi gì mà chỉ chạy đk hai hàm for rồi đứng, còn hàm for cuối không chạy, heo me !:-s





#include <msp430.h>
unsigned int i;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1SEL = 0;
P1SEL2=0;
P1DIR|= 0XFF;
P1OUT = 0XFF;
while(1)
{
for(i=0;i<=7;i++)
{
P1OUT= P1OUT<<1;
_delay_cycles(100000);
}
for(;;)
{
P1OUT = 0XFF;}
for(i=7;i<=7;i--)
{
P1OUT =P1OUT>>1;
_delay_cycles(100000);
}


}


}
 

Phạm Minh

Thành Viên PIF
à sẵn tiện hỏi luôn là làm sao để đèn sáng dần tắt dần, trong lúc rảnh rỗi suy nghĩ lung tung thêm, hy vọng có mem nào chỉ giáo :D:D:1cool_byebye:
 

Tuất

Thành Viên PIF
1.Bạn đặt hàm for(;;) vào hình như dư rồi. Bạn cũng nên hiểu là dòng lệnh for(i=0;i<=7;i++) ở đây tức là làm đoạn code của bạn lặp 7 lần ((vì mình không sử dụng biến i để tính toán hay làm gì khác) nên for(i=0;i<=7;i++) và for(i=7;i>=0;i--) là tương đương nhau.
2.Vòng lặp for(i=7;i<=7;i--) chạy hoài luôn đó bạn. Ý bạn là vậy for(i=7;i>=0;i--) phải không ? (bonus nên đọc lại #1 ) Chúc bạn thành công :1cool_byebye:
p/s: làm sáng tắt dần bạn đọc qua bài PWM trước nhé :6cool_boss:
 

Phạm Minh

Thành Viên PIF
Cho mình hỏi tiếp cách viết code mà nhấn nút một lần thì led nhảy một kiểu, nhấn lần nữa led nhảy kiểu khác , xin thỉnh giáo :1cool_byebye::1cool_byebye::D:4cool_beauty:
 

dnducphuong

Trứng gà
Thử vòng lặp do while với đk của while là nút được nhấn. Thêm 1 cái delay trong khúc lệnh sau khi nút được nhấn.
Như vậy thì lệnh trong vòng lặp do while sẽ thực hiên vô tận đến khi nút được nhấn thì thoát ra (để chạy kiểu tiếp theo). Delay để hạn chế việc đọc tiếp nút và vô tình tua qua luôn các kiểu tiếp theo, nếu các kiểu tiếp theo có thời gian chạy trong 1 lần lớn thì không cần phải có lệnh delay này :v
Chỉ là ý tưởng thôi nhé, chưa thử :3 Có gì không đúng mong được góp ý :v
 
Top