Thông báo
Collapse
No announcement yet.
[Help] 16 led đơn + 4 nút nhấn => 4 chương trình chạy led ATMEGA32
Collapse
X
-
Em dùng codevision bác ơi . Em lấy ví dụ như thế này nha
Bấm nút 1 thì led dịch từ trái sang phải . Delay 100 ms chẳng hạn
Bấm nút 2 thì led dịch từ phải sang trái .
Bấm nút 3 thì led nhấp nháy
Bấm nút 4 thì led sáng so le
Em chỉ bí cái phần ngắt ngoài cho nút bấm thôi . Làm đến 4 nút . Còn chương trình cho led thì em có thể viết đc .
Comment
-
Cái này không cần tới ngắt ngoài đâu bạn
như vầy nha: số chân mà nối với led thì khai báo trong CV là PORT...=0xFF; PIN...=0xFF;// khai báo như vầy có nghĩa là bạn hứơng ra.
số chân mà nối với nút nhấn thì khai báo là PORT...=0xFF; PIN...=0x00;//khai báo như vầy là hứơg vào.
Bạn thấy 2 dòng khác đúng chỗ PIN cái này là khai báo chân I/O của avr nha bạn. Cái này không khó nhưng nếu không cận là nhầm đó.
Chào bạn
PS:Mình viết = đt bạn chịu khó đọc nha.
Comment
-
Nguyên văn bởi bbbooo Xem bài viếtEm dùng codevision bác ơi . Em lấy ví dụ như thế này nha
Bấm nút 1 thì led dịch từ trái sang phải . Delay 100 ms chẳng hạn
Bấm nút 2 thì led dịch từ phải sang trái .
Bấm nút 3 thì led nhấp nháy
Bấm nút 4 thì led sáng so le
Em chỉ bí cái phần ngắt ngoài cho nút bấm thôi . Làm đến 4 nút . Còn chương trình cho led thì em có thể viết đc .
Sử dụng một biến x để lưu trạng thái nút bâm. vd khi bấm nút 1 thì gán x=1, nút 2 thì x=2... , nut 4 thì x=4, sau đó kiểm tra điều kiện nếu x==1 thì cho chạy chương trình nhấp nháy, nếu x==2 thì sáng dồn trái, x==3 dồn phải... Vậy là có thể điều khiển được 4 chương trình với 4 nút bấm.
Comment
-
Nguyên văn bởi caonhan_2004 Xem bài viếtThử làm thế này xem bạn:
Sử dụng một biến x để lưu trạng thái nút bâm. vd khi bấm nút 1 thì gán x=1, nút 2 thì x=2... , nut 4 thì x=4, sau đó kiểm tra điều kiện nếu x==1 thì cho chạy chương trình nhấp nháy, nếu x==2 thì sáng dồn trái, x==3 dồn phải... Vậy là có thể điều khiển được 4 chương trình với 4 nút bấm.
Comment
-
Nguyên văn bởi bbbooo Xem bài viếtdạ để em thử xem sao ạ . Mà bác để ý là cái nút bấm 1 ngõ chung là INT0 là ngắt ngoài và 1 đầu là nối a b c d tương ứng với PORTB.0 PORTB.1 PORTB.2 ... em đang muốn viết 1 chương trình như vậy . Mà suy nghĩ hoài cũng không ra . Mong bác giúp đỡ .) ...
Comment
-
Phải trái >> trái phải 1s zzz
Code:#ifndef F_CPU #define F_CPU 12000000UL // 12 MHz #endif #include <avr/io.h> #include "interrupt.h" unsigned int val=1; unsigned char x=0; void phai_trai() { PORTA = val; PORTB = val >> 8; val =val/2; if (val == 0) val=0x8000; } void trai_phai() { PORTA = val; PORTB = val >> 8; val*=2; if (!val) val=1; } int main(void){ DDRA=0xFF; PORTA=0x00; DDRB=0xFF; PORTB=0x00; PORTC=0xFF; DDRC=0x00; PORTD=0xFF; DDRD=0x00; MCUCR |=(1<<ISC01); GICR |=(1<<INT0); //---------------------------------- TCCR1B = (1<<CS12); TIMSK |= (1<<TOIE1); TCNT1 = 0x85ED; sei(); while(1){ } return 0; } ISR (INT0_vect){ if(!(PINC &(1<<0))){ x=1;val=1;} if(!(PINC &(1<<1))){ x=2;val=0x8000;} } ISR (TIMER1_OVF_vect){ TCNT1 = 0x85ED; if(x==1){phai_trai();} if(x==2){trai_phai();} }
Attached Files
Comment
-
Nguyên văn bởi dorothy Xem bài viếtPhải trái >> trái phải 1s zzz
Code:#ifndef F_CPU #define F_CPU 12000000UL // 12 MHz #endif #include <avr/io.h> #include "interrupt.h" unsigned int val=1; unsigned char x=0; void phai_trai() { PORTA = val; PORTB = val >> 8; val =val/2; if (val == 0) val=0x8000; } void trai_phai() { PORTA = val; PORTB = val >> 8; val*=2; if (!val) val=1; } int main(void){ DDRA=0xFF; PORTA=0x00; DDRB=0xFF; PORTB=0x00; PORTC=0xFF; DDRC=0x00; PORTD=0xFF; DDRD=0x00; MCUCR |=(1<<ISC01); GICR |=(1<<INT0); //---------------------------------- TCCR1B = (1<<CS12); TIMSK |= (1<<TOIE1); TCNT1 = 0x85ED; sei(); while(1){ } return 0; } ISR (INT0_vect){ if(!(PINC &(1<<0))){ x=1;val=1;} if(!(PINC &(1<<1))){ x=2;val=0x8000;} } ISR (TIMER1_OVF_vect){ TCNT1 = 0x85ED; if(x==1){phai_trai();} if(x==2){trai_phai();} }
Em cảm ơn bác đã giúp đỡ . Nhưng cho em hỏi ngu tý , hình như ko phải codevision phải không bác ? Có gì bác gửi cho em cái file proteus với . Em đọc mãi code của bác mà không biết nên để nút ấn ở đâu . Cảm ơn bác rất nhiều ạ !
Comment
-
Nguyên văn bởi bbbooo Xem bài viếtEm cảm ơn bác đã giúp đỡ . Nhưng cho em hỏi ngu tý , hình như ko phải codevision phải không bác ? Có gì bác gửi cho em cái file proteus với . Em đọc mãi code của bác mà không biết nên để nút ấn ở đâu . Cảm ơn bác rất nhiều ạ !
Comment
Bài viết mới nhất
Collapse
-
bởi sonnenDịch vụ son nen nha xuong gia re thi công sơn Epoxy tại TPHCM thi cong son epoxy gia re
- Thi công sơn sàn ở nhà kho nhà xưởng các KCN chạy dài từ Nam ra Bắc son nen nha xuong
- Thi công công trình mới hay bảo dưỡng sửa chữa giải đáp các vấn đề nan giải của nhiều khách
-
Channel: Quảng cáo
hôm nay, 16:28 -
Trả lời cho tìm mua đồng hồ vạn năngbởi matnetgia99Ồ, cái này mình cũng có nè, có ai mua không, đồ cũ dùng từ năm 2008, hư 1 2 giai gì đấy bỏ xó hơn năm nay...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:40 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80À, sản phẩm họ thiết kế ra, họ yêu cầu mình chứng minh là sau chỉnh sửa thì 1 là gỡ jump cắm lại không hư mạch, 2 là gỡ jump thì 220Vdc vẫn dùng được led áp thấp 20V mà không hư led như mình báo, nên họ hiểu rõ mà....
-
Channel: Điện tử công suất
Hôm qua, 06:08 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Tôi biết và tôi biết.
Sẽ bắt đầu với cái Sồn La, rồi mấy mạch nguồn vớ vỉn.... Rồi sẽ đèn led...
Cuộc đời là những chuyến xe, nên sẽ có:
Xe đạp điện, xe máy điện, xe ô tô điện, xe cấp cứu điện, xe tang điện.
Rồi xem.-
Channel: Điện tử công suất
Hôm qua, 01:38 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vấn đề là thu ánh sáng rồi phát ra ánh sáng cơ. Hồi mẫu giáo cô bảo đừng làm, lão không nhớ à?
Tốt nhất im mồm....-
Channel: Điện tử công suất
Hôm qua, 01:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietBài học kiểu trực tuyến dù là loại đơn giản bậc nhất cũng vẫn cần chú tâm. Chỉ bật tai nghe lên thì không có loại nào thấm nổi đâu. Cách hay hơn, dễ hơn là kiếm phim tiếng Anh nào đó xem, ban đầu bật phụ đề tiếng Việt, nghe và...
-
Channel: Tâm tình dân kỹ thuật
14-02-2025, 16:15 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanỞ đtvn này mới biết đến 2 loại mạch
1 step down
2 step up
Bây giờ anh lưu vong làm thuê bên nước lạ còn làm ra cái mach vừa up vùa dow luôn.
Tính chất là:
1 Đầu vào bằn ra cho nối thẳng
2 Đầu vào cao hơn...-
Channel: Điện tử công suất
14-02-2025, 00:51 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanHa ha !
Thay đổi cách nghĩ thì sẽ nghĩ ra.
.
.
.
Một thứ cần kiểm soát dòng + nhiệt + công suất tiêu tán. Nhưng lại dùng tư duy ổn áp. Làm sao mà giải quyết được.
Nó là mạch ổn dòng.
Vì thế các anh nước lạ không thèm quan tâm là phải....-
Channel: Điện tử công suất
14-02-2025, 00:42 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Vì cứ phải chỉnh sửa cho mỗi dải điện áp, quên chỉnh thì hư chíp phải bảo hành nên em thấy bất tiện, mới cần cái mạch 1 dải áp cao dùng cho tất cả loại đèn đó bác!...
-
Channel: Điện tử công suất
13-02-2025, 17:02 -
-
Trả lời cho Tiếng Anh cho người Việtbởi hankhungdtMình thỉnh thoảng cũng làm việc với người nước ngoài nói tiếng Anh thì toàn ghép nhặt từ, cộng với quơ tay quơ chân để diễn tả, hix. Nỗi khổ là không biết cách để mô tả sự việc. Tôi muốn tìm các bài giảng tiếng anh nào phù hợp...
-
Channel: Tâm tình dân kỹ thuật
13-02-2025, 08:43 -
Comment