Thông báo

Collapse
No announcement yet.

Help! Code lập trình sáng tắt dần cho led đơn (led sao băng)

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Help! Code lập trình sáng tắt dần cho led đơn (led sao băng)

    Câu hỏi 1:
    Bạn nào có thể giúp mình 1 đoạn code dùng để điều khiển led đơn sẽ sáng dần và tắt dần.
    Khi viết thì gọi bao nhiêu hàm delay vậy?
    Cảm ơn nhé/



    Câu hỏi 2:
    Đoạn code này mình tìm thấy trong diễn đàn tạo delay, nhưng mình chưa hiểu lắm...
    Delay viết bằng assembly với thạch anh là 24Mhz:
    Đây là code delay chuẩn theo ms và tối đa là 255ms
    Code:
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ;#######################################################################################
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    delay_ms:	
    	push	7
    	push	6
    	push	5
    	mov	r5,num_ms
    	mov 	r6,#4
    	mov 	r7,#249
    	djnz 	r7,$		;2*249=498
           	djnz 	r6,$-4		;(489+2)*4=2000	;
    	djnz	r5,$-8		;(2000+2)*num_ms= clk_delay
    	pop	5		;T_dl= clk_delay*chu_ki_may=clk_delay*1/(24000000/12)
    	pop	6		;	=clk_delay*1/2000000 ~= num_ms/1000 (s)
    	pop	7		;				=num_ms (ms)	
            ret
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ;#######################################################################################
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Còn đây là code chuẩn delay s và tối đa delay là 255s
    Code:
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ;#######################################################################################
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    delay_s:	
    	push	7
    	push	6
    	push	5
    	push	4
    	mov	r4,num_s
    	mov	r5,#20
    	mov 	r6,#200
    	mov 	r7,#249
    	djnz 	r7,$		;2*249=498
           	djnz 	r6,$-4		;(498+2)*200=100000	
    	djnz	r5,$-8		;(100000+2)*20=2000000 
    	djnz	r4,$-12		;2000000*num_s = clk_delay
    	pop	4		;
    	pop	5		;T_dl= clk_delay*chu_ki_may=clk_delay*1/(24000000/12)
    	pop	6		;	=clk_delay*1/2000000 ~= num_s(s)
    	pop	7		;				
            ret
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ;#######################################################################################
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    Chú ý: num_ms và num_s là biến
    ví dụ delay:
    delay 10s và 50ms:
    Code:
    num_ms	equ	30h
    num_s	equ	31h
    mov	num_ms,#50
    mov	num_s,#10
    call	delay_ms
    call	delay_s
    BẠN NÀO GIÚP MÌNH TÍ NHÉ, CẢM ƠN NHIỀU

    ĐOẠN CODE NÀY MÌNH TEST THỬ MÀ KHÔNG CHẠY ĐC, BẠN NÀO EDIT GIÚP MÌNH NHÉ
    Code:
    ORG 0000H
    MAIN:
    CALL CT1
    
    JMP MAIN
    CT1:
    SETB P0.0
    CALL delay_s
    CLR P0.0
    
    delay_s:	
    	push	7
    	push	6
    	push	5
    	push	4
    	mov	r4,num_s
    	mov	r5,#20
    	mov 	r6,#200
    	mov 	r7,#249
    	djnz 	r7,$		;2*249=498
           	djnz 	r6,$-4		;(498+2)*200=100000	
    	djnz	r5,$-8		;(100000+2)*20=2000000 
    	djnz	r4,$-12		;2000000*num_s = clk_delay
    	pop	4		;
    	pop	5		;T_dl= clk_delay*chu_ki_may=clk_delay*1/(24000000/12)
    	pop	6		;	=clk_delay*1/2000000 ~= num_s(s)
    	pop	
    RET
    END
    còn cái đoạn
    num_ms equ 30h
    num_s equ 31h
    mov num_ms,#50
    mov num_s,#10
    call delay_ms
    call delay_s
    THÌ THÊM VÀO ĐÂU? HELP

Về tác giả

Collapse

namkoi312 Tìm hiểu thêm về namkoi312

Bài viết mới nhất

Collapse

  • Andrea14
    Vấn đề về tốc độ quay
    bởi Andrea14
    Chào mọi người,

    Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
    Hôm qua, 12:42
  • bqviet
    Trả lời cho Đấu tắt điện cho máy tính bảng
    bởi bqviet
    Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
    06-12-2025, 17:17
  • nguyendinhvan
    Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
    bởi nguyendinhvan
    Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
    05-12-2025, 19:59
  • afrendly
    Trả lời cho Đấu tắt điện cho máy tính bảng
    bởi afrendly
    Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
    04-12-2025, 01:27
Đang tải...
X