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

điều khiển tốc độ nháy led trên bảng quảng cáo

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • hoangnam555
    replied
    Nguyên văn bởi chung1608 Xem bài viết
    hohoho! trong hiệu ứng chú dùng R7 làm bộ đếm và trong delay chú cũng lại dùng R7 thì nó chạy có 1 hiệu ứng đầu là phải rồi, chọn R khác đi là đc
    hjhj,em làm đc rồi,đúng là gà thật.
    Tiện thể cho em hỏi trong đoạn chương trình này em muốn thêm vào delay ngoài để chỉnh tốc độ thì trong chương trình con mình gọi delay như thế nào? cái code này lạ quá em ko biết chèn,sau khi gọi delay rồi thì mình vẫn tạo chương trình delay như bác thạch sùng đc đúng ko bác!
    Attached Files

    Leave a comment:


  • chung1608
    replied
    Nguyên văn bởi hoangnam555 Xem bài viết
    Hiêu ứng em viết đc nhưng em ko biết làm sao cho nó chạy sang hiệu ứng khác,em làm thử rồi mà nó cứ chạy cái hiệu ứng đầu ko à.Cụ thể là em muốn biết cách khai báo ấy.

    Nếu dùng 555 đưa vào 1 chân nào đó của vdk thì em làm cho nó nháy nhiều hiệu ứng đc còn đưa vào chân Xtal em chịu,mò mãi chả ra.
    code em mò viết này,mấy bác xem lại xem em thiếu chỗ nào với,thank các bác!
    hohoho! trong hiệu ứng chú dùng R7 làm bộ đếm và trong delay chú cũng lại dùng R7 thì nó chạy có 1 hiệu ứng đầu là phải rồi, chọn R khác đi là đc

    Leave a comment:


  • hoangnam555
    replied
    Nguyên văn bởi chung1608 Xem bài viết
    vụ viết hiệu ứng chú tự viết đi, còn vụ tần số thì theo như Application note 170 câu hỏi thứ 2 trang số 7, tần số tối đa 555 có thể cho ra là 1Mhz, có thể tần số thấp quá nên 8051 ko chạy đc.
    Hiêu ứng em viết đc nhưng em ko biết làm sao cho nó chạy sang hiệu ứng khác,em làm thử rồi mà nó cứ chạy cái hiệu ứng đầu ko à.Cụ thể là em muốn biết cách khai báo ấy.

    Nếu dùng 555 đưa vào 1 chân nào đó của vdk thì em làm cho nó nháy nhiều hiệu ứng đc còn đưa vào chân Xtal em chịu,mò mãi chả ra.
    code em mò viết này,mấy bác xem lại xem em thiếu chỗ nào với,thank các bác!
    ORG 0000H
    ;================================================= =========================
    main:
    lcall kieu1
    lcall kieu2
    ljmp main;
    ;---keiu 1
    kieu1:
    mov r7,#5
    lap1:
    mov a,#11110000b
    mov p1,a
    call delay_1
    call delay_1
    mov a,#00001111b
    mov p1,a
    call delay_1
    call delay_1

    mov a,#11110000b
    mov p1,a
    call delay_1
    call delay_1
    mov a,#00001111b
    mov p1,a
    call delay_1
    call delay_1
    djnz r7,lap1
    ret
    ;kieu 2

    kieu2:
    mov r7,#5
    lap2:
    mov p1,#01010101b
    call delay_1
    mov p1,#10101010b
    call delay_1
    djnz r7,lap2
    ret
    ;

    Delay_1:
    mov r6,#30
    del0: mov r7,#30
    del1: djnz r7,del1
    djnz r6,del0
    ret
    END

    Leave a comment:


  • chung1608
    replied
    Nguyên văn bởi hoangnam555 Xem bài viết
    chào các bác,bác nào có thể viết dùm em một đoạn chương trình nháy 2 hiệu ứng,mỗi hiệu ứng lặp lại 5 lần dựa trên code mẫu của bác thach sung ko?
    vẫn dùng 555 đưa xung vào XTAL 1,em mò mãi chẳng ra.
    thank các bác!
    vụ viết hiệu ứng chú tự viết đi, còn vụ tần số thì theo như Application note 170 câu hỏi thứ 2 trang số 7, tần số tối đa 555 có thể cho ra là 1Mhz, có thể tần số thấp quá nên 8051 ko chạy đc.

    Leave a comment:


  • hoangnam555
    replied
    Nguyên văn bởi lyhunghau Xem bài viết
    (thachsung
    sao các bạn không dùng ic 555 thay cho thạch anh đi rất là dễ, chương trình không có thay đổi chỉ có thay đổi delay một chút thôi, lúc này khỏi tốn thêm ngõ ra của 89
    Thực sự cách này mình không hiểu, thấy hay nhưng mình thử rồi.
    nhờ Ban chỉ giáo thêm, code mình viết dịch ra file hex nhưng để nạp vào chip thi không được, minh cũng thử chip đang nap bàng cac code khác thì nạp bình thường nhưng với code hiện tai thì không được, mong bạn xem giúp mình thử đoạn code mình có sai gì không?minh không biết mạch như bạn sẽ có hình dáng như thế nào đối với cách bạn ghi?(bạn láy chân số 3 của ic 555 đưa vào chân số 18 (tức xtal 1) của 89, các
    thông số của mach ic 555 có giá tri như sau:R 1K , tụ chân số 5 xuống
    mass là 104, tụ còn lại ngay chân số 6 là 102, VR là 5k).
    Cảm ơn bạn nhiều và học hỏi thêm từ bạn.

    Code
    ORG 0000H
    ;================================================= =========================
    star:
    ;Dong:1
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:2
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:3
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:4
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:5
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:6
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:7
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:8
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:9
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:10
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:11
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:12
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:13
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:14
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:15
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:16
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:17
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:18
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:19
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:20
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:21
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:22
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:23
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:24
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:25
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:26
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:27
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:28
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:29
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:30
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:31
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:32
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:33
    MOV P0,#00000100B
    CALL Delay_1
    JMP star

    Delay_1:
    mov r6,#30
    del0: mov r7,#30
    del1: djnz r7,del1
    djnz r6,del0
    ret
    END
    chào các bác,bác nào có thể viết dùm em một đoạn chương trình nháy 2 hiệu ứng,mỗi hiệu ứng lặp lại 5 lần dựa trên code mẫu của bác thach sung ko?
    vẫn dùng 555 đưa xung vào XTAL 1,em mò mãi chẳng ra.
    thank các bác!

    Leave a comment:


  • lyhunghau
    replied
    (thachsung
    sao các bạn không dùng ic 555 thay cho thạch anh đi rất là dễ, chương trình không có thay đổi chỉ có thay đổi delay một chút thôi, lúc này khỏi tốn thêm ngõ ra của 89
    Thực sự cách này mình không hiểu, thấy hay nhưng mình thử rồi.
    nhờ Ban chỉ giáo thêm, code mình viết dịch ra file hex nhưng để nạp vào chip thi không được, minh cũng thử chip đang nap bàng cac code khác thì nạp bình thường nhưng với code hiện tai thì không được, mong bạn xem giúp mình thử đoạn code mình có sai gì không?minh không biết mạch như bạn sẽ có hình dáng như thế nào đối với cách bạn ghi?(bạn láy chân số 3 của ic 555 đưa vào chân số 18 (tức xtal 1) của 89, các
    thông số của mach ic 555 có giá tri như sau:R 1K , tụ chân số 5 xuống
    mass là 104, tụ còn lại ngay chân số 6 là 102, VR là 5k).
    Cảm ơn bạn nhiều và học hỏi thêm từ bạn.

    Code
    ORG 0000H
    ;================================================= =========================
    star:
    ;Dong:1
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:2
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:3
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:4
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:5
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:6
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:7
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:8
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:9
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:10
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:11
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:12
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:13
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:14
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:15
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:16
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:17
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:18
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:19
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:20
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:21
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:22
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:23
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:24
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:25
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:26
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:27
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:28
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:29
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:30
    MOV P0,#00000100B
    CALL Delay_1
    ;Dong:31
    MOV P0,#00000001B
    CALL Delay_1
    ;Dong:32
    MOV P0,#00000010B
    CALL Delay_1
    ;Dong:33
    MOV P0,#00000100B
    CALL Delay_1
    JMP star

    Delay_1:
    mov r6,#30
    del0: mov r7,#30
    del1: djnz r7,del1
    djnz r6,del0
    ret
    END

    Leave a comment:


  • lyhunghau
    replied
    (thachsung<br>
    sao các bạn không dùng ic 555 thay cho thạch anh đi rất là dễ, chương trình không có thay đổi chỉ có thay đổi delay một chút thôi, lúc này khỏi tốn thêm ngõ ra của 89)<br>
    Thực sự cách này mình không hiểu, thấy hay nhưng mình thử rồi.<br>
    nhờ anh <span style="color:#ff0000;">thachsung</span> chỉ giáo thêm, code mình viết dịch ra file hex nhưng để nạp vào chip thi không được, minh cũng thử chip đang nap bàng cac code khác thì nạp bình thường nhưng với code hiện tai thì không được, mong bạn xem giúp mình thử đoạn code mình có sai gì không?<br>minh không biết mạch như bạn sẽ có hình dáng như thế nào đối với cách bạn ghi?(bạn láy chân số 3 của ic 555 đưa vào chân số 18 (tức xtal 1) của 89, các
    thông số của mach ic 555 có giá tri như sau:R 1K , tụ chân số 5 xuống
    mass là 104, tụ còn lại ngay chân số 6 là 102, VR là 5k).<br>Cảm ơn bạn nhiều và học hỏi thêm từ bạn.<br>ORG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0000H<br>;======================================== ==================================<br>star:<br>;Do ng:1<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:2<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:3<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:4<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:5<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:6<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:7<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:8<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:9<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:10<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:11<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:12<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:13<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:14<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:15<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:16<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:17<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:18<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:19<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:20<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:21<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:22<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:23<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:24<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:25<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:26<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:27<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:28<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:29<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:30<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:31<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000001B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:32<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000010B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>;Dong:33<br>&nbsp;&nbsp;&nbsp;&nbsp; MOV P0,#00000100B<br>&nbsp;&nbsp;&nbsp;&nbsp; CALL&nbsp;&nbsp;&nbsp; Delay_1<br>JMP star<br>&nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;Delay_1:<br>&nbsp;mov r6,#30<br>del0: mov r7,#30<br>del1: djnz r7,del1<br>djnz r6,del0<br>ret<br>END

    Leave a comment:


  • namkpac
    replied
    mong các pác giúp đỡ em với, e thử nghiệm miết mà nó không như ý muốn. em biết trên diễn đàn có nhiều pác làm tốt vấn đề này, em muốn hỏi để học tập thêm kinh nghiệm viết code cho vđk. e học trường ĐH kỹ thuật công nghệ nhưng đã hơn 7 năm nên giờ viết lại ctrình còn yếu lắm vì ko chuyên bên lĩnh vực này, mong các pác giúp đỡ

    Leave a comment:


  • namkpac
    replied
    cảm ơn các pác nhiều lắm, quả thật là những bài các pác chỉ thật là bổ ích, và giúp e mở mang được nhiều điều. hôm qua e có mở ra nhưng không reply lại được do việc cuối năm nhiều quá. một lần nữa e xin cảm ơn tới các pác nhé. à e muốn hỏi thêm một vấn đề nữa đó là điều xung cho các trường hợp này là phải làm thế nào? e làm mà nó chỉ sáng có 1 kiểu à. đây là đoạn code, bây giờ e muốn các chân ở P1 sáng mức yếu ví dụ 10% sau đó quét sáng 50% và rồi 100% thì phải thêm lệnh thế nào các pác chỉ thêm e với, còn nếu mình muốn làm theo % tùy ý của mình thì phải thêm gì nữa không? các pác giúp em với nhé
    PWMPIN EQU P0
    ; PWM output pin
    PWM_SETUP:
    MOV TMOD,#00H ; Timer0 in Mode 0
    MOV R7, #160 ; Set pulse width control
    ; The value loaded in R7 is value X as
    ; discussed above.
    SETB EA ; Enable Interrupts
    SETB ET0 ; Enable Timer 0 Interrupt
    SETB TR0 ; Start Timer
    RET

    Leave a comment:


  • tdm
    replied
    Nguyên văn bởi namkpac Xem bài viết
    thanks bạn nhiều, đây là ứng dụng p0 quay phải giờ mình muốn nó nhảy theo ý mình thì phải liên tục soạn những dòng lệnh này hả bạn? vậy thì nó dài quá không? vì ý mình muốn hỏi thêm là dùng delay lồng vào nhau liệu có được không? ví dụ mình chèn thêm các port p1,2 chẳng hạn. ban có Y!M không cho mình biết với để tiện trong việc học hỏi vì mình mới tập viết mấy cái này mà, bạn giúp mình với nhé
    bạn làm như bạn dt_love (#46) là được.
    để làm nhiều hiệu ứng khác nhau tốt nhất là sử dụng các bảng tra.

    Leave a comment:


  • dt_love
    replied
    Nguyên văn bởi namkpac Xem bài viết
    thanks các pác, bây giờ e muốn thêm các delay 1,2,...5,6, cho từng đoạn chương trình thì phải thêm thế nào các pác nhỉ mà vẫn dùng biến trở như trên để điều khiển chung. ví dụ: đoạn 1 chạy chậm, đoạn 2 chạy nhanh hơn, đoạn 3 nhanh hơn nữa,.... và dùng biến trở điều khiển chung luôn cho các delay này, các pác giúp e với nhé. e thử sửa code trong phần delay thêm các delay con vào nhưng nó không hoạt động, chăc do e yếu môn này quá hay sao đó mà khi phân tích lệnh cứ rối tung lên
    Code:
    ;code khởi động port, hay khởi tạo data đặt ở đây.
    setb p3.6;xả tụ
    main:
    ;đoạn code 1
    call delay1
    ;đoạn code 2
    call delay2
    ;đoạn code 3
    call delay3
    .
    .
    .
    ;đoạn code n
    call delayn
    jmp main
    
    delay1:
    mov r2,#100;chỉnh giá tri r2 để delay theo mong muốn
    delay11:
    call delayex
    djnz r2,delay11
    ret
    delay2:
    mov r2,#150;chỉnh giá tri r2 để delay theo mong muốn
    delay21:
    call delayex
    djnz r2,delay21
    ret
    delay3:
    mov r2,#160;chỉnh giá tri r2 để delay theo mong muốn
    delay31:
    call delayex
    djnz r2,delay31
    ret
    ; bạn muốn ba0 nhiêu cái delay thì cứ việc copy và thay tên là được.
    hoặc bạn có thể làm cách này
    Code:
    setb p3.6;xả tụ
    main:
    ;đoạn code 1
    mov r2,#50;chỉnh giá tri r2 để delay theo mong muốn
    call delay20
    ;đoạn code 2
    mov r2,#80;chỉnh giá tri r2 để delay theo mong muốn
    call delay20
    ;đoạn code 3
    mov r2,#100;chỉnh giá tri r2 để delay theo mong muốn
    call delay20
    .
    .
    .
    ;đoạn code n
    mov r2,#250;chỉnh giá tri r2 để delay theo mong muốn
    call delay20
    jmp main
    
    delay20:
    call delayex
    djnz r2,delay20
    ret
    trường hợp bạn muốn delay lâu hơn nữa thì thêm vào một thanh ghi nữa vào ctr delay như sau.
    Code:
    delay10:
    mov r3,#100;chỉnh giá tri r3 để delay theo mong muốn
    delay101:
    mov r2,#160;chỉnh giá tri r2 để delay theo mong muốn
    delay102:
    call delayex
    djnz r2,delay102
    djnz r3,delay101
    ret
    và đây là ctr con delayex dùng cho các lệnh call delayex ở trên.
    Code:
    delayex:
    clr p3.6;tụ bắt đầu nạp
    jnb p3.7,$;chờ p3.7=1(chờ tụ nạp đầy)
    setb p3.6;xả tụ
    ret

    Leave a comment:


  • thi tran
    replied
    thuốc chữa cho pác đây nè file:///G:/WEB%20HAY/Mach%20led%20quang%20cao.aspx.htm

    Leave a comment:


  • namkpac
    replied
    thanks các pác, bây giờ e muốn thêm các delay 1,2,...5,6, cho từng đoạn chương trình thì phải thêm thế nào các pác nhỉ mà vẫn dùng biến trở như trên để điều khiển chung. ví dụ: đoạn 1 chạy chậm, đoạn 2 chạy nhanh hơn, đoạn 3 nhanh hơn nữa,.... và dùng biến trở điều khiển chung luôn cho các delay này, các pác giúp e với nhé. e thử sửa code trong phần delay thêm các delay con vào nhưng nó không hoạt động, chăc do e yếu môn này quá hay sao đó mà khi phân tích lệnh cứ rối tung lên

    Leave a comment:


  • dt_love
    replied
    Nguyên văn bởi namkpac Xem bài viết
    thanks bạn nhiều, đây là ứng dụng p0 quay phải giờ mình muốn nó nhảy theo ý mình thì phải liên tục soạn những dòng lệnh này hả bạn? vậy thì nó dài quá không? vì ý mình muốn hỏi thêm là dùng delay lồng vào nhau liệu có được không? ví dụ mình chèn thêm các port p1,2 chẳng hạn. ban có Y!M không cho mình biết với để tiện trong việc học hỏi vì mình mới tập viết mấy cái này mà, bạn giúp mình với nhé
    Code:
    mov a,#01h
    setb p3.6;xả tụ
    main:
    mov p0,a
    rr a
    call delay
    jmp main
    
    delay:
    mov r2,#100;chỉnh giá tri r2 để delay theo mong muốn
    delay1:
    clr p3.6;tụ bắt đầu nạp
    jnb p3.7,$;chờ p3.7=1(chờ tụ nạp đầy)
    setb p3.6;xả tụ
    djnz r2,delay1
    ret
    Đây là code mình chỉnh lại dựa trên code của tdm, bạn thử xem sao,
    code bạn chỉnh thoải mái trong vòng lặp main...

    Leave a comment:


  • namkpac
    replied
    thanks bạn nhiều, đây là ứng dụng p0 quay phải giờ mình muốn nó nhảy theo ý mình thì phải liên tục soạn những dòng lệnh này hả bạn? vậy thì nó dài quá không? vì ý mình muốn hỏi thêm là dùng delay lồng vào nhau liệu có được không? ví dụ mình chèn thêm các port p1,2 chẳng hạn. ban có Y!M không cho mình biết với để tiện trong việc học hỏi vì mình mới tập viết mấy cái này mà, bạn giúp mình với nhé

    Leave a comment:

Về tác giả

Collapse

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

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

Collapse

Đang tải...