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
lập trình 8 led đơn và mô phỏng bằng ATmega16??
Collapse
X
-
Tags: None
-
Phần cứng kết nối thế nào rồi?
Lập trình bằng ngôn ngữ nào đây ?
Viết trên CodeVision hay AVRStudio ?
-
chương trình gồm 8 led đơn 2 con ở giữa sáng rồi chạy sáng dần về 2 bên, viết bằng ngôn ngữ assembly, và viết trên phần mềm fastAVR rồi mô phỏng mạch chạy trên proteus. bạn giúp mình nhé thứ 3 mình phải nộp báo cáo rồi, thanks
Comment
-
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
-
-
-
bạn ơi sao mình vào AVR đổi sang đuôi hex mà đổi mãi không thấy file HEx chổ nào nhỉ, bạn chỉ giùm mình với
Comment
-
Project => Configuration Options (Hoặc là biểu tưởng hình cái bánh răng nằm trên Bar AVRGCC PLUGIN)
Trong mục này bạn cấu hính cho Chip, Chọn tần số thạch anh, tạo File Hex. Sau đó nhấn OK để lưu cấu hình.
Nhấn F7 để biên dịch để tạo file Hex.
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
-
Comment
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi nhathung1101Còn sống không lão??? Mất một thời gian chữa bệnh nên quên hỏi thăm.......
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 03:09 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi nhathung1101Thời buổi năng lượng xanh, nhất là xanh cả mặt... Thì Điện mặt giời, điện gió, sẽ lên ngôi.
Nếu không nắm bắt được cái cơ bản đó thì đi làm coder à? Mà coder giờ thất nghiệp cả lũ vì AI rồi!!!









...
-
Channel: Điện tử công suất
hôm nay, 03:03 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
Hôm qua, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
Hôm qua, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
-
Trả lời cho Tìm VR 5 chânbởi bqvietTrang sản phẩm này có loại 5 chân và 8 chân
https://linhkienchatluong.vn/chiet-a...doi_s1595.aspx
Ngoài ra một trang cùng cấp với nó có loại 6 chân nữa, chắc đủ cho người muốn tìm....-
Channel: Hướng dẫn tìm thông tin linh kiện
17-10-2026, 17:19 -
-
bởi dinhthuong80Chào cả nhà, chúc cuối tuần vui vẻ!
Hôm nay mình lên đây nhờ ai biết chỉ dùm biến trở 5 chân này tên gọi là gì, có thể mua ở đâu vậy? Xin cám ơn nhiều! ...-
Channel: Hướng dẫn tìm thông tin linh kiện
-
Comment