PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Lập nhóm PIC16F877A (http://www.picvietnam.com/forum/showthread.php?t=325)

nguyenthach.tdh 26-02-2012 02:08 AM

bác nào biết code công 2 số 16 bit cho pic16f84a hay p16f877a?

thanhbinh_bf 27-02-2012 06:12 PM

Hepl em với các anh ơi !!!
 
Em đang làm quang báo led matrix 8x8 dùng 16f877A lập trình bằng CCS, em viết một bảng font riêng gồm các chữ cái từ A-Z, các số 0-9 và các kí tự đặc biệt nhưng khi em goi bảng font vào chương trình (#include font.h) thì chương trình dịch báo là không đủ Ram cho bảng font trên. Vậy các anh cho em hỏi có thể dùng lênh nào để lưu bảng font vào bộ nhớ Flash của 16F877A được không ạ ????

TRANTHEHIEU 20-03-2012 03:58 PM

có ai làm về brusshless DC chưa?có thể hướng dẫn mình đc không?
chúng ta cùng nhau thảo luận

hoangclick 23-03-2012 02:37 AM

Chào các bác, em mới tham gia vào diễn đàn và cũng là lần đầu tiếp xúc với pic nên rất gà, các bro cho em hỏi là:
1. Khi mình mua con PIC 16f877a về rồi nhưng không biết chân số 1 nằm ở đầu nào ?
2. Và trên cái Board GL No.12 thì mình nối đất như thế nào? và làm sao biết được đầu nào là cực dương hay âm?

JackSanji 24-03-2012 06:32 PM

Trích:

Nguyên văn bởi hoangclick (Post 55049)
Chào các bác, em mới tham gia vào diễn đàn và cũng là lần đầu tiếp xúc với pic nên rất gà, các bro cho em hỏi là:
1. Khi mình mua con PIC 16f877a về rồi nhưng không biết chân số 1 nằm ở đầu nào ?
2. Và trên cái Board GL No.12 thì mình nối đất như thế nào? và làm sao biết được đầu nào là cực dương hay âm?

chào bạn, mình cũng mới học về PIC, có thể trả lời bạn như sau:
1. chân 1 là chân có chấm ở trên, nếu bạn cầm thuận con PIC thì thấy nó ở phía dưới và ở bên trái.
2. bo mạch đó không quy định cực nào là cực dương hay âm, cái này là tùy bạn đấu vào thôi,

duybeo1512 24-03-2012 10:58 PM

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

duybeo1512 24-03-2012 11:03 PM

giúp đỡ pic 16F877A mạch đèn giao thông
 
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

cuongqs87 26-03-2012 04:30 PM

can mua cam bien sieu am gia re

QuangVuAuto 10-04-2012 11:11 PM

Giúp e giải quyết một số câu hỏi về pic 16f8771a với
 
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!!!!

huynhquanghuy9x 26-04-2012 12:10 AM

Help me !!
 
Các bác pro có thể giúp em với cái bài tập lớn này với:
Lập trình PIC 16F877A với 4 Led Matrix, viet bằng ASM Quét hiển thị chữ chạy 4 chữ VT0A
nếu đc cho xin luôn file protues & orcad

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

Trích:

Nguyên văn bởi duybeo1512 (Post 55099)
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

Trích:

Nguyên văn bởi QuangVuAuto (Post 56026)
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

Giúp đỡ về code
 
1 Attachment(s)
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

h2nd0i 18-05-2012 05:16 PM

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...

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

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!!!

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

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ĩ

kidmaster08 16-12-2012 12:39 PM

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


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

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

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

Hỏi về mạch in và mạch nguyên lý!
 
2 Attachment(s)
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

Phần mềm mô phỏng Proteus
 
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


Trích:

Nguyên văn bởi nhh (Post 1832)
À 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

lỗi nạp pickit 2
 
1 Attachment(s)
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

kết nối LCD
 
1 Attachment(s)
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

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;
}
}
}
//************************************************** ********************************


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

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam