1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

Chương trình vi điều khiển 89c51

Thảo luận trong 'Kỹ thuật Điện - Điện tử' bắt đầu bởi DR701, 13 Tháng mười hai 2009.

  1. DR701 New Member

    Số bài viết: 34
    Đã được thích: 0
    Điểm thành tích: 0
    thầy và các anh giúp e với. e viết chương trình thế này mà sao khi xuất tín hiệu thì không thể xuất cùng lúc được. e lấy mức thấp là led sáng. giả sử dw 0000h. và e lấy port 0 và port 2. thì 8 led port 0 sang trước sau 1 khoang thời gian đúng bằng thời gian delay thì port 2 mới sáng. đây là chương trình của em. các anh xem có gì trợ giúp e với há.:music:
    ORG 00H
    begin: MOV B,#00H
    MOV DPTR,#ma
    MOV R1,#255
    loop: MOV A,B
    MOVC A,@A+DPTR
    MOV P0,A
    LCALL DELAY
    INC B
    MOV A,B
    MOVC A,@A+DPTR
    MOV P2,A
    LCALL DELAY
    INC B
    djnz r1,loop
    sjmp begin
    delay:
    mov 7fh,#20
    de: clr tr0
    mov th0,#high(15536)
    mov tl0,#low(15536)
    setb tr0
    clr tf0
    jnb tf0,$
    djnz 7fh,de
    RET
    ma: ;vien sang main sang cung chop tat
    dw 0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000 h,0fff0h,0000h
    ;sang dan tung chu ca nguoc lai
    dw 1ffch,03feh,0006h,0fffch,0fc0ah,0e006h,000ch,0ffff h,000ch,0006h,1c0ah,000ch
    dw 1c06h,000ah,1c0ch,0006h,1c0ah,040ch,1006h,040ah,10 0ch,0406h,100ah
    ;vien sang main sang cung chop tat
    dw 0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000 h,0fff0h,0000h
    ;1 bong tat chay qua lai
    dw 001ah,0026h,004ch,008ah,1016h,020ch,040ah,1006h,02 0ch,1006h,200ch
    dw 1006h,200ch,400ah,8006h,400ch,200ah,1006h,0c0ch,02 0ah,0106h,008ch
    dw 0040ah,0026h,001h,0fffah
    ;sang don phai sang trai
    dw 0ffe8h,0ffd2h,0ffb4h,0ff78h,0fef2h,0fdf4h,0f3f8h,0 e7f2h,0dff4h,0bff8h,07ff2h
    dw 7fe4h,7fd8h,7fb2h,7f74h,7ef8h,7df2h,73f4h,67f8h,4f f2h,3ff4h
    dw 3fe8h,3fd2h,3fb4h,3f78h,3ef2h,3df4h,33f8h,27f2h,1f f4h
    dw 1fe4h,1fd2h,1fb8h,1f74h,1fe2h,1df8h,13f4h,07f2h
    dw 07e8h,0704h,07b2h,0778h,06f4h,05f2h,03f8h
    dw 03e4h,03d2h,03b8h,0374h,02f2h,01f8h
    dw 01e4h,01d2h,01b8h,0174h,00f2h
    dw 00e8h,00d4h,00b2h,0078h
    dw 0064h,0052h,0038h,0024h,0012h,0008h
    ;sang dan trai qua phai
    dw 0ff0h,7fffh,3ff0h,1fffh,0ff0h,03ffh,01f0h,00ffh,00 70h,003fh,0010h,000fh
    ;tim chop tat theo cap
    dw 1c00h,0000h,1c00h,0000h,1c00h,0000h,1c00h,0000h
    ;tim chop tat tung trai
    dw 0400h,1000h,0400h,1000h,0400h,1000h,0400h,1000h
    dw 0000h,0fff0h,0000h,0fff0h,0000h,0fff0h
    ;main sang vien chop tat
    dw 000fh,0000h,000fh,0000h,000fh,0000h,000fh,0000h,00 0fh,0000h,000fh,0000h
    ;sang dan phai sang trai
    dw 0ffe2h,0ffc2h,0ff84h,0ff04h,0ff08h,0fe08h,0fc08h,0 f002h,0e002h,0c004h,8004h,0008h
    ;sang duoi tu 2 ben vao
    dw 0fff8h,7fe4h,0bfd2h,0e778h,0f2f4h,0fdf2h,0f2f8h,0e 774h,0bfd2h,7fe8h
    ;sang don tu hai ben vao
    dw 3fc2h,1f84h,0708h,0202h,0004h,0208h,0702h,1f04h,3f c8h,7fe2h
    ;t p chop tat, trai tim sang
    dw 0fff8h,0004h,0e3f2h,0008h,0e3f4h,0002h,0e3f8h,0004 h
    ;toi yeu phuong vien sang
    dw 0fff0h,1ff0h,07f0h,0400h,0fff0h,1ff0h,07f0h,0400h
    dw 0fff0h,1ff0h,1ff0h,07f0h,07f0h,0400h,0400h
    ;phuong yeu toi vien sang
    dw 0fff0h,0fc00h,0f000h,1000h,0fff0h,0fc00h,0f000h,10 00h
    dw 0fff0h,0fc00h,0fc00h,0f000h,0f000h,1000h,1000h,000 0h
    end
  2. DR701 New Member

    Số bài viết: 34
    Đã được thích: 0
    Điểm thành tích: 0
  3. DR701 New Member

    Số bài viết: 34
    Đã được thích: 0
    Điểm thành tích: 0
  4. robot9 New Member

    Số bài viết: 64
    Đã được thích: 0
    Điểm thành tích: 0
    có phải chương trình của bạn chờ hoài ko thấy đèn ở port 2 sáng ?
    bạn chưa thiết đặt chế độ cho thanh ghi tmod trước khi dùng timer nên mặc định nó đang là counter chờ có xung đếm,bạn sẽ phải chờ mãi luôn cờ tf0 ko bao giờ tràn
    ko biết còn lỗi nào ko. bạn coi sữa lại xem sao nha
  5. DR701 New Member

    Số bài viết: 34
    Đã được thích: 0
    Điểm thành tích: 0
    không phải đâu mình tìm ra rồi. thì ra mình thừa 1 cái delay nên 2 port không xuất tín hiệu 1 lượt ý mà... mà Robot9 nay học năm mấy ùi..?
  6. tiachopled New Member

    Số bài viết: 7
    Đã được thích: 0
    Điểm thành tích: 0
    ban đang muốn điều khiển led phải không ! OK! Một cách đơn giản thì lập trình thế này có thể chạy
    nhưng bạn nghĩ xem vậy với mỗi bảng led bạn phải viết lại ct hoặc dữ liệu sao? bạn diều khiển tốc độ nó thế nào đây? nếu làm xong mà khách hàng muốn thay đổi tốc độ thì làm sao???

    các bạn làm sau này chú ý những yêu cầu mình vưa nhắc nhé
    thực tế ng ta sẽ làm đơn gian lắm. ah bạn có nghĩ nên dùng máy tính để soạn thảo kiểu chớp và đổ xuống vdk không???

    cho các bạn xem một số sản phẩm mình làm, trên mạng nhiều ng làm đẹp lắm




    if u want !
    0986336387 call now !!
  7. meodenxiii88 New Member

    Số bài viết: 26
    Đã được thích: 0
    Điểm thành tích: 0
    If u want!.... call now!!
    làm ăn ghê nhỉ, diễn đàn là nơi trao đổi học tập, nếu bạn có ý định chia sẻ gì thì cứ post lên cho đàn em học tập, chứ lên diễn đàn để làm ăn thì. Bó tay!
  8. tiachopled New Member

    Số bài viết: 7
    Đã được thích: 0
    Điểm thành tích: 0
    Em hiểu sai ý anh rồi, anh biết em cần những gì mà post !!
    anh có rất nhiều thứ thứ nào cũng để làm ăn đâu dễ gì post lên, rồi đối thủ của anh sẽ nuốt anh mất

    trường hợp các em làm đồ án hay bài tập hay đang muốn tìm hiểu điều gì trong giới hạn cho phép thì anh sẽ tận tình chỉ cho, anh cũng giúp mấy em làm bài tập thực hành về điều khiển led rồi quan trong là cái trong đầu bọn em hiểu chứ không phải là những bài lập trình của anh !!=))
  9. tiachopled New Member

    Số bài viết: 7
    Đã được thích: 0
    Điểm thành tích: 0
    Đoạn này các bạn chú ý chỗ này (bôi đỏ) :
    ORG 00H
    begin: MOV B,#00H
    MOV DPTR,#ma
    MOV R1,#255
    loop: MOV A,B
    MOVC A,@A+DPTR
    MOV P0,A
    LCALL DELAY
    INC B
    MOV A,B
    MOVC A,@A+DPTR
    MOV P2,A
    LCALL DELAY
    INC B
    djnz r1,loop
    sjmp begin
    delay:
    mov 7fh,#20
    de: clr tr0
    mov th0,#high(15536)
    mov tl0,#low(15536)
    setb tr0
    clr tf0
    jnb tf0,$
    djnz 7fh,de
    RET

    đoạn này bạn gọi delay 2 lần vì thế khi xuất dữ liệu ra led ở p2 xong thì bị trễ một thời gian mới xuất ra p0
    bạn xóa làm trễ ở p2 đi là đc
  10. caohocdientu2012 New Member

    Số bài viết: 3
    Đã được thích: 0
    Điểm thành tích: 0
    Chuong trinh cua ban phai sua lai nhu the nay
    minh da kiem tra va da chay
    $mod51
    ORG 00H
    begin: MOV B,#00H
    MOV DPTR,#ma
    MOV R1,#255
    loop: MOV A,B
    MOVC A,@A+DPTR
    MOV P0,A
    LCALL DELAY
    INC B
    MOV A,B
    MOVC A,@A+DPTR
    MOV P2,A
    LCALL DELAY
    INC B
    djnz r1,loop
    sjmp begin
    delay:
    mov 7fh,#20
    de: clr tr0
    mov th0,#high(15536)
    mov tl0,#low(15536)
    setb tr0
    clr tf0
    jnb tf0,$
    djnz 7fh,de
    RET
    ma: ;vien sang main sang cung chop tat
    dw 0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000h
    ;sang dan tung chu ca nguoc lai
    dw 1ffch,03feh,0006h,0fffch,0fc0ah,0e006h,000ch,0ffffh,000ch,0006h,1c0ah,000ch
    dw 1c06h,000ah,1c0ch,0006h,1c0ah,040ch,1006h,040ah,100ch,0406h,100ah
    ;vien sang main sang cung chop tat
    dw 0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000h
    ;1 bong tat chay qua lai
    dw 001ah,0026h,004ch,008ah,1016h,020ch,040ah,1006h,020ch,1006h,200ch
    dw 1006h,200ch,400ah,8006h,400ch,200ah,1006h,0c0ch,020ah,0106h,008ch
    dw 0040ah,0026h,001h,0fffah
    ;sang don phai sang trai
    dw 0ffe8h,0ffd2h,0ffb4h,0ff78h,0fef2h,0fdf4h,0f3f8h,0e7f2h,0df4h,0bff8h,07ff2h
    dw 7fe4h,7fd8h,7fb2h,7f74h,7ef8h,7df2h,73f4h,67f8h,4ff2h,3ff4h
    dw 3fe8h,3fd2h,3fb4h,3f78h,3ef2h,3df4h,33f8h,27f2h,1ff4h
    dw 1fe4h,1fd2h,1fb8h,1f74h,1fe2h,1df8h,13f4h,07f2h
    dw 07e8h,0704h,07b2h,0778h,06f4h,05f2h,03f8h
    dw 03e4h,03d2h,03b8h,0374h,02f2h,01f8h
    dw 01e4h,01d2h,01b8h,0174h,00f2h
    dw 00e8h,00d4h,00b2h,0078h
    dw 0064h,0052h,0038h,0024h,0012h,0008h
    ;sang dan trai qua phai
    dw 0ff0h,7fffh,3ff0h,1fffh,0ff0h,03ffh,01f0h,00ffh,0070h,003fh,0010h,000fh
    ;tim chop tat theo cap
    dw 1c00h,0000h,1c00h,0000h,1c00h,0000h,1c00h,0000h
    ;tim chop tat tung trai
    dw 0400h,1000h,0400h,1000h,0400h,1000h,0400h,1000h
    dw 0000h,0fff0h,0000h,0fff0h,0000h,0fff0h
    ;main sang vien chop tat
    dw 000fh,0000h,000fh,0000h,000fh,0000h,000fh,0000h,000fh,0000h,000fh,0000h
    ;sang dan phai sang trai
    dw 0ffe2h,0ffc2h,0ff84h,0ff04h,0ff08h,0fe08h,0fc08h,0f002h,0e002h,0c004h,8004h,0008h
    ;sang duoi tu 2 ben vao
    dw 0fff8h,7fe4h,0bfd2h,0e778h,0f2f4h,0fdf2h,0f2f8h,0e774h,0bfd2h,7fe8h
    ;sang don tu hai ben vao
    dw 3fc2h,1f84h,0708h,0202h,0004h,0208h,0702h,1f04h,3fc8h,7fe2h
    ;t p chop tat, trai tim sang
    dw 0fff8h,0004h,0e3f2h,0008h,0e3f4h,0002h,0e3f8h,0004h
    ;toi yeu phuong vien sang
    dw 0fff0h,1ff0h,07f0h,0400h,0fff0h,1ff0h,07f0h,0400h
    dw 0fff0h,1ff0h,1ff0h,07f0h,07f0h,0400h,0400h
    ;phuong yeu toi vien sang
    dw 0fff0h,0fc00h,0f000h,1000h,0fff0h,0fc00h,0f000h,1000h
    dw 0fff0h,0fc00h,0fc00h,0f000h,0f000h,1000h,1000h,0000h
    end
  11. caohocdientu2012 New Member

    Số bài viết: 3
    Đã được thích: 0
    Điểm thành tích: 0
    minh da sua lai


    $mod51
    ORG 00H
    begin: MOV B,#00H
    MOV DPTR,#ma
    MOV R1,#255
    loop: MOV A,B
    MOVC A,@A+DPTR
    MOV P0,A
    LCALL DELAY
    INC B
    MOV A,B
    MOVC A,@A+DPTR
    MOV P2,A
    LCALL DELAY
    INC B
    djnz r1,loop
    sjmp begin
    delay:
    mov 7fh,#20
    de: clr tr0
    mov th0,#high(15536)
    mov tl0,#low(15536)
    setb tr0
    clr tf0
    jnb tf0,$
    djnz 7fh,de
    RET
    ma: ;vien sang main sang cung chop tat
    dw 0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000h
    ;sang dan tung chu ca nguoc lai
    dw 1ffch,03feh,0006h,0fffch,0fc0ah,0e006h,000ch,0ffffh,000ch,0006h,1c0ah,000ch
    dw 1c06h,000ah,1c0ch,0006h,1c0ah,040ch,1006h,040ah,100ch,0406h,100ah
    ;vien sang main sang cung chop tat
    dw 0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000h,0fff0h,0000h
    ;1 bong tat chay qua lai
    dw 001ah,0026h,004ch,008ah,1016h,020ch,040ah,1006h,020ch,1006h,200ch
    dw 1006h,200ch,400ah,8006h,400ch,200ah,1006h,0c0ch,020ah,0106h,008ch
    dw 0040ah,0026h,001h,0fffah
    ;sang don phai sang trai
    dw 0ffe8h,0ffd2h,0ffb4h,0ff78h,0fef2h,0fdf4h,0f3f8h,0e7f2h,0df4h,0bff8h,07ff2h
    dw 7fe4h,7fd8h,7fb2h,7f74h,7ef8h,7df2h,73f4h,67f8h,4ff2h,3ff4h
    dw 3fe8h,3fd2h,3fb4h,3f78h,3ef2h,3df4h,33f8h,27f2h,1ff4h
    dw 1fe4h,1fd2h,1fb8h,1f74h,1fe2h,1df8h,13f4h,07f2h
    dw 07e8h,0704h,07b2h,0778h,06f4h,05f2h,03f8h
    dw 03e4h,03d2h,03b8h,0374h,02f2h,01f8h
    dw 01e4h,01d2h,01b8h,0174h,00f2h
    dw 00e8h,00d4h,00b2h,0078h
    dw 0064h,0052h,0038h,0024h,0012h,0008h
    ;sang dan trai qua phai
    dw 0ff0h,7fffh,3ff0h,1fffh,0ff0h,03ffh,01f0h,00ffh,0070h,003fh,0010h,000fh
    ;tim chop tat theo cap
    dw 1c00h,0000h,1c00h,0000h,1c00h,0000h,1c00h,0000h
    ;tim chop tat tung trai
    dw 0400h,1000h,0400h,1000h,0400h,1000h,0400h,1000h
    dw 0000h,0fff0h,0000h,0fff0h,0000h,0fff0h
    ;main sang vien chop tat
    dw 000fh,0000h,000fh,0000h,000fh,0000h,000fh,0000h,000fh,0000h,000fh,0000h
    ;sang dan phai sang trai
    dw 0ffe2h,0ffc2h,0ff84h,0ff04h,0ff08h,0fe08h,0fc08h,0f002h,0e002h,0c004h,8004h,0008h
    ;sang duoi tu 2 ben vao
    dw 0fff8h,7fe4h,0bfd2h,0e778h,0f2f4h,0fdf2h,0f2f8h,0e774h,0bfd2h,7fe8h
    ;sang don tu hai ben vao
    dw 3fc2h,1f84h,0708h,0202h,0004h,0208h,0702h,1f04h,3fc8h,7fe2h
    ;t p chop tat, trai tim sang
    dw 0fff8h,0004h,0e3f2h,0008h,0e3f4h,0002h,0e3f8h,0004h
    ;toi yeu phuong vien sang
    dw 0fff0h,1ff0h,07f0h,0400h,0fff0h,1ff0h,07f0h,0400h
    dw 0fff0h,1ff0h,1ff0h,07f0h,07f0h,0400h,0400h
    ;phuong yeu toi vien sang
    dw 0fff0h,0fc00h,0f000h,1000h,0fff0h,0fc00h,0f000h,1000h
    dw 0fff0h,0fc00h,0fc00h,0f000h,0f000h,1000h,1000h,0000h
    end
  12. caohocdientu2012 New Member

    Số bài viết: 3
    Đã được thích: 0
    Điểm thành tích: 0

Chia sẻ trang này