Thông báo

Collapse
No announcement yet.

đièu khiển động cơ bằng 8051

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

  • đièu khiển động cơ bằng 8051

    bác nào rành 8051 giải thích cho mình chương trình này được không..mình đọc mà không hiểu rõ lắm..
    thanhk nhiều
    ;PHAN KHAI BAO CAC BIT NGO VAO
    PWM BIT P1.6 ;BIT DIEU KHIEN THIET BI
    UP BIT P3.4 ;TANG GIA TRI PWM
    DOWN BIT P3.5 ;GIAM GIA TRI PWM
    ;PHAN KHAI BAO BIEN LED
    PWM_VALUE EQU 31H
    ;KHAI BAO CAC VECTOR NGAT
    ORG 0000H
    LJMP SETUP ;KHOI DONG CHUONG TRINH KHI CAP NGUON
    ORG 000BH
    LJMP T0_ISR ;NGAT TIMER 0 DIEU RONG XUNG
    ORG 0030H
    SETUP:
    SETB EA ;CHO PHEP NGAT TOAN CUC
    SETB ET0 ;CHO PHEP NGAT TIMER 0
    CLR PWM ;TAT THIET BI
    MOV TMOD,#11H
    MOV TH0,#HIGH(-200) ;\ ;TA 12MHZ => 200us x 100% = 20000us = 20ms
    MOV TL0,#LOW(-200) ;/ CHU KY DIEU XUNG
    MOV PWM_VALUE,#0 ;MAC DINH GIA TRI PWM = 0
    MOV R7,#0 ;BIEN XAC DINH SO LAN NGAT TIMER
    SETB TR0 ;CHO PHEP TIMER HOAT DONG
    MAIN:
    JB UP,CHECK_DOWN ;NEU PHIM UP = '1' THI KIEM TRA PHIM DOWN
    LCALL DELAY200MS ;NEU PHIM UP = '0' THI CHO CHONG XUNG NAY
    INC PWM_VALUE ;TANG GIA TRI PWM
    MOV A,PWM_VALUE
    CJNE A,#101,EXIT_UP ;CHUA TOI NGUONG TREN THI THOAT THU TUC NHAN PHIM
    MOV PWM_VALUE,#100 ;DO DAY XUNG DAT 100%
    EXIT_UP:
    JMP MAIN
    CHECK_DOWN:
    JB DOWN,MAIN
    LCALL DELAY200MS
    DEC PWM_VALUE
    MOV A,PWM_VALUE
    CJNE A,#-1,EXIT_DOWN ;CHUA TOI NGUONG DUOI THI THOAT THU TUC NHAN PHIM
    MOV PWM_VALUE,#0 ;DO DAY XUNG BANG 0
    EXIT_DOWN:
    JMP MAIN
    T0_ISR: ;NGAT TIMER DUNG DE DIEU RONG XUNG
    PUSH ACC
    MOV 7FH,C
    CLR TR0
    MOV TH0,#HIGH(-200)
    MOV TL0,#LOW(-200)
    SETB TR0
    MOV A,PWM_VALUE
    CJNE A,#0,EN_PWM ;DO DAY XUNG <> 0 THI CHO DIEU XUNG
    JMP EXIT_ISR ;DO DAY XUNG = 0 THI THOAT KHOI THU TUC NGAT
    EN_PWM:
    INC R7 ;TANG BIEN DEM NGAT
    MOV A,R7
    CJNE A,PWM_VALUE,OFF_PULSE ;DU THOI GIAN DAY XUNG THI TAT THIET BI
    CLR PWM ;TAT THIET BI
    OFF_PULSE:
    CJNE A,#100,EXIT_ISR ;CHUA HET CHU KY DIEU XUNG THI THOAT NGAT
    SETB PWM ;TOI ROI THI MO THIET BI
    MOV R7,#0 ;RESET LAI BIEN DEM
    EXIT_ISR:
    MOV C,7FH
    POP ACC
    RETI
    DELAY50MS:
    MOV TH1,#HIGH(-50000) ; CHUONG TRINH CON TRE 50MS GIAY
    MOV TL1,#LOW(-50000) ; SU DUNG THACH ANH 12MHZ
    SETB TR1
    JNB TF1,$
    CLR TR1
    CLR TF1
    RET
    DELAY200MS:
    LCALL DELAY50MS
    LCALL DELAY50MS
    LCALL DELAY50MS
    LCALL DELAY50MS
    RET
    END

Về tác giả

Collapse

congminh.cdt Tìm hiểu thêm về congminh.cdt

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

Collapse

Đang tải...
X