Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Vòng lặp for có cú pháp: for(<KhoiTao>;<DieuKienLap>;[BienDieuKhien]){ [Các lệnh]}
Trong đó:
_ KhoiTao là vị trí bạn có thể khai báo 1 biến và khởi tạo cho biến đó, hoặc khởi tạo cho biến đã được khai báo sẵn.
_ DieuKienLap: là biểu thức có kết quả là True hoặc False
_ BienDieuKhien: Vị trí này dùng để thay đổi biến điều khiển nhằm mục đích kết thúc vòng lặp.
Hoạt động:
1_ Khai báo biến Dem kiểu số nguyên và khởi tạo giá trị = 0.
2_ Kiểm tra, nếu Dem<10 thì thực hiện tạo xung 2s trên P1_1.
3_ Tăng giá trị Dem lên 1
4_Lặp lại bước 2
Bạn thử viết nhé.
Một bông hồng cho những ai đang còn mẹ,
Đang còn mẹ để lòng vui sướng hơn ..
Anh có thể nói rỏ thêm 1 chút được không, chẳng hạn muốn dùng 2 hay nhiều lệnh for cho 89c51 để điều khiển 8 led . yêu cầu là nó cùng nhấp nháy và chạy đuổi nhau .Mới làm quen vói Keil.C nên có nhiều điều hỏi mong các bạn chỉ giáo.
Thừờng thì chỉ có nhấp nháy rồi tiếp theo là chạy đuổi thôi, giả sử là 8led nhấp nháy trong vòng 2s chẳng hạn rồi sau đó thì bắt đầu chạy đuổi 2 lần.
VD:
unsigned char i,j;LED
LED=128;
//nhay 5 lan tren 1s
for(i=0;i<10;i++)
{
P1=256;
delay_ms(200);
P1=0;
}
//chay duoi
for(j=1;j<16;j++)
{
P1=~LED;
LED=LED>>1;//dich phải 1 bit
if(LED==0) LED=128;
delay_ms(1000);
}
Thừờng thì chỉ có nhấp nháy rồi tiếp theo là chạy đuổi thôi, giả sử là 8led nhấp nháy trong vòng 2s chẳng hạn rồi sau đó thì bắt đầu chạy đuổi 2 lần.
VD:
unsigned char i,j;LED
LED=128;
//nhay 5 lan tren 1s
for(i=0;i<10;i++)
{
P1=256;
delay_ms(200);
P1=0;
}
//chay duoi
for(j=1;j<16;j++)
{
P1=~LED;
LED=LED>>1;//dich phải 1 bit
if(LED==0) LED=128;
delay_ms(1000);
}
Chào bạn , có thể giúp mình về chương trình keil.C cho chương trình điều khiển led không.Mình dùng 2 port của vdk 8051 là port1 và port2 để nối với 8led( 16 chân=16 led),trong đó port1 điều khiển led chạy đuổi nhau hoặc kiểu khác, còn port2 thi các led điều sáng và đứng yên. Mong các bạn giup
Anh có thể nói rỏ thêm 1 chút được không, chẳng hạn muốn dùng 2 hay nhiều lệnh for cho 89c51 để điều khiển 8 led . yêu cầu là nó cùng nhấp nháy và chạy đuổi nhau .Mới làm quen vói Keil.C nên có nhiều điều hỏi mong các bạn chỉ giáo.
Bạn đang hỏi cách dùng vòng lặp For, bây giờ lại quay qua hỏi lập trình điều khiển LED. Có lẽ bạn đã suy nghĩ cách làm và theo cách dùng For có lẽ hơi khó thực hiện bài toán.
Để giải quyết bài toán bạn nên tìm hiểu về Ngắt Timer. Lập trình kiểu đa nhiệm, lúc đó bạn có thể làm cho mỗi port chạy một kiểu khác nhau và chúng đồng thời biểu diễn kiểu chớp của riêng mình.
Chúc bạn thành công!
Một bông hồng cho những ai đang còn mẹ,
Đang còn mẹ để lòng vui sướng hơn ..
Mạch trên nếu dùng vào việc khác ( theo người thiết kế ra nó) thì cũng được: làm mạch tiền khuếch đại (pre-Amply) cho "con sò công suất" hay mạch công suất, để chạy cái loa cũng tạm ok.
Dạ mạch này hông dùng được ạ. Chú sang chị hàng xóm mượn cái cuốc kiếm góc nào trong bản có nhìu người qua lại để trồng 1 cây cải ngồng, ngày ngày chú chịu khó qua đấy tưới chăm cho nó lớn ạ, vài tháng sau nó to chú mang ra chợ bán...
Vì sản phẩm của họ dân mình có dùng, và có lẽ cũng không phải là không phổ biến, nên ĐT quyết định gởi thư điện tử tiếng Anh cho họ như sau, ( đã sửa vài từ như được góp ý, vì nếu lịch sự thì dù vòng vo cũng nên phản hồi, vì...
Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
Comment