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:
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 Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietCuối năm bàn thêm chuyện to hơn chút, đấy là 2 vụ rơi đám 737 đời mới và trục trặc ở cả tá chiếc khác. Ngay cả những thứ tưởng như cao siêu sang xịn thật thì vẫn có thể gặp trường hợp oái oăm như thường. Từ hồi đó bqv đã thấy khó hiểu làm sao lại đẻ ra đám MCAS quái thai đến thế được. Rồi...
-
Channel: Điện tử công suất
Hôm qua, 19:40 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietBqv phải vào ngay để tán đồng với bài viết trên của bạn. Chỉ bàn về kỹ thuật, thiết bị máy móc của hãng dù danh tiếng vẫn có thể xảy ra những chuyện ngoài dự kiến, thậm chí những chuyện tưởng như không bao giờ có thể xảy ra....
-
Channel: Điện tử công suất
Hôm qua, 19:31 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80(ĐT chia sẻ MPPT này, với mong muốn rằng, chúng ta hãy tự tin lên, hãy tự hào là người VN, đừng quá tin vào người khác, đừng quá thần tượng họ, cần kiểm tra thực chứng chứ không nên cứ cho các thiết bị thông minh, cao siêu là hoàn hảo)
-
Channel: Điện tử công suất
Hôm qua, 12:08 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Dưới đây là hình ảnh thực:
(bị phạm con tụ pi C17 (phía trên IC U3/DIP08: văng mất xác!)
(hàn vào vị trí C17 tụ pi 27nF ( giá trị phỏng đoán từ 10-100nF!), mạch vẫn chạy như trước khi cạy keo)...-
Channel: Điện tử công suất
Hôm qua, 12:05 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80ĐT đã mạnh dạn mail thử cho hãng SRNE, họ trả lời là nó dùng nhiệt điện trở ở bên trong mạch như sau:
"Our street light controller product triggers high temperature protection based on internal thermistor sampling''
Thấy hơi lo lắng vì kiến thức điện tử...-
Channel: Điện tử công suất
Hôm qua, 11:39 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi mèomướpDạ chú mua cái kẹp dòng ấy ạ. Chị hàng xóm nhà cháu có 1 cái thấy lâu lâu rùi chưa hỏng ạ. Ví dụ như mẫu này trên shoppee đầy ạ...
https://vn.shp.ee/dWYVgq7-
Channel: Điện tử dành cho người mới bắt đầu
21-01-2025, 12:48 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi vi van phamBác Đinh Vặn sai rồi,bây giờ con nít mẫu giáo đã giải phương trình 2 ẩn số rồi.
Tôi chứng minh bác lên youtube đầy video đơn giản tựa rất hot, chỉ 1 transistor hay 1 con diode và hướng dẩn cách làm, tác giả không vẽ sơ đồ mạch điện...-
Channel: Điện tử công suất
21-01-2025, 11:55 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nguyendinhvanBây giờ mới có tháng giêng, bao giờ mới đến tháng mười ?
Các cháu mẫu giáo mới lên lớp 1 được có 4 tháng. Nên đừng lấy lý do chúng nó đã đi học rồi để bắt nó viết một bài luận văn, hay là giải bài toán hàm. Phải kiên nhẫn...-
Channel: Điện tử công suất
21-01-2025, 00:47 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nguyendinhvanKhông có loại nào đủ một vạn chức năng đâu. Nó chỉ được 2345678 , hoặc khủng lắm thì được 10 chức năng.
-
Channel: Điện tử dành cho người mới bắt đầu
21-01-2025, 00:16 -
-
bởi since0501Cảm ơn bác đã chia sẻ!...
-
Channel: Điện tử dành cho người mới bắt đầu
19-01-2025, 19:00 -
Comment