Thông báo

Collapse
No announcement yet.

lập trình vi điều khiển 89c51

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

  • lập trình vi điều khiển 89c51

    các bác giúp cho e bài nay với
    đề bài: sử dụng ngắt ngoài không
    -nhấn lần 1 chớp tắt
    -nhấn lần 2 sáng dồn
    -nhấn lần 3 sáng chạy
    với thời gian delay la 0,5s
    mà e viết được ctrinh ngắt ngoài rồi, còn delay 0,5s e k biet viet.các bác giúp e với.tks nhiều nhiều
    còn đây la ngắt ngoài do e viết được
    ORG 0h
    TG EQU 20h
    KQ EQU 21h
    CKDL EQU 22h
    SLDL EQU 23h

    ORG 0000h
    LJMP main
    org 0003h
    LJMP ngatngoai0

    org 0030h
    main: MOV p1,#0
    MOV ie,#81h
    SETB it0
    MOV R0,#00H
    SJMP $

    ngatngoai0: INC R0
    CJNE R0,#1,kt1
    LCALL choptat
    kt1: CJNE R0,#2,kt2
    LCALL sangdon
    kt2: CJNE R0,#3,kt3
    LCALL sangchay
    kt3: CJNE R0,#4,thoat
    LCALL dung
    thoat: RETI

    dung: MOV R0,#00h
    MOV p1,#00h
    CALL delay
    LJMP main

    choptat: MOV p1,#00h
    CALL delay
    MOV p1,#0ffh
    CALL delay
    JMP choptat
    RETI

    sangdon: MOV p1,#00h
    LCALL delay
    MOV ckdl,#8
    MOV kq,#00h
    x11: MOV sldl,ckdl
    MOV tg,#00h
    SETB c
    x12: MOV A,tg
    RLC A
    MOV tg,A
    ORL A,kq
    MOV p1,A
    LCALL delay
    DJNZ sldl,x12
    MOV kq,p1
    DJNZ ckdl,x11
    SJMP sangdon
    RETI
    sangchay:
    MOV P1,#00H
    LCALL DELAY
    MOV A,#00H
    SETB C
    X31: RLC A
    MOV P1,A
    LCALL DELAY
    JNB P1.7,x31
    MOV P1.7,#00H
    SJMP sangchay
    RETI

    delay: MOV R7,#3
    del: MOV R6,#0ffh
    del1: MOV R5,#0ffh
    DJNZ R5,$
    DJNZ R6,del1
    DJNZ R7,del
    RETI
    End

  • #2
    Chương trình delay 0,5s, bạn có thể viết như sau:
    DELAY:
    mov tmod,#10h
    mov r5,#10
    delay1:
    mov th1,#high(-50000)
    mov tl1,#low(-50000)
    setb tr1
    jnb tf1,$
    clr tf1
    clr tr1
    djnz r5,delay1
    ret
    Bạn thay giá trị của r5, sẽ ra só' thời gian mà bạn cần.

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    • nguyendinhvan
      Trả lời cho Vấn đề về tốc độ quay
      bởi nguyendinhvan
      Sử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
      Hôm qua, 19:50
    • 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...
      12-12-2025, 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
    Đang tải...
    X