RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

[TUT] Lý thuyết về code LED sao băng bằng ASM và KeilC cho 8051

Collapse
This is a sticky topic.
X
X
 
  • Giờ
  • Show
Clear All
new posts

  • known
    replied
    Cho em chen ngang chút em mua mạch nạp bên taiwan mà khi chạy cái phần mềm nó toàn tiếng trung ko ak. bác nào bik down nó ở đâu chỉ em cái tìm mãi ko ra nguồn của nó

    Leave a comment:


  • ThanhHai000
    replied
    Huy up file hex của clip https://www.youtube.com/watch?v=kcfND5vNjRA đi . Nhìn đẹp lắm mà tìm sao băng hoài hk đc

    Leave a comment:


  • kid_love1402
    replied
    Chào huy,mình đang vướng về 1 hiệu ứng led ,mình định dùng sao băng nhưng thấy hơi phức tạp.Cậu tư vấn giúp mình nhé:
    Toàn cảnh vấn đề của mình là :
    Có 13 trạm bơm nước.
    Y/c:
    Phần 1:
    - Bước 1: Ấn nút điều khiển trạm 1. Đèn báo trạm 1 sáng đồng thời đèn báo dòng chảy từ trạm 1 đến trạm 2 nhấp nháy.
    - Bước 2:Nhấn nút điều khiển trạm 2:đèn báo trạm 1 tắt, đèn báo trạm 2 sáng đồng thời đèn báo dòng chảy từ trạm 2 đến trạm 3 nhấp nháy
    Thực hiện tương tự với các trạm khác hết 13 trạm
    • Tổng hợp: Ấn nút nhà máy nước tất cả đèn trạm và dòng chảy đều sáng nhấp nháy.
    Phần 2:
    Nhấn nút nước thải từ hộ sinh hoạt đến các trạm: 438 bóng led đều sáng nhấp nháy
    Nhấn nút thoát nước mưa 347 bóng led đều sáng nhấp nháy.
    Phần 3:
    Mạch hồ nước: Nhấn nút đèn hồ 1 sáng trong 5s sau đó tắt,đèn hồ 2 sáng...... đến hồ 7.
    *****Chú ý:
    - 2 đèn báo nước vào và nước ra nhấp nháy khi hệ thống hoạt động
    - Đèn led dưới hồ dùng led dây 12v (khoảng 2-3 mét)
    - Đèn led viền quanh hồ dùng led 5mm - 3,3v (khoảng 100 bóng)
    - Led biểu diễn dòng chảy của nước giữa các trạm dung led dây đúc sẵn 5mm-5v mỗi dây 50 bóng.Dự kiễn tạo hiệu ứng chảy bằng cách đấu sole 2 dây,mỗi dây 3 bóng nối tiếp liền nhau.
    Dây 1

    Dây 2

    Leave a comment:


  • Quách Tài
    replied
    nếu bạn nào gửi cho bạn thì gửi cho mình với nhé, mình cũng muốn làm, cảm ơn bạn nhiều nhé

    Leave a comment:


  • tienhuypro
    replied
    Nguyên văn bởi buocsong Xem bài viết
    viết bằng C thì tính chu kì máy của các lệnh như thế nào vậy mấy bác?
    Mở keilC lên --> project --> asm để xem code asm
    Muốn tính chu kỳ máy thì phải mở tập lệnh asm ra xem rồi đối chiếu để biết.

    Leave a comment:


  • lazer1000
    replied
    dùng thạch anh 32000 và chia làm 32 mức thì tính toán ntn ạ?

    Leave a comment:


  • buocsong
    replied
    viết bằng C thì tính chu kì máy của các lệnh như thế nào vậy mấy bác?

    Leave a comment:


  • mediavns
    replied
    Xem nhiều cũng vỡ ra 1 tí ... thanks

    Leave a comment:


  • lep140389
    replied
    Nguyên văn bởi luonghoanquy Xem bài viết
    chắn wúa mãi mà ko có bằng ngôn ngữ assemnly c thì mình ko hoc tới
    Cho bọn mình xin file bằng ngôn ngữ asm đi thank bn nhiều lắm đó
    Nè bạn hồi trc mình có làm led sao băng nhưng chỉ đc 15 mức sáng thôi ko đc 100%, bạn tham khảo.
    ;Dung cho 89x2xx
    ; ***********************
    ;--------------------Hoang_KH----------------------
    ;
    ; ***********************

    tocdo equ 50h
    biendem_pwm equ 52h
    so_bit equ 53h
    so_hang equ 54h
    vonglap1 equ 55h
    vonglap2 equ 56h

    org 00h
    jmp main
    org 001bh ; ngat T1
    call ngat1
    reti
    org 0057h
    main:
    mov tmod,#00100000b
    setb ie.7 ;cho phep toan cuc
    setb ie.3 ; cho phep ngat t1
    setb ie.1
    mov th1,#-2 ;
    mov tl1,#-2
    mov biendem_pwm,#51
    mov p0,#00h
    mov p1,#00h
    mov p2,#00h
    mov p3,#00h

    hoang:
    mov so_bit,#15 ;so bit dieu khien
    call chuongtrinh
    jmp hoang
    ;-----------------------------
    ngat1:
    push acc
    push 03h
    dec biendem_pwm
    mov a,biendem_pwm
    call out_port
    cjne a,#1,exit_ngat1
    mov biendem_pwm,#51
    mov p1,#00
    mov p3,#00
    mov p2,#00
    mov p0,#00
    exit_ngat1:
    pop 03h
    pop acc
    ret
    ;------------------------------
    out_port:
    cjne a,30h,tiep0
    setb p1.7
    tiep0: cjne a,31h,tiep1
    setb p1.6
    tiep1: cjne a,32h,tiep2
    setb p1.5
    tiep2: cjne a,33h,tiep3
    setb p1.4
    tiep3: cjne a,34h,tiep4
    setb p1.3
    tiep4: cjne a,35h,tiep5
    setb p1.2
    tiep5: cjne a,36h,tiep6
    setb p1.1
    tiep6: cjne a,37h,tiep7
    setb p1.0
    tiep7: cjne a,38h,tiep8
    setb p3.7
    tiep8: cjne a,39h,tiep9
    setb p3.5
    tiep9: cjne a,3ah,tiep10
    setb p3.4
    tiep10: cjne a,3bh,tiep11
    setb p3.3
    tiep11: cjne a,3ch,tiep12
    setb p3.2
    tiep12: cjne a,3dh,tiep13
    setb p3.1
    tiep13: cjne a,3eh,tiep14
    setb p3.0
    tiep14:
    ret
    ;----------------------------------
    ma_led:
    push 01h
    push 03h
    mov r1,#30h
    mov r3,so_bit
    lay_dr: call dorong_xung
    djnz r3,tiep_lay_dorong
    jmp exit_lay_dorong
    tiep_lay_dorong :
    inc dptr
    inc r1
    jmp lay_dr
    exit_lay_dorong:
    pop 03h
    pop 01h
    ret
    ;-----------------------------------
    dorong_xung:
    push acc
    push 01h
    push 03h
    mov a,r0
    movc a,@a+dptr
    mov r3,a
    push dph
    push dpl
    mov dptr,#ma_dorong
    movc a,@a+dptr
    add a,r3
    mov @r1,a
    pop dpl
    pop dph
    pop 03h
    pop 01h
    pop acc
    ret
    ;-------------------------------------
    delay:
    push acc
    push 06h
    push 07h
    push dph
    push dpl
    mov dptr,#ma_thoigian
    mov a,tocdo
    movc a,@a+dptr
    mov r6,a
    d0: mov r7,#50
    djnz r7,$
    djnz r6,d0
    pop dpl
    pop dph
    pop 07h
    pop 06h
    pop acc
    ret
    ;--------------------------------------
    ma_thoigian:
    db 46,43,40,37,34,31,28,25,22,19,16,13,10,7,04,01
    ma_dorong:
    db 00,00,01,02,03,04,05,06,08,10,13,16,20,24,29,35
    ;------------------------------
    play:
    mov r0,#00h
    mov r4,so_hang
    hd: call ma_led
    setb tr1
    call delay
    clr tr1
    inc r0
    djnz r4,hd
    clr a
    ret


    ;$$$$$$$$$$$$$$$$$$= chuong trinh chinh =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    chuongtrinh:
    mov tocdo,#13 ;(low 0, fast 15)

    mov dptr,#ma1
    mov so_hang,#31
    call play

    mov tocdo,#15
    mov dptr,#ma2
    mov so_hang,#15
    call play
    ret
    ;-------------------------------------------
    ma1:
    db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
    db 15,00,00,00,00,00,00,00,00,00,00,00,00,00,00
    db 14,15,00,00,00,00,00,00,00,00,00,00,00,00,00
    db 13,14,15,00,00,00,00,00,00,00,00,00,00,00,00
    db 12,13,14,15,00,00,00,00,00,00,00,00,00,00,00
    db 11,12,13,14,15,00,00,00,00,00,00,00,00,00,00
    db 10,11,12,13,14,15,00,00,00,00,00,00,00,00,00
    db 09,10,11,12,13,14,15,00,00,00,00,00,00,00,00
    db 08,09,10,11,12,13,14,15,00,00,00,00,00,00,00
    db 07,08,09,10,11,12,13,14,15,00,00,00,00,00,00
    db 06,07,08,09,10,11,12,13,14,15,00,00,00,00,00
    db 05,06,07,08,09,10,11,12,13,14,15,00,00,00,00
    db 04,05,06,07,08,09,10,11,12,13,14,15,00,00,00
    db 03,04,05,06,07,08,09,10,11,12,13,14,15,00,00
    db 02,03,04,05,06,07,08,09,10,11,12,13,14,15,00
    db 01,02,03,04,05,06,07,08,09,10,11,12,13,14,15
    db 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14
    db 00,00,01,02,03,04,05,06,07,08,09,10,11,12,13
    db 00,00,00,01,02,03,04,05,06,07,08,09,10,11,12
    db 00,00,00,00,01,02,03,04,05,06,07,08,09,10,11
    db 00,00,00,00,00,01,02,03,04,05,06,07,08,09,10
    db 00,00,00,00,00,00,01,02,03,04,05,06,07,08,09
    db 00,00,00,00,00,00,00,01,02,03,04,05,06,07,08
    db 00,00,00,00,00,00,00,00,01,02,03,04,05,06,07
    db 00,00,00,00,00,00,00,00,00,01,02,03,04,05,06
    db 00,00,00,00,00,00,00,00,00,00,01,02,03,04,05
    db 00,00,00,00,00,00,00,00,00,00,00,01,02,03,04
    db 00,00,00,00,00,00,00,00,00,00,00,00,01,02,03
    db 00,00,00,00,00,00,00,00,00,00,00,00,00,01,02
    db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,01
    db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
    ma2:
    db 00,00,00,00,00,00,00,00,00,00,00,00,00,00,15
    db 00,00,00,00,00,00,00,00,00,00,00,00,00,15,00
    db 00,00,00,00,00,00,00,00,00,00,00,00,15,00,00
    db 00,00,00,00,00,00,00,00,00,00,00,15,00,00,00
    db 00,00,00,00,00,00,00,00,00,00,15,00,00,00,00
    db 00,00,00,00,00,00,00,00,00,15,00,00,00,00,00
    db 00,00,00,00,00,00,00,00,15,00,00,00,00,00,00
    db 00,00,00,00,00,00,00,15,00,00,00,00,00,00,00
    db 00,00,00,00,00,00,15,00,00,00,00,00,00,00,00
    db 00,00,00,00,00,15,00,00,00,00,00,00,00,00,00
    db 00,00,00,00,15,00,00,00,00,00,00,00,00,00,00
    db 00,00,00,15,00,00,00,00,00,00,00,00,00,00,00
    db 00,00,15,00,00,00,00,00,00,00,00,00,00,00,00
    db 00,15,00,00,00,00,00,00,00,00,00,00,00,00,00
    db 15,00,00,00,00,00,00,00,00,00,00,00,00,00,00
    end

    Leave a comment:


  • aspire12345
    replied
    Cảm ơn bạn minhtrung.nhưng ở đây mình cần led cube 3x3x3 dùng vdk chứ ko phải dùng ic555+4017.bạn lào có sơ đồ và code dùng vdk thì cho mình sin.

    Leave a comment:


  • aspire12345
    replied
    chào mọi các bác.có bác nào đã làm led cube 3x3x3 dùng vdk chưa,nếu có thì cho em xin code và sơ đồ mạch điện vơi.em kiếm hoài trên internet mà ko có.thanks

    Leave a comment:


  • vietluan93
    replied
    mấy bác đọc nhiều hiểu nhanh mấy bác tóm tắt giùm em cái thuật toán sao băng 32 con đi. Vd như làm sao có 2timer mà cho 32 con mà 10 mức sáng khác nhau? hoặc làm sao cho nó dịch qua phải mà vẫn ở mức sáng đó.. thanks

    Leave a comment:


  • Đặng Văn Tài
    replied
    mình có tập viết 1 đoạn code "sao băng" cho cổng p2 bằng asm, thấy nó có chạy
    ORG 0H
    JMP MAIN
    ORG 0BH
    JMP INT_TIMER0
    ORG 30H
    MAIN:

    MOV TMOD,#2H
    MOV TH0,#156
    SETB ET0
    SETB EA
    MOV 31H,#20
    MOV 32H,#40
    MOV 33H,#60
    MOV 34H,#80
    MOV 35H,#100
    MOV 36H,#120
    MOV 37H,#140
    SETB TR0
    LOOP:
    MOV A,R6
    CJNE A,30H,$+3
    JNC JMP1
    CLR P2.0
    JMP JMP2
    JMP1: SETB P2.0

    JMP2:
    CJNE A,31H,$+3
    JNC JMP3
    CLR P2.1
    JMP JMP4
    JMP3: SETB P2.1

    JMP4:
    CJNE A,32H,$+3
    JNC JMP5
    CLR P2.2
    JMP JMP6
    JMP5: SETB P2.2

    JMP6:
    CJNE A,33H,$+3
    JNC JMP7
    CLR P2.3
    JMP JMP8
    JMP7: SETB P2.3

    JMP8:
    CJNE A,34H,$+3
    JNC JMP9
    CLR P2.4
    JMP JMP10
    JMP9: SETB P2.4

    JMP10:
    CJNE A,35H,$+3
    JNC JMP11
    CLR P2.5
    JMP JMP12
    JMP11: SETB P2.5

    JMP12:
    CJNE A,36H,$+3
    JNC JMP13
    CLR P2.6
    JMP JMP14
    JMP13: SETB P2.6

    JMP14:
    CJNE A,37H,$+3
    JNC JMP15
    CLR P2.7
    JMP JMP16
    JMP15: SETB P2.7
    JMP16:
    JMP LOOP
    INT_TIMER0:
    CLR TR0
    CLR TF0
    CJNE R6,#100,THOAT
    MOV R6,#0
    MOV R7,30H
    CJNE R7,#200,SKIP1
    MOV 30H,#0
    SKIP1: INC 30H
    MOV R7,31H
    CJNE R7,#200,SKIP2
    MOV 31H,#0
    SKIP2: INC 31H
    MOV R7,32H
    CJNE R7,#200,SKIP3
    MOV 32H,#0
    SKIP3: INC 32H
    MOV R7,33H
    CJNE R7,#200,SKIP4
    MOV 33H,#0
    SKIP4: INC 33H
    MOV R7,34H
    CJNE R7,#200,SKIP5
    MOV 34H,#0
    SKIP5: INC 34H
    MOV R7,35H
    CJNE R7,#200,SKIP6
    MOV 35H,#0
    SKIP6: INC 35H
    MOV R7,36H
    CJNE R7,#200,SKIP7
    MOV 36H,#0
    SKIP7: INC 36H
    MOV R7,37H
    CJNE R7,#200,SKIP8
    MOV 37H,#0
    SKIP8: INC 37H
    THOAT: INC R6
    SETB TR0
    RETI
    END


    Leave a comment:


  • tienhuypro
    replied
    Không thấy cái tiêu đề là [TUT] Led sao băng, sao vô đây hỏi đèn giao thông trời.
    Nguyên văn bởi Thanhhuupro Xem bài viết
    Anh em trên diễn đàn giúp mình sữa chương trình đèn giao thông này với ......mình viết xong nộp vào ic 8952 nó không chạy ah....hix.....cảm ơn ae nhiều.

    Leave a comment:


  • Thanhhuupro
    replied
    Anh em trên diễn đàn giúp mình sữa chương trình đèn giao thông này với ......mình viết xong nộp vào ic 8952 nó không chạy ah....hix.....cảm ơn ae nhiều.
    Attached Files

    Leave a comment:

Về tác giả

Collapse

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

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

Collapse

Đang tải...