![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| 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 |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
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
|
|
|
|
|
|
#2 |
|
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... |
|
|
|
|
|
#3 |
|
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
|
|
|
|
|
|
#4 |
|
Đệ 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ỉ?
|
|
|
|
|
|
#5 |
|
Đệ 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!!! |
|
|
|
|
|
#6 |
|
Đệ 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
thay đổi nội dung bởi: hatuan296, 16-12-2012 lúc 03:37 PM. |
|
|
|
|
|
#7 |
|
Đệ 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. |
|
|
|
|
|
#8 |
|
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!
|
|
|
|
|
|
#9 |
|
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 ạ! |
|
|
|
|
|
#10 |
|
Đệ tử 2 túi
Tham gia ngày: Sep 2011
Bài gửi: 32
: |
@daovanduyet : Em dùng LM35 hay DS1820 ?
|
|
|
|
|
|
#11 |
|
Nhập môn đệ tử
|
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 |
|
|
|
|
|
#12 |
|
Đệ 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
|
|
|
|
|
|
#13 |
|
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; } } } //************************************************** ******************************** |
|
|
|
|
|
#14 |
|
Đệ 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 đỡ
![]() |
|
|
|
|
|
#15 |
|
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 |
|
|
|
![]() |
|
|
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 |