Ðăng Nhập

View Full Version : Lập nhóm PIC16F877A


Pages : 1 [2]

quoc_pro2789
26-04-2012, 12:05 PM
Chào mọi người ! Em có một đề tài điều khiển động cơ cửa dùng Pic16 như thế này
- 2 Nút ấn đóng mở cửa
- 1 Nút ấn dùng để khóa
Bình thương thì 2 nút đóng mở hoạt động bình thường,nhưng khi ta ấn nút khóa trong thời gian 2-3s thì các nút đóng mở mất tác dụng(khóa),khi ta ấn lại nút ấn cũng thời gian như thế thì các nút chức năng lại hoạt động
Mong các bac pro hướng dẫn em thuật toán cũng như chương trình CCs cho đề tài này.Em đang cấn sự giúp đỡ gấp. Cảm ơn nhiều

serum
27-04-2012, 10:22 AM
em chào các bác.
em cũng mới gia nhập cả nhà mình nhưng em cũng mù tịt lắm, chưa biết gì cả. em nhờ các bác viết giúp em một chương trình đèn giao thông theo thời gian thực từ 22h đến 5h thì chỉ nháy đèn vàng thôi.
các bác giúp em với

Nếu vậy thì e phải viết chương trình đồng hồ số trước,hoặc dùng kết nối với ic thời gian DS1307,nếu phần đồng hồ này chạy chính xác thì mới nghĩ đến cái đèn giao thông kia.

serum
27-04-2012, 10:28 AM
Em chỉ vừa làm quen với pic 16f877a nên có rất nhìu thắc mắc nhưng vẫn chưa tìm được nguồn giải quyết. Nay mong các anh và bạn giúp đỡ thêm. Sau đây là các câu hỏi của e.

1. Các đặc tính cơ bản của pic 16f877a. 16f877a có các bộ nhớ nào. Bộ nhớ chương trình 16f877a chứa được tối đa bao nhiu lệnh.
2. Tại sao thanh ghi PC chỉ cần 13bit
3. Bộ nhớ dữ liệu có bao nhiu byte, chia làm mấy bank va các thanh ghi nào
4. Nhiệm vụ của thanh ghi SFR va GPS
5. Có thể phân loại theo nhiem5 vụ của SFR thành bao nhiêu loại
6. Các kí hiệu mã số cho biết thông tin về vi điều khiển pic
7. Vùng nho71Stack dùng để làm gì và hoạt động ra sao? có thể cho ví dụ minh họa
8. Muốn chân nào đó của 16f877a là chân xuất thì phải cài đặt trong thanh ghi nào
9. Ngoài chức năng I/O thì các port A B C D E còn có chức năng nào
Ai trả lời được câu nào thì giúp e với... Xin cám ơn rất nhiều!!!!


Nếu không phải bắt buộc thì mình nghĩ bạn nên tiếp cận với ngôn ngữ lập trình cấp cao như CCS thì sẽ dễ dàng để tiếp cận với PIC,việc thanh ghi hay bộ nhớ cũng chẳng có gì là quan trọng,bạn nên chú trọng vào giải thuật và ý tưởng thực hiện đề tài,công việc phần cứng nên để cho nhà sx lo.

learnpicvn
14-05-2012, 03:31 PM
Xin hỏi về phương pháp tiếp cận!
Tôi đang muốn nghiên cứu về vi điều khiển, nhưng kiến thức và kỹ năng lập trình coi như chưa có, vậy tôi muốn hỏi có nên nhảy vào làm thực tế với các ứng dụng trên kit PICDEM Z hay không (vừa học lập trình C thông qua các ứng dụng ví dụ luôn) hay tôi nên ngồi luyện lập trình C đã rồi sau đó mới tính đến tìm hiểu về Pic 16F877A?
Thanks for your care!

lehoaivu_gl
14-05-2012, 09:20 PM
Hì mình đang học con pic này, mấy khóa trước toàn học 8051, nên giờ kiếm tài liệu hơi đuối bác nào có tl con này k cho em biết với, ^^ thank nhiều

sangeluda
16-05-2012, 08:52 PM
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/attachment.php?attachmentid=5170&stc=1&d=1337171775

h2nd0i
18-05-2012, 05:16 PM
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...

quitnownpc
21-06-2012, 01:58 AM
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

thuynavy
21-06-2012, 04:32 PM
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ỉ?

kennypham992
04-10-2012, 05:05 PM
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!!!

kidmaster08
16-12-2012, 12:29 PM
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



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ĩ

kidmaster08
16-12-2012, 12:39 PM
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

PriestessOTM
11-03-2013, 10:14 PM
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!

daovanduyet
14-03-2013, 12:34 AM
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 ạ!

luyenictu
22-03-2013, 10:15 AM
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

tien168bn
01-04-2013, 03:18 PM
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 đỡ :)

hoamaitoasang
02-04-2013, 10:00 PM
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

hthang1988
05-04-2013, 05:56 PM
cho hỏi e hỏi viết chương trình cho ngắt RB0 trong pic 16f877a khi đo khoảng thời gian cho 1 xung chữ nhật trong 1 chu kì như thế nào

nobita2702
17-04-2013, 01:33 PM
cho em hỏi có ai biết lập trình code cho pic 16f877a đo điện áp dải từ 0-20v hiển thị LCD ko vậy????

TRUNGBAOSPKT
17-04-2013, 10:22 PM
@nobita2702 : Trong Pic có sẵn ADC , thiết lập ADC , đọc giá trị ADC , hiển thị lên LCD là xong . Nhớ Thanks đấy nhé :-)

TRUNGBAOSPKT
17-04-2013, 10:28 PM
@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
17-04-2013, 10:49 PM
@daovanduyet : Em dùng LM35 hay DS1820 ?

sangnt_55
20-04-2013, 09:14 PM
các bác cho em hỏi là em làm mạch như trên, mạch nguyên lý em dùng proteus để mô phỏng thì chạy ngon nhưng em làm mạch in bằng altium thì nó không chạy, lúc làm xong mạch in thì lúc cấp nguồn 5v cho mạch (em dùng bộ nguồn rời có dùng 7805) thì điện áp vào VDD chip có 0.6V, tháo con tụ với con trở ở VDD và VSS ra thì lại báo đoản mạch. khi không cấp nguồn cho PIC mà chỉ cấp nguồn cho LED 7segment thì VDD đo được là 0.6v. Giờ không biết chỉnh sao. Mong cao thủ giúp đỡ. thank nhiều ạ!
...

hthang1988
21-04-2013, 01:40 AM
khi đưa xung có chữ nhật có điện áp mức cao là 5v và mức thấp là 0v vào chân RB0 của pic 16f877a thì ta đo được khoảng thời gian xung lên như thế nảo nhỉ,mong các bro chỉ giáo.

kidogb
30-04-2013, 09:16 AM
Cho em hỏi muốn kiểm tra Pic chết hay ko thì làm thế nào?

electronical
13-05-2013, 11:27 AM
Mình thì không có Proteus 6.8, chỉ có Proteus 7.9SP1 Full, nên post lên cho ai có cần thì dùng.
Link:
https://www.box.com/s/1x4jhfaisb2ne4nxx9p4


À tiện thể xin hỏi các bác có bác nào có cái crack của protues 6.8 không.
Cái 6.7 tại hạ đang xài dù đã crack nhưng nó vẫn còn lủng củng dùng nhiều khi phát bực vì nó không cho save nếu để lâu!
Thanks!

duydien187
12-06-2013, 04:17 PM
các bạn cho mình hỏi là mình khai báo thế này
#define SCL_PIN RC0
#define SDA_PIN RC1

#define SCL_TRIS TRISC0
#define SDA_TRIS TRISC1
xuong phan void main()
SCL_PIN=1 lại báo lỗi nhỉ. thanks

teemo
21-12-2014, 06:05 PM
Các anh, chị, em, cho tôi được hỏi cái lỗi này là sao vậy:

Unsupport part (ID: FFFF)

Lúc đầu nạp được và chạy bình thường, nhưng sao đó pic đang chạy và nạp lại thì bị lỗi này.

Mình dùng pic 16f877a và mạch nạp là kitpic2

tvnghia91
24-12-2014, 02:10 PM
các bạn chỉ mình với, trong code dưới mình dịch thì không bị lổi, nhưng khi chạy mô phỏng thi không chạy. CODE này là viết chương trình đọc ADC rồi cho hiển thị lên LCD.
CODE:
#include <16f877a.h>
#device *=16 ADC=10
#include <lcd.c>
#fuses HS
#fuses NOWDT
#fuses NOLVP
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#define LCD_TYPE 1
#use delay(clock=20000000)
#use rs232(UART1, baud=9600, parity=N, stream=UART,errors)
CHAR lcd_buff[15];
INT16 value;
void main()
{
setup_ADC (ADC_clock_internal);
setup_adc_ports (ALL_ANALOG);
lcd_init () ;
WHILE (TRUE)
{
value = read_adc () ;
delay_ms (100);
sprintf (lcd_buff, "ADC = %lu", value);
lcd_gotoxy (1, 2) ;
lcd_putc (lcd_buff);
}
}

lamdanh120293
24-01-2015, 12:58 PM
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;
}
}
}
//************************************************** ********************************

saunai
09-02-2015, 08:49 AM
Mình đang làm về đo và điều khiển tốc độ động cơ dùng pic 16f877a, bạn nào có thể chia sẻ cho mình file mô phỏng và code để mình tham khảo chút được k?
THank!!

95bncity
18-09-2015, 10:59 AM
ai biết cách giao tiếp, nguyên lí hoạt động adc và thẻ nhớ vs pic6f877a ko chỉ mình vs

phongthuy113
27-10-2015, 04:46 PM
Cảm ơn bạn đã chia sẻ thông tin mình đang cần tìm
______________________________________
http://phongthuyviet.info/
Vòng tay đá phong thủy (http://phongthuyviet.info/) , Vòng tay phong thủy (http://phongthuyviet.info/danh-muc/vong-tay-phong-thuy) , Đá phong thủy (http://phongthuyviet.info/danh-muc/da-phong-thuy) , Trang sức phong thuỷ (http://phongthuyviet.info/danh-muc/trang-suc-phong-thuy)
Vòng tay phong thủy (https://www.facebook.com/phongthuyviet.info)

tavanbac
28-10-2015, 11:18 PM
có ac nào có mạch mô phỏng tốc độ động cơ dùng pic không cho e xin với.e cám ơn ạ

tuanhanh121
14-04-2016, 02:03 PM
em mới bắt đầu học PIC, mong các bác giúp em sơ đồ nguyên lý của 16F877A điều khiển 2 con led 7 thanh với

quangvu912
08-03-2017, 11:08 PM
e không biết gì về code C, hiện đang học môn thiết kế điện tử số, cần làm 1 mạch
LCD có các chế độ
- chỉ hiển thị nhiệt độ
- chỉ hiển thị độ ẩm đất
- chỉ hiển thị độ ẩm không khí
- hiển thị cả 3
- không hiển thị gì
Các tiền bối có thể hướng dẫn em học từ đâu, học cái gì làm thế nào để làm được mạch này được không ạ