PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-05-2012, 08:52 PM   #1
sangeluda
Nhập môn đệ tử
 
Tham gia ngày: May 2012
Bài gửi: 1
:
Giúp đỡ về code

mình có mạch invertter su dung băm xung sủ dung pic16f877a nhưng không biết viết code cho chương trinh như thế nào đây là mạch mình lấy trên mạng mình còn gà trong lập trình mong các bác giúp đỡ.http://www.picvietnam.com/forum/atta...1&d=1337171775
File Kèm Theo
File Type: pdf mach tong the_2.pdf (92.5 KB, 49 lần tải)
sangeluda vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-05-2012, 05:16 PM   #2
h2nd0i
Nhập môn đệ tử
 
Tham gia ngày: May 2012
Bài gửi: 3
:
nhờ mọi người xem dùm em code này với...

http://www.mediafire.com/?5be6ku4btajr3wk


http://www.mediafire.com/?1tm1asqxl6cnxeo



http://www.mediafire.com/?0tuj07wc6j2fjkx


em nạp mà mạch ko thấy j` mong mọi người chị dùm em phần sai nha.thanks...
h2nd0i vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-06-2012, 01:58 AM   #3
quitnownpc
Nhập môn đệ tử
 
Tham gia ngày: Apr 2012
Bài gửi: 2
:
Em làm về con pic16f877a và icds1307 hien thi thoi gian thuc ngay thang nam gio phut giay anh nao biet chi gium em voi
quitnownpc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-06-2012, 04:32 PM   #4
thuynavy
Đệ tử 1 túi
 
Tham gia ngày: Mar 2012
Bài gửi: 22
:
Mọi người cho em hỏi tí. Để Viết chương trình cho việc kiểm tra ngắt rb4-rb7 trước, nếu đã xảy ra rồi mới ngắt rb0 thì làm tn nhỉ?
thuynavy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-10-2012, 05:05 PM   #5
kennypham992
Đệ tử 1 túi
 
Tham gia ngày: Oct 2012
Bài gửi: 11
:
help!!!

em làm môn đồ án 1 về con PIC 16f877a điều khiển đèn dây tóc sáng liên tục và sáng trong 15s,20s....ace nào có ý tưởng hay tài liệu gì về đề tài đó thì send giúp e với....tiện thì liên lạc yh: hoangtu_bairac2000 DTDD: 01699908123
Thanks!!!
kennypham992 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-12-2012, 12:29 PM   #6
kidmaster08
Đệ tử 2 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 41
:
Ngồi nghịch ngợm viết chương trình cho việc đếm tần số sóng ngắn, các bạn thử xem con gì để sửa không nha. các bít cấu hình đã cấu hình trong mplab

Code:
 
 
PROCESSOR 16F877A
INCLUDE <P16F877A.INC>
 
    E EQU 0
    RS EQU 1
    RW EQU 2
    BUFF0 EQU 0X27
    BUFF1 EQU 0X28
    BUFF2 EQU 0X29
    BUFF3 EQU 0X31
    BUFF4 EQU 0X32
    BUFF5 EQU 0X33
    BUFF6 EQU 0X38
    BUFF7 EQU 0X39
    CNTW EQU 0X34
    CNT1 EQU 0X35
    CNT2 EQU 0X36
    WORKA EQU 0X41
    WORKB EQU 0X45
    CNTA EQU 0X42
    CNTB EQU 0X43
    CNTW1 EQU 0X43
    CNTW2 EQU 0X44
; BAT DAU CHUONG TRINH
    ORG 0X00 
    GOTO START
START
    BCF STATUS,RP1
    BSF STATUS,RP0
    MOVLW 0X00
    MOVWF TRISB
    CLRF PIE1
    MOVLW 0X00
    MOVWF TRISD
    MOVLW 0XFF
    MOVWF TRISC
    CLRF OPTION_REG
    BSF OPTION_REG,7
    BCF STATUS,RP0
 
    MOVLW 0X0E
    MOVWF T1CON ; THIET LAP THONG SO CHO BO DEM TMR1 : CHAN DEM TU RC0, HE SO CHIA =1, DEM KO DONG BO
    CLRF PIR1
 
;THIET LAP BAN DAU CHO LCD
    CALL WAITLCD
    BCF PORTB,RS
    MOVLW 0X38
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    BCF PORTB,RS
    MOVLW 0X01
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    BCF PORTB,RS
    MOVLW 0X0C
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
LOOP
    CLRF BUFF0
    CLRF BUFF1
    CLRF BUFF2
    CLRF BUFF3
    CLRF BUFF4
    CLRF BUFF5
    CLRF BUFF6
    CLRF BUFF7
    CLRF CNTA
    CLRF CNTB
    CLRF CNTW1
    CLRF WORKA
    CLRF WORKB
    CLRF CNTW2
    CLRF TMR1H
    CLRF TMR1L
    CLRF CNT1
    CLRF CNT2
    BCF PIR1,TMR1IF
    BSF T1CON,TMR1ON ; BAT DAU DEM
    NOP
    NOP
    NOP 
    NOP
    NOP
    NOP
    NOP
    NOP
NOP
    CALL TMRCHK 
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
 
    BCF T1CON,TMR1ON 
    MOVF CNTW1,0 ; TAT BO DEM DE XU LY KET QUA DEM
    MOVWF CNTA
    MOVF CNTW2,0
    MOVWF CNTB
    MOVF TMR1H,0
    MOVWF CNT1
    MOVF TMR1L,0
    MOVWF CNT2
    BTFSS PIR1,TMR1IF
    GOTO HH0
    MOVLW 0XFF
    SUBWF CNTA,0
    BTFSC STATUS,Z ;CNTA DA BANG 255 HAY CHUA ?
    GOTO HH1
    INCF CNTA
    GOTO HH0
HH1 
    CLRF CNTA
    INCF CNTB
 
HH0 ; LUC NAY CNTA,CNTB LUU SO LAN TRAN, CNT1 VA CNT2 LUU TRONG TMR1H VA TMR1L
 
    MOVLW 0X02
    SUBWF CNTB,0
    BTFSC STATUS,C 
    GOTO OVER
    MOVLW 0X02
    SUBWF CNTB,0
    BTFSC STATUS,Z
    GOTO OVER
    BTFSS CNTB,0 ; BAT DAU VIET NHU CHUONG TRINH CU
    GOTO CD1
    MOVLW d'1'
    MOVWF BUFF0
    MOVLW d'6'
    MOVWF BUFF1
    MOVLW d'7'
    MOVWF BUFF2
    MOVLW d'7'
    MOVWF BUFF3
    MOVLW d'7'
    MOVWF BUFF4
    MOVLW d'2'
    MOVWF BUFF5
    MOVLW d'1'
    MOVWF BUFF6
    MOVLW d'6'
    MOVWF BUFF7
CD1
    BTFSS CNTA,7
    GOTO CD2
    MOVLW d'8'
    ADDWF BUFF1
    MOVLW d'3'
    ADDWF BUFF2
    MOVLW d'8'
    ADDWF BUFF3
    MOVLW d'8'
    ADDWF BUFF4
    MOVLW d'6'
    ADDWF BUFF5
    MOVLW d'0'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
CD2
    BTFSS CNTA,6
    GOTO CD3
    MOVLW d'4'
    ADDWF BUFF1,1
    MOVLW d'1'
    ADDWF BUFF2
    MOVLW d'9'
    ADDWF BUFF3
    MOVLW d'4'
    ADDWF BUFF4
    MOVLW d'3'
    ADDWF BUFF5
    MOVLW d'0'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD3
    BTFSS CNTA,5
    GOTO CD4
    MOVLW d'2'
    ADDWF BUFF1
    MOVLW d'0'
    ADDWF BUFF2
    MOVLW d'9'
    ADDWF BUFF3
    MOVLW d'7'
    ADDWF BUFF4
    MOVLW d'1'
    ADDWF BUFF5
    MOVLW d'5'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7
CD4
    BTFSS CNTA,4
    GOTO CD5
    MOVLW d'1'
    ADDWF BUFF1
    MOVLW d'0'
    ADDWF BUFF2
    MOVLW d'4'
    ADDWF BUFF3
    MOVLW d'8'
    ADDWF BUFF4
    MOVLW d'5'
    ADDWF BUFF5
    MOVLW d'7'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
 
CD5
    BTFSS CNTA,3    
    GOTO CD6
    MOVLW d'5'
    ADDWF BUFF2
    MOVLW d'2'
    ADDWF BUFF3
    MOVLW d'4'
    ADDWF BUFF4
    MOVLW d'2'
    ADDWF BUFF5
    MOVLW d'8'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
 
CD6
    BTFSS CNTA,2
    GOTO CD7
    MOVLW d'2'
    ADDWF BUFF2
    MOVLW d'6'
    ADDWF BUFF3
    MOVLW d'2'
    ADDWF BUFF4
    MOVLW d'1'
    ADDWF BUFF5
    MOVLW d'4'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD7    
    BTFSS CNTA,1
    GOTO CD8
    MOVLW d'1'
    ADDWF BUFF2
    MOVLW d'3'
    ADDWF BUFF3
    MOVLW d'1'
    ADDWF BUFF4
    MOVLW d'0'
    ADDWF BUFF5
    MOVLW d'7'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7    
CD8
    BTFSS CNTA,0
    GOTO CD9
    MOVLW d'6'
    ADDWF BUFF3
    MOVLW d'5'
    ADDWF BUFF4
    MOVLW d'5'
    ADDWF BUFF5
    MOVLW d'3'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
CD9
    BTFSS CNT1,7
    GOTO CD10
    MOVLW d'3'
    ADDWF BUFF3
    MOVLW d'2'
    ADDWF BUFF4
    MOVLW d'7'
    ADDWF BUFF5
    MOVLW d'6'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
CD10
    BTFSS CNT1,6
    GOTO CD11
    MOVLW d'1'
    ADDWF BUFF3
    MOVLW d'6'
    ADDWF BUFF4
    MOVLW d'3'
    ADDWF BUFF5
    MOVLW d'8'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD11
    BTFSS CNT1,5
    GOTO CD12
    MOVLW d'8'
    ADDWF BUFF4
    MOVLW d'1'
    ADDWF BUFF5
    MOVLW d'9'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7
CD12
    BTFSS CNT1,4
    GOTO CD13
    MOVLW d'4'
    ADDWF BUFF4
    MOVLW d'0'
    ADDWF BUFF5
    MOVLW d'9'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
CD13 
    BTFSS CNT1,3
    GOTO CD14
    MOVLW d'2'
    ADDWF BUFF4
    MOVLW d'0'
    ADDWF BUFF5
    MOVLW d'4'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
CD14
    BTFSS CNT1,2
    GOTO CD15
    MOVLW d'1'
    ADDWF BUFF4
    MOVLW d'0'
    ADDWF BUFF5
    MOVLW d'2'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD15
    BTFSS CNT1,1
    GOTO CD16
    MOVLW d'5'
    ADDWF BUFF5
    MOVLW d'1'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7
CD16
    BTFSS CNT1,0
    GOTO CD17
    MOVLW d'2'
    ADDWF BUFF5
    MOVLW d'5'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
CD17
    BTFSS CNT2,7
    GOTO CD18
    MOVLW d'1'
    ADDWF BUFF5
    MOVLW d'2'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
CD18
    BTFSS CNT2,6
    GOTO CD19    
    MOVLW d'6'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD19
    BTFSS CNT2,5
    GOTO CD20
    MOVLW d'3'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7
CD20
    BTFSS CNT2,4
    GOTO CD21
    MOVLW d'1'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
CD21
    BTFSS CNT2,3
    GOTO CD22
    MOVLW d'8'
    ADDWF BUFF7
CD22
    BTFSS CNT2,2
    GOTO CD23
    MOVLW d'4'
    ADDWF BUFF7
CD23
    BTFSS CNT2,1
    GOTO CD24
    MOVLW d'2'
    ADDWF BUFF7    
CD24
    BTFSS CNT2,0
    GOTO CONVERT
    MOVLW d'1'
    ADDWF BUFF7
CONVERT
    MOVLW 0X0A
    SUBWF BUFF7,0
    BTFSS STATUS,C
    GOTO CR1
    MOVLW 0X0A
    SUBWF BUFF7,1
    INCF BUFF6
    GOTO CONVERT
CR1
    MOVLW 0X0A
    SUBWF BUFF6,0
    BTFSS STATUS,C
    GOTO CR2
    MOVLW 0X0A
    SUBWF BUFF6,1
    INCF BUFF5
    GOTO CR1
CR2
    MOVLW 0X0A
    SUBWF BUFF5,0
    BTFSS STATUS,C
    GOTO CR3
    MOVLW 0X0A
    SUBWF BUFF5,1
    INCF BUFF4
    GOTO CR2
CR3
    MOVLW 0X0A
    SUBWF BUFF4,0
    BTFSS STATUS,C
    GOTO CR4
    MOVLW 0X0A
    SUBWF BUFF4,1
    INCF BUFF3
    GOTO CR3
CR4
    MOVLW 0X0A
    SUBWF BUFF3,0
    BTFSS STATUS,C
    GOTO CR5
    MOVLW 0X0A
    SUBWF BUFF3,1
    INCF BUFF2
    GOTO CR4
CR5
    MOVLW 0X0A
    SUBWF BUFF2,0
    BTFSS STATUS,C
    GOTO CR6
    MOVLW 0X0A
    SUBWF BUFF2,1
    INCF BUFF1
    GOTO CR5
CR6
    MOVLW 0X0A
    SUBWF BUFF1,0
    BTFSS STATUS,C
    GOTO DOCKQ
    MOVLW 0X0A
    SUBWF BUFF1,1
    INCF BUFF0
    GOTO CR6
 
DOCKQ 
    MOVLW d'48'
    ADDWF BUFF0,1
    ADDWF BUFF1,1
    ADDWF BUFF2,1
    ADDWF BUFF3,1
    ADDWF BUFF4,1
    ADDWF BUFF5,1
    ADDWF BUFF6,1
    ADDWF BUFF7,1
    BCF PORTB,RS
    MOVLW 0X80
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'.'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'T'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'A'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'N'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #' '
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'S'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'O'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #' '
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'C'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'O'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    MOVLW #'N'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'G'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #' '
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    MOVLW #'T'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'A'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    MOVLW #'C'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
 
    BCF PORTB,RS
    MOVLW 0XC2
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVF BUFF0,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
 
    MOVF BUFF1,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'.'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVF BUFF2,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVF BUFF3,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVF BUFF4,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVLW #' '
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVF BUFF5,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
 
    MOVF BUFF6,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
 
    MOVF BUFF7,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVLW #'M'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD    
 
    MOVLW #'H'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
    MOVLW #'z'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
    GOTO LOOP
 
TMRCHK ; XU LY THOI GIAN THUC, CAN THAN
    MOVLW d'189'
    MOVWF WORKB
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
;    NOP
TMRCHK1
    MOVLW d'25'
    MOVWF WORKA
KT     
    BTFSS PIR1,TMR1IF 
    GOTO XX1
    BCF PIR1,TMR1IF 
    MOVLW 0XFF
    SUBWF CNTW1,0
    BTFSS STATUS,Z
    GOTO XXX
    INCF CNTW2
    CLRF CNTW1
    GOTO XX2
XXX 
    INCF CNTW1
    GOTO XX2
XX1 
    NOP
    NOP 
    NOP 
    NOP 
    NOP
    NOP
    NOP
    NOP
XX2 
    nop
    NOP
    NOP 
    NOP
    NOP
NOP
    NOP
DECFSZ WORKA
    GOTO KT
    DECFSZ WORKB ; XEM LAI TAI DAY
    GOTO TMRCHK1
    RETURN
OVER
    BCF PORTB,RS
    MOVLW 0X81
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    MOVLW #'.'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
    MOVLW #'O'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
    MOVLW #'V'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
    MOVLW #'E'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
    MOVLW #'R'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    goto LOOP
 
WAITLCD
    BCF PORTB,E
    BSF PORTB,RW
    BSF STATUS,RP0
    MOVLW 0XFF
    MOVWF TRISD
    BCF STATUS,RP0
WAIT1
    BTFSC PORTD,7
    GOTO WAIT1
    BSF PORTB,RS
    BCF PORTB,RW
    BSF STATUS,RP0
    MOVLW 0X00
    MOVWF TRISD
    BCF STATUS,RP0
    RETURN
    END
Mô phong trên proteus thì được, không hiểu ra mạch thực thì thế nào,hĩ

thay đổi nội dung bởi: hatuan296, 16-12-2012 lúc 03:37 PM.
kidmaster08 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-12-2012, 12:39 PM   #7
kidmaster08
Đệ tử 2 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 41
:
Code:
 
PROCESSOR 16F877A
INCLUDE <P16F877A.INC>
 
    E EQU 0
    RS EQU 1
    RW EQU 2
    BUFF0 EQU 0X27
    BUFF1 EQU 0X28
    BUFF2 EQU 0X29
    BUFF3 EQU 0X31
    BUFF4 EQU 0X32
    BUFF5 EQU 0X33
    BUFF6 EQU 0X38
    BUFF7 EQU 0X39
    CNTW EQU 0X34
    CNT1 EQU 0X35
    CNT2 EQU 0X36
    WORKA EQU 0X41
    WORKB EQU 0X45
    CNTA EQU 0X42
    CNTB EQU 0X43
    CNTW1 EQU 0X43
    CNTW2 EQU 0X44
; BAT DAU CHUONG TRINH
    ORG 0X00 
    GOTO START
START
    BCF STATUS,RP1
    BSF STATUS,RP0
    MOVLW 0X00
    MOVWF TRISB
    CLRF PIE1
    MOVLW 0X00
    MOVWF TRISD
    MOVLW 0XFF
    MOVWF TRISC
    CLRF OPTION_REG
    BSF OPTION_REG,7
    BCF STATUS,RP0
 
    MOVLW 0X0E
    MOVWF T1CON ; THIET LAP THONG SO CHO BO DEM TMR1 : CHAN DEM TU RC0, HE SO CHIA =1, DEM KO DONG BO
    CLRF PIR1
 
;THIET LAP BAN DAU CHO LCD
    CALL WAITLCD
    BCF PORTB,RS
    MOVLW 0X38
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    BCF PORTB,RS
    MOVLW 0X01
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    BCF PORTB,RS
    MOVLW 0X0C
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
LOOP
    CLRF BUFF0
    CLRF BUFF1
    CLRF BUFF2
    CLRF BUFF3
    CLRF BUFF4
    CLRF BUFF5
    CLRF BUFF6
    CLRF BUFF7
    CLRF CNTA
    CLRF CNTB
    CLRF CNTW1
    CLRF WORKA
    CLRF WORKB
    CLRF CNTW2
    CLRF TMR1H
    CLRF TMR1L
    CLRF CNT1
    CLRF CNT2
    BCF PIR1,TMR1IF
    BSF T1CON,TMR1ON ; BAT DAU DEM
    NOP
    NOP
    NOP 
    NOP
    NOP
    NOP
    NOP
    NOP
NOP
    CALL TMRCHK 
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
    CALL TMRCHK
 
    BCF T1CON,TMR1ON 
    MOVF CNTW1,0 ; TAT BO DEM DE XU LY KET QUA DEM
    MOVWF CNTA
    MOVF CNTW2,0
    MOVWF CNTB
    MOVF TMR1H,0
    MOVWF CNT1
    MOVF TMR1L,0
    MOVWF CNT2
    BTFSS PIR1,TMR1IF
    GOTO HH0
    MOVLW 0XFF
    SUBWF CNTA,0
    BTFSC STATUS,Z ;CNTA DA BANG 255 HAY CHUA ?
    GOTO HH1
    INCF CNTA
    GOTO HH0
HH1 
    CLRF CNTA
    INCF CNTB
 
HH0 ; LUC NAY CNTA,CNTB LUU SO LAN TRAN, CNT1 VA CNT2 LUU TRONG TMR1H VA TMR1L
 
    MOVLW 0X02
    SUBWF CNTB,0
    BTFSC STATUS,C 
    GOTO OVER
    MOVLW 0X02
    SUBWF CNTB,0
    BTFSC STATUS,Z
    GOTO OVER
    BTFSS CNTB,0 ; BAT DAU VIET NHU CHUONG TRINH CU
    GOTO CD1
    MOVLW d'1'
    MOVWF BUFF0
    MOVLW d'6'
    MOVWF BUFF1
    MOVLW d'7'
    MOVWF BUFF2
    MOVLW d'7'
    MOVWF BUFF3
    MOVLW d'7'
    MOVWF BUFF4
    MOVLW d'2'
    MOVWF BUFF5
    MOVLW d'1'
    MOVWF BUFF6
    MOVLW d'6'
    MOVWF BUFF7
CD1
    BTFSS CNTA,7
    GOTO CD2
    MOVLW d'8'
    ADDWF BUFF1
    MOVLW d'3'
    ADDWF BUFF2
    MOVLW d'8'
    ADDWF BUFF3
    MOVLW d'8'
    ADDWF BUFF4
    MOVLW d'6'
    ADDWF BUFF5
    MOVLW d'0'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
CD2
    BTFSS CNTA,6
    GOTO CD3
    MOVLW d'4'
    ADDWF BUFF1,1
    MOVLW d'1'
    ADDWF BUFF2
    MOVLW d'9'
    ADDWF BUFF3
    MOVLW d'4'
    ADDWF BUFF4
    MOVLW d'3'
    ADDWF BUFF5
    MOVLW d'0'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD3
    BTFSS CNTA,5
    GOTO CD4
    MOVLW d'2'
    ADDWF BUFF1
    MOVLW d'0'
    ADDWF BUFF2
    MOVLW d'9'
    ADDWF BUFF3
    MOVLW d'7'
    ADDWF BUFF4
    MOVLW d'1'
    ADDWF BUFF5
    MOVLW d'5'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7
CD4
    BTFSS CNTA,4
    GOTO CD5
    MOVLW d'1'
    ADDWF BUFF1
    MOVLW d'0'
    ADDWF BUFF2
    MOVLW d'4'
    ADDWF BUFF3
    MOVLW d'8'
    ADDWF BUFF4
    MOVLW d'5'
    ADDWF BUFF5
    MOVLW d'7'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
 
CD5
    BTFSS CNTA,3    
    GOTO CD6
    MOVLW d'5'
    ADDWF BUFF2
    MOVLW d'2'
    ADDWF BUFF3
    MOVLW d'4'
    ADDWF BUFF4
    MOVLW d'2'
    ADDWF BUFF5
    MOVLW d'8'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
 
CD6
    BTFSS CNTA,2
    GOTO CD7
    MOVLW d'2'
    ADDWF BUFF2
    MOVLW d'6'
    ADDWF BUFF3
    MOVLW d'2'
    ADDWF BUFF4
    MOVLW d'1'
    ADDWF BUFF5
    MOVLW d'4'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD7    
    BTFSS CNTA,1
    GOTO CD8
    MOVLW d'1'
    ADDWF BUFF2
    MOVLW d'3'
    ADDWF BUFF3
    MOVLW d'1'
    ADDWF BUFF4
    MOVLW d'0'
    ADDWF BUFF5
    MOVLW d'7'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7    
CD8
    BTFSS CNTA,0
    GOTO CD9
    MOVLW d'6'
    ADDWF BUFF3
    MOVLW d'5'
    ADDWF BUFF4
    MOVLW d'5'
    ADDWF BUFF5
    MOVLW d'3'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
CD9
    BTFSS CNT1,7
    GOTO CD10
    MOVLW d'3'
    ADDWF BUFF3
    MOVLW d'2'
    ADDWF BUFF4
    MOVLW d'7'
    ADDWF BUFF5
    MOVLW d'6'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
CD10
    BTFSS CNT1,6
    GOTO CD11
    MOVLW d'1'
    ADDWF BUFF3
    MOVLW d'6'
    ADDWF BUFF4
    MOVLW d'3'
    ADDWF BUFF5
    MOVLW d'8'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD11
    BTFSS CNT1,5
    GOTO CD12
    MOVLW d'8'
    ADDWF BUFF4
    MOVLW d'1'
    ADDWF BUFF5
    MOVLW d'9'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7
CD12
    BTFSS CNT1,4
    GOTO CD13
    MOVLW d'4'
    ADDWF BUFF4
    MOVLW d'0'
    ADDWF BUFF5
    MOVLW d'9'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
CD13 
    BTFSS CNT1,3
    GOTO CD14
    MOVLW d'2'
    ADDWF BUFF4
    MOVLW d'0'
    ADDWF BUFF5
    MOVLW d'4'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
CD14
    BTFSS CNT1,2
    GOTO CD15
    MOVLW d'1'
    ADDWF BUFF4
    MOVLW d'0'
    ADDWF BUFF5
    MOVLW d'2'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD15
    BTFSS CNT1,1
    GOTO CD16
    MOVLW d'5'
    ADDWF BUFF5
    MOVLW d'1'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7
CD16
    BTFSS CNT1,0
    GOTO CD17
    MOVLW d'2'
    ADDWF BUFF5
    MOVLW d'5'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
CD17
    BTFSS CNT2,7
    GOTO CD18
    MOVLW d'1'
    ADDWF BUFF5
    MOVLW d'2'
    ADDWF BUFF6
    MOVLW d'8'
    ADDWF BUFF7
CD18
    BTFSS CNT2,6
    GOTO CD19    
    MOVLW d'6'
    ADDWF BUFF6
    MOVLW d'4'
    ADDWF BUFF7
CD19
    BTFSS CNT2,5
    GOTO CD20
    MOVLW d'3'
    ADDWF BUFF6
    MOVLW d'2'
    ADDWF BUFF7
CD20
    BTFSS CNT2,4
    GOTO CD21
    MOVLW d'1'
    ADDWF BUFF6
    MOVLW d'6'
    ADDWF BUFF7
CD21
    BTFSS CNT2,3
    GOTO CD22
    MOVLW d'8'
    ADDWF BUFF7
CD22
    BTFSS CNT2,2
    GOTO CD23
    MOVLW d'4'
    ADDWF BUFF7
CD23
    BTFSS CNT2,1
    GOTO CD24
    MOVLW d'2'
    ADDWF BUFF7    
CD24
    BTFSS CNT2,0
    GOTO CONVERT
    MOVLW d'1'
    ADDWF BUFF7
CONVERT
    MOVLW 0X0A
    SUBWF BUFF7,0
    BTFSS STATUS,C
    GOTO CR1
    MOVLW 0X0A
    SUBWF BUFF7,1
    INCF BUFF6
    GOTO CONVERT
CR1
    MOVLW 0X0A
    SUBWF BUFF6,0
    BTFSS STATUS,C
    GOTO CR2
    MOVLW 0X0A
    SUBWF BUFF6,1
    INCF BUFF5
    GOTO CR1
CR2
    MOVLW 0X0A
    SUBWF BUFF5,0
    BTFSS STATUS,C
    GOTO CR3
    MOVLW 0X0A
    SUBWF BUFF5,1
    INCF BUFF4
    GOTO CR2
CR3
    MOVLW 0X0A
    SUBWF BUFF4,0
    BTFSS STATUS,C
    GOTO CR4
    MOVLW 0X0A
    SUBWF BUFF4,1
    INCF BUFF3
    GOTO CR3
CR4
    MOVLW 0X0A
    SUBWF BUFF3,0
    BTFSS STATUS,C
    GOTO CR5
    MOVLW 0X0A
    SUBWF BUFF3,1
    INCF BUFF2
    GOTO CR4
CR5
    MOVLW 0X0A
    SUBWF BUFF2,0
    BTFSS STATUS,C
    GOTO CR6
    MOVLW 0X0A
    SUBWF BUFF2,1
    INCF BUFF1
    GOTO CR5
CR6
    MOVLW 0X0A
    SUBWF BUFF1,0
    BTFSS STATUS,C
    GOTO DOCKQ
    MOVLW 0X0A
    SUBWF BUFF1,1
    INCF BUFF0
    GOTO CR6
 
DOCKQ 
    MOVLW d'48'
    ADDWF BUFF0,1
    ADDWF BUFF1,1
    ADDWF BUFF2,1
    ADDWF BUFF3,1
    ADDWF BUFF4,1
    ADDWF BUFF5,1
    ADDWF BUFF6,1
    ADDWF BUFF7,1
    BCF PORTB,RS
    MOVLW 0X80
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'.'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'T'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'A'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'N'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #' '
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'S'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'O'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #' '
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'C'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'O'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    MOVLW #'N'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'G'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #' '
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    MOVLW #'T'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'A'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    MOVLW #'C'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
 
    BCF PORTB,RS
    MOVLW 0XC2
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVF BUFF0,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
 
    MOVF BUFF1,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
    MOVLW #'.'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVF BUFF2,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVF BUFF3,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVF BUFF4,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVLW #' '
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVF BUFF5,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
 
    MOVF BUFF6,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
 
    MOVF BUFF7,0
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
 
    MOVLW #'M'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD    
 
    MOVLW #'H'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
    MOVLW #'z'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E 
    CALL WAITLCD
    GOTO LOOP
 
TMRCHK ; XU LY THOI GIAN THUC, CAN THAN
    MOVLW d'189'
    MOVWF WORKB
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
;    NOP
TMRCHK1
    MOVLW d'25'
    MOVWF WORKA
KT     
    BTFSS PIR1,TMR1IF 
    GOTO XX1
    BCF PIR1,TMR1IF 
    MOVLW 0XFF
    SUBWF CNTW1,0
    BTFSS STATUS,Z
    GOTO XXX
    INCF CNTW2
    CLRF CNTW1
    GOTO XX2
XXX 
    INCF CNTW1
    GOTO XX2
XX1 
    NOP
    NOP 
    NOP 
    NOP 
    NOP
    NOP
    NOP
    NOP
XX2 
    nop
    NOP
    NOP 
    NOP
    NOP
NOP
    NOP
DECFSZ WORKA
    GOTO KT
    DECFSZ WORKB ; XEM LAI TAI DAY
    GOTO TMRCHK1
    RETURN
OVER
    BCF PORTB,RS
    MOVLW 0X81
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    MOVLW #'.'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
    MOVLW #'O'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
    MOVLW #'V'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
    MOVLW #'E'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
 
 
    MOVLW #'R'
    MOVWF PORTD
    BSF PORTB,E
    BCF PORTB,E
    CALL WAITLCD
    goto LOOP
 
WAITLCD
    BCF PORTB,E
    BSF PORTB,RW
    BSF STATUS,RP0
    MOVLW 0XFF
    MOVWF TRISD
    BCF STATUS,RP0
WAIT1
    BTFSC PORTD,7
    GOTO WAIT1
    BSF PORTB,RS
    BCF PORTB,RW
    BSF STATUS,RP0
    MOVLW 0X00
    MOVWF TRISD
    BCF STATUS,RP0
    RETURN
    END

thay đổi nội dung bởi: hatuan296, 16-12-2012 lúc 03:37 PM.
kidmaster08 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-03-2013, 10:14 PM   #8
PriestessOTM
Nhập môn đệ tử
 
Tham gia ngày: Mar 2013
Bài gửi: 2
:
bác nào có tài liệu gì về mạch điều khiển đo tốc độ động cơ sử dụng PIC 16F877A ko gửi em phát. luumanhquang12a1@gmail.com thanks nhiều!
PriestessOTM vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-03-2013, 12:34 AM   #9
daovanduyet
Nhập môn đệ tử
 
Tham gia ngày: Mar 2013
Bài gửi: 2
:
ai có thể viết giúp em chương trình điều khiển nhiệt độ hiển thị ra màn hình lcd được không ạ? có cả khối đo nhiệt độ nữa
các chân Rb* ra màn hình lcd
các chân Ra* ra khối đo nhiệt độ
các chân Rc* ra Rp4
các chân Rd* ra Rp1
cám ơn ạ!
daovanduyet vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2013, 10:49 PM   #10
TRUNGBAOSPKT
Đệ tử 2 túi
 
Tham gia ngày: Sep 2011
Bài gửi: 32
:
@daovanduyet : Em dùng LM35 hay DS1820 ?
TRUNGBAOSPKT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-03-2013, 10:15 AM   #11
luyenictu
Nhập môn đệ tử
 
luyenictu's Avatar
 
Tham gia ngày: Mar 2013
Nơi Cư Ngụ: Bắc Giang
Bài gửi: 1
:
Send a message via Yahoo to luyenictu
Có ai giúp em học Pic với không? Em học mãi mà không hiểu gì? Huhu. Mà em đang phải thiết kế mạch. Ai giúp em với. Quay video cho em thì càng tốt. em xin cảm ơn!

Đề bài của em là Thiết kế mạch đo khoảng cách sử dụng cảm biến SF05 và pic 16F887 hiển thị trên LCD
luyenictu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2013, 10:28 PM   #12
TRUNGBAOSPKT
Đệ tử 2 túi
 
Tham gia ngày: Sep 2011
Bài gửi: 32
:
@luyenictu : Em nên đọc kỹ con SF05 : hoạt động như thế nào , tín hiệu output của nó như thế nào ... rồi viết code , hiển thị giá trị lên LCD là xong . Em cố gắng làm nhé , anh sẽ giúp . Nhớ Thanks đấy nhé :-) . Mail : TRUNGBAOSPKT@yahoo.com
TRUNGBAOSPKT vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-01-2015, 12:58 PM   #13
lamdanh120293
Nhập môn đệ tử
 
Tham gia ngày: Dec 2013
Bài gửi: 1
:
Giúp em với, không biết code bị gì !

Mong các anh giúp em tìm nguyên nhân nổ mạch, không hiểu làm sao khi đổ code vào xe dò line, sau khi chạy được một đoạn thì xịt khói mạch sensor (adc tín hiệu line về vxl), chết con Pic, mạch công suất đứt cầu chì và hỏng 1 bên mạch công suất. Em đã kiểm tra phần đi dây, cách điện giữa các mạch, không thấy vấn đề gì. Hôm trước đã chạy pwm thì chạy bình thường ko có vấn đề, em dã test bộ dò line và mạch adc hoạt động bình thường, khi làm chương trình khác để dò line thì bị cháy..

Xe này em sử dụng các module :
- mạch line 8 led
- mach adc
- mach pic16f877a, 4Mhz
- mach công suất 2 động cơ

Em cảm ơn.
__________________________________________________ ______________________
#include <16f877a.h>
#include <math.h>

#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPUT //No Power Up Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES WRT //Program Memory Write Protected
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOPROTECT //Code not protected from reading

#use delay(clock=4000000)
#define led pin_b0
#define kep 0
#define nha 1
#define dir1 PIN_C0
#define dir2 PIN_C3
#define en1 PIN_C1
#define en2 PIN_C2


//************************************************** ********************************
void main()
{
set_tris_D(0xFF);
unsigned char vitri;
setup_ccp1(ccp_pwm);
setup_ccp2(ccp_pwm);
setup_timer_2(t2_div_by_16,250,1);
set_pwm1_duty(255);
set_pwm2_duty(255);

// Toc do max tocdo = 0
// Toc do min tocdo = 255
// Dong co chay ccp_pwm = 0
// Huong Dco 1 tien la dir1 = 0
// Huong Dco 2 tien la dir2 = 0
// Dong co trai la pwm2
// Dong co phai la pwm1


while(1)
{
switch(input_d())
{
case 0b00000000: // ngoai san
set_pwm1_duty(255);
set_pwm2_duty(255);
delay_ms(500);
break;
case 0b00011000: // trung tam
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm2_duty(200);
set_pwm1_duty(200);
vitri = 0;
break;
//---------------------------------------------------------------
case 0b00111000: // lech trai 1
case 0b00110000:
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm1_duty(205);
set_pwm2_duty(200);
vitri = 1;
break;
case 0b01110000: // lech trai 2
case 0b01100000:
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm1_duty(210);
set_pwm2_duty(200);
vitri = 2;
break;
case 0b11100000: // lech trai 3
case 0b11000000:
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm1_duty(200);
set_pwm2_duty(215);
vitri = 3;
break;
case 0b10000000: // lech trai 4
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm1_duty(195);
set_pwm2_duty(215);
vitri = 4;
break;
//---------------------------------------------------------------
case 0b00011100: // lech phai 1
case 0b00001100:
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm1_duty(200);
set_pwm2_duty(205);
vitri = -1;
break;
case 0b00001110: // lech phai 2
case 0b00000110:
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm1_duty(200);
set_pwm2_duty(210);
vitri = -2;
break;
case 0b00000111: // lech phai 3
case 0b00000011:
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm1_duty(215);
set_pwm2_duty(200);
vitri = -3;
break;
case 0b00000001: // lech phai 4
output_bit(dir1,0);
output_bit(dir2,0);
set_pwm1_duty(215);
set_pwm2_duty(195);
vitri = -4;
break;
default:
if(vitri > 2)
{
output_bit(dir1,1);
output_bit(dir2,0);
set_pwm1_duty(200);
set_pwm2_duty(200);
}
if(vitri < -2)
{
output_bit(dir1,0);
output_bit(dir2,1);
set_pwm1_duty(200);
set_pwm2_duty(200);
}
break;
}
}
}
//************************************************** ********************************
lamdanh120293 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-04-2013, 03:18 PM   #14
tien168bn
Đệ tử 1 túi
 
Tham gia ngày: Feb 2012
Bài gửi: 12
:
Cho em hỏi câu này. Bình thường em dùng PIC18F4431 để đk 3 động cơ DCthì ko sao. Giờ em muốn dùng Pic16F877A để điều khiển ba động cơ DC thì có thế được ko ạ. Em dùng hai chân CCP thì không vấn đề j rồi. Còn một động cơ nữa thì làm sao được ạ. Mong các bác giúp đỡ
tien168bn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-04-2013, 10:00 PM   #15
hoamaitoasang
Nhập môn đệ tử
 
Tham gia ngày: May 2012
Bài gửi: 2
:
pwm

bạn xem bài này mình đã sửa rồi
bạn thử coi chạy được chưa nha
được thì ok qua mail minh nha:doilaphudu4belanha@gmail.com
hoamaitoasang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
TUT về USART trong PIC16F877A mafd_47a MPASM 16 19-02-2025 05:32 AM
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 28 28-01-2025 10:45 PM
Bộ so sánh và PWM cho PIC16F877A anhquangngai Cơ bản về vi điều khiển và PIC 24 08-09-2012 09:00 AM
Pic16f877a TỪ DỄ TỚi KhÓ ntc Cơ bản về vi điều khiển và PIC 373 23-05-2009 10:24 PM
CCS C for PIC16F877A nhh Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 405 24-04-2008 12:00 PM


Múi giờ GMT. Hiện tại là 11:21 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam