mình có đề tài là:"Viết chương trình hai LED ở giữa sáng bung ra, mỗi trạng thái chỉ có 2 LED sáng, lặp lại". mình viết code mà không biết viết thế nào, các bạn giúp mình viết code và mô phỏng nó bằng con ATmega 16 nhé, cảm ơn các bạn nhiều
Thông báo
Collapse
No announcement yet.
lập trình 8 led đơn và mô phỏng bằng ATmega16??
Collapse
X
-
Hic !
Dùng ngôn ngữ "chữ in hoa" thì bó tay rồi.
Tiện đây viết cho bạn đoạn ngôn ngữ C để tham khảo.
Chương trình được viết trên AVRStudio, bạn dịch sang file Hex rồi nạp vào xem có đúng ý đồ không.
8 Led được nối vào PORTC:
Thế thôi!PHP Code:#include <avr/io.h>
#include <util/delay.h>
unsigned char font[4] = {0xE7,0xDB,0xBD,0x7E};
int main(void)
{
unsigned char i = 0;
DDRC = 0xFF;
PORTC = 0xFF;
while(1)
{
for(i=0;i<4;i++)
{
PORTC = font[i];
_delay_ms(500);
PORTC = 0xFF;
}
}
}
Comment
-
các bạn xem giùm cái code này có đúng không:
;============================================
; Ten chuong trinh: dk led
; Mo ta phan cung :
; - VDK: ATmega16
; - dk 8 led gan tai Port B
; - Led sang khi Port B = 1
; - Led tat khi Port B = 0
; Mo ta phan mem:
; - Ngon ngu : AVR Assembler
; - Trinh bien dich : ATmel AVR Assembler
; - Trinh mo phong :
; + AVR Studio 4.13 Sp2
; + Protues 7.4
;============================================
.include "m16def.inc"
main:
ldi r16,$ff ;DDRB la port xuat
out DDRB,r16
ldi r16,$00 ;tat tat ca cac led
out PORTB,r16
pre_loop:
ldi r31,0b00001000
ldi r30,0b00010000
loop:
ldi r29,$00
add r29,r31
add r29,r30
out PORTB,r29
rcall delay ;khong nen dung khi
;mo phong voi AVR Studio
cpi r29,$00 ;if (r29==0)
breq pre_loop ; pre_loop
lsr r31 ;r31>>1
lsl r30 ;r30<<1
rjmp loop
delay:
ldi r16,250
loop0:
ldi r17,250
loop1:
dec r17
cpi r17,$00
brne loop1
dec r16
cpi r16,$00
brne loop0
ret
Comment
-
bạn sửa thành thế này
Tần số thạch anh khi mô phỏng trong proteus đặt 1MHz thì nhìn rõ.
Nếu cần kéo dài thêm thời gian delay.
;===============================
.include "m16def.inc"
main:
ldi r16,$ff ;DDRB la port xuat
out DDRB,r16
ldi r16,$00 ;tat tat ca cac led
out PORTB,r16
pre_loop:
ldi r30,0b00001000 ;high
ldi r31,0b00010000 ;low
ldi r28,0
loop:
lsl r30
lsr r31
mov r29,r30
or r29,r31
cpi r29,$00 ;if (r29==0)
breq pre_loop ;pre_loop
out PORTB,r29
jmp delay
rjmp loop
delay:
ldi r16,250
loop0:
ldi r17,250
loop1:
dec r17
cpi r17,$00
brne loop1
dec r16
cpi r16,$00
brne loop0
jmp loop
retLast edited by hungnp; 03-11-2009, 07:03.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi mèomướpDạ cháu đọc 1 số bài viết của bác vi... thì nhớ đc bác là 1 cụ già gần 80 tuổi, sức khỏe yếu. Đam mê và làm vc về kỹ thuật điện. Thích thơ ca. Có nhìu bài chia sẻ quý báu cho thế hệ sau. Tuy nhiên già rồi nên khái tính, bảo thủ, nhưng vẫn đáng kính ạ... còn lão nhathung... thì kiểu bố đời
-
Channel: Tâm tình dân kỹ thuật
31-07-2026, 12:52 -
-
bởi lvhnHãng nào tùy thích thôi bác! bây giờ các hãng đều hỗ trợ xem qua máy tính hay điện thoại đều được. Gắn Trước tiên mua về cắm nguồn set ip hết xong hãy lắp lên, cam poe chỉ cần 4 lõi là hoạt động bình thường nên 1 dây kéo cho 2 cam vẫn ok
-
Channel: Tâm tình dân kỹ thuật
30-07-2026, 15:49 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnNhớ không nhầm thì lúc còn đi học có gặp chú 1 lần cf bãi xe Nguyễn Kim, giờ quán cf đó nghỉ bán rồi
-
Channel: Tâm tình dân kỹ thuật
30-07-2026, 15:44 -
-
Trả lời cho Thắc mắc pin 21v ?bởi lvhnCon số đấy biểu thị gần đúng thôi, cái đồng hồ đó có đảm bảo chính xác hay không? pin có cục lên 4v4 vẫn bình thường. Cái gì cũng có sai số trong phạm vi không quá lớn thì không ảnh hưởng gì đâu, bàn ngay ngón ngắn ngón dài mà
-
Channel: Điện tử dành cho người mới bắt đầu
30-07-2026, 15:32 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnThay mấy con transisto nhỏ đầu vào, thường vi sai lỗi hay bị. Khám tổng quát chân các linh kiện xem có bị rỉ sét nhiều không?
-
Channel: Điện thanh
30-07-2026, 15:24 -
-
bởi dinhthuong92Mạch này hiệu suất ra led đạt khoảng 90.7% tại 12V in, 40W out.
-
Channel: Nguồn!
27-07-2026, 10:15 -
-
bởi dinhthuong92Có lẽ nguồn viết bài này chỉ mang tính định tính để nói rằng cần thay đổi tổng trở tải để có Pmax chứ trình bày chưa chi tiết và thấu đáo một cách định lượng. Công thức tổng quát phải có mặt L mới được, và nói là "tổng...
-
Channel: Nguồn!
27-07-2026, 10:09 -
-
Trả lời cho [Chia sẻ] Tổng hợp các công ty AI Việt Nam đang làm gì thật sự — Từ voicebot, computer vision đến AI agentsbởi nguyendinhvanCàng ngày, CNTT càng trở nên lôi thôi , rách việc.
Cái AI và Ge... trên trình duyệt chỉ tổ làm vướng mắt, mất thì gian.
Tôi toàm phải mất cộng tắt nó đi.-
Channel: Xu hướng, nhu cầu và thị trường
25-07-2026, 14:59 -
-
bởi trung30000Em có con amply 12 sò D 718 và e688 , biến áp 15A, 30v 0 30 v, một kênh thì hoạt động bình thường, kênh còn lại nổ bụp bụp, sột sột, đèn tín hiệu nhảy lên vạch max, khoảng 4 đến 5 giây, sau đó đèn tín hiệu trả về mức không, Em thấy như...
-
Channel: Điện thanh
24-07-2026, 13:50 -
-
Trả lời cho Tìm hiểu máy hàn lăn (Rolling Welding)bởi hoang_3ibác cần thì liên hệ Em: mayhanhaivuong.com (0903238399)...
-
Channel: Điện tử công nghiệp
24-07-2026, 10:58 -

Comment