|
Tài trợ cho PIC Vietnam |
Điều khiển Lý thuyết điều khiển và ứng dụng lý thuyết điều khiển trong những trường hợp thực tế |
|
Ðiều Chỉnh | Xếp Bài |
23-04-2010, 05:21 PM | #14 |
Đệ tử 2 túi
Tham gia ngày: Oct 2008
Bài gửi: 44
: |
Lâu nay mình không ghé luồng này, không biết các bạn có cần nửa không mình củng xin nói vài lời .
Cái Driver của mình đầu vào nhận step/dir và enb. Công suất dùng L298 (đk motor bước 4 dây). Mô tả mạch : đầu vào gồm 3 chân: step, Dir, Enb. Đầu ra : 4 chân để nối với đc VXL pic16f877a nhận xung và xử lý cho ra nửa bước. Đây là code asm ;================================================= ================================================= ;Auhor: QUYNH NHU - TRUNG HIEU ;Date: APRIL 15 09 ;Hardware: PIC16F877A ;SU DUNG TIMER0 LAM BO DEM XUNG VAO, LAY XUNG VAO TU CONG MAY IN, XUAT XUNG RA 4 CHAN PORTB ;================================================= ================================================= TITLE "STEPPER DRIVER" INCLUDE<P16f877A.inc> __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_OFF & _CPD_OFF &_LVP_OFF ;================================================= ================================================= COUNT EQU 0x20 COUNT1 EQU 0x21 COUNT2 EQU 0x22 ;=========================CHUONG TRINH CHINH============================================= ========== ORG 0x0000 GOTO MAIN ORG 0x0005 MAIN CLRF TMR0 CLRF INTCON BSF STATUS,RP0 MOVLW B'00111000' MOVWF OPTION_REG MOVLW B'00010000' MOVWF TRISB BCF STATUS,RP0 CLRF PORTB LOOP CLRF TMR0 LOOP0 MOVF TMR0,0 SUBLW D'1' BTFSC STATUS,Z ; KIEM TRA KET QUA CO = 0 HAY KHONG GOTO BUOC1 ; NEU KET QUA = 0 THI NHAY TOI BUOC1 BTFSC STATUS,C ; NEU KET QUA KHAC 0 THI KIEM TRA KET QUA - HAY + GOTO LOOP0 ; TRO LAI CHO DEN KHI XUNG VAO = 1 ;------------------------ KIEM TRA XEM SO XUNG = 2 HAY CHUA LOOP1 MOVF TMR0,0 SUBLW D'2' BTFSC STATUS,Z ; KIEM TRA KET QUA CO = 0 HAY KHONG GOTO BUOC2 ; NEU KET QUA = 0 THI NHAY TOI BUOC1 BTFSC STATUS,C ; NEU KET QUA KHAC 0 THI KIEM TRA KET QUA - HAY + GOTO LOOP1 ; TRO LAI CHO DEN KHI XUNG VAO = 2 ;------------------------ KIEM TRA XEM SO XUNG = 3 HAY CHUA LOOP2 MOVF TMR0,0 SUBLW D'3' BTFSC STATUS,Z ; KIEM TRA KET QUA CO = 0 HAY KHONG GOTO BUOC3 ; NEU KET QUA = 0 THI NHAY TOI BUOC1 BTFSC STATUS,C ; NEU KET QUA KHAC 0 THI KIEM TRA KET QUA - HAY + GOTO LOOP2 ; TRO LAI CHO DEN KHI XUNG VAO = 3 ;------------------------ KIEM TRA XEM SO XUNG = 4 HAY CHUA LOOP3 MOVF TMR0,0 SUBLW D'4' BTFSC STATUS,Z ; KIEM TRA KET QUA CO = 0 HAY KHONG GOTO BUOC4 ; NEU KET QUA = 0 THI NHAY TOI BUOC1 BTFSC STATUS,C ; NEU KET QUA KHAC 0 THI KIEM TRA KET QUA - HAY + GOTO LOOP3 ; TRO LAI CHO DEN KHI XUNG VAO = 4 ;------------------------ KIEM TRA XEM SO XUNG = 5 HAY CHUA LOOP4 MOVF TMR0,0 SUBLW D'5' BTFSC STATUS,Z ; KIEM TRA KET QUA CO = 0 HAY KHONG GOTO BUOC5 ; NEU KET QUA = 0 THI NHAY TOI BUOC1 BTFSC STATUS,C ; NEU KET QUA KHAC 0 THI KIEM TRA KET QUA - HAY + GOTO LOOP4 ; TRO LAI CHO DEN KHI XUNG VAO = 5 ;------------------------ KIEM TRA XEM SO XUNG = 6 HAY CHUA LOOP5 MOVF TMR0,0 SUBLW D'6' BTFSC STATUS,Z ; KIEM TRA KET QUA CO = 0 HAY KHONG GOTO BUOC6 ; NEU KET QUA = 0 THI NHAY TOI BUOC1 BTFSC STATUS,C ; NEU KET QUA KHAC 0 THI KIEM TRA KET QUA - HAY + GOTO LOOP5 ; TRO LAI CHO DEN KHI XUNG VAO = 6 ;------------------------ KIEM TRA XEM SO XUNG = 7 HAY CHUA LOOP6 MOVF TMR0,0 SUBLW D'7' BTFSC STATUS,Z ; KIEM TRA KET QUA CO = 0 HAY KHONG GOTO BUOC7 ; NEU KET QUA = 0 THI NHAY TOI BUOC1 BTFSC STATUS,C ; NEU KET QUA KHAC 0 THI KIEM TRA KET QUA - HAY + GOTO LOOP6 ; TRO LAI CHO DEN KHI XUNG VAO = 7 ;------------------------ KIEM TRA XEM SO XUNG = 8 HAY CHUA LOOP7 MOVF TMR0,0 SUBLW D'8' BTFSC STATUS,Z ; KIEM TRA KET QUA CO = 0 HAY KHONG GOTO BUOC8 ; NEU KET QUA = 0 THI NHAY TOI BUOC1 BTFSC STATUS,C ; NEU KET QUA KHAC 0 THI KIEM TRA KET QUA - HAY + GOTO LOOP7 ; TRO LAI CHO DEN KHI XUNG VAO = 8 BUOC1 MOVF PORTB,0 CALL TABLE MOVWF PORTB GOTO LOOP1 BUOC2 MOVF PORTB,0 CALL TABLE MOVWF PORTB GOTO LOOP2 BUOC3 MOVF PORTB,0 CALL TABLE MOVWF PORTB GOTO LOOP3 BUOC4 MOVF PORTB,0 CALL TABLE MOVWF PORTB GOTO LOOP4 BUOC5 MOVF PORTB,0 CALL TABLE MOVWF PORTB GOTO LOOP5 BUOC6 MOVF PORTB,0 CALL TABLE MOVWF PORTB GOTO LOOP6 BUOC7 MOVF PORTB,0 CALL TABLE MOVWF PORTB GOTO LOOP7 BUOC8 MOVF PORTB,0 CALL TABLE MOVWF PORTB GOTO LOOP TABLE ADDWF PCL,1 RETLW B'00000101' ;0---- RETLW B'00001001' ;1---- RETLW B'00000110' ;2---- RETLW B'00000000' ;3--- RETLW B'00000101' ;4---- RETLW B'00000001' ;5---- RETLW B'00000100' ;6---- RETLW B'00000000' ;7 RETLW B'00001010' ;8---- RETLW B'00001000' ;9---- RETLW B'00000010' ;10--- RETLW B'00000000' ;11 RETLW B'00000000' ;12 RETLW B'00000000' ;13 RETLW B'00000000' ;14 RETLW B'00000000' ;15 RETLW B'00000101' ;16--- RETLW B'00000101' ;17--- RETLW B'00001010' ;18--- RETLW B'00000000' ;19--- RETLW B'00000110' ;20--- RETLW B'00000100' ;21--- RETLW B'00000010' ;22--- RETLW B'00000000' ;23 RETLW B'00001001' ;24--- RETLW B'00000001' ;25--- RETLW B'00001000' ;26--- END |
|
|