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)

david 19-07-2007 10:17 AM

Cảm ơn bác đã Reply,nhưng em muốn biết tác dụng của từng cấu hình,ví dụ như _BODEN_ON, _PWRTE_ON,_DEBUG_OFF ... có ảnh hương như thế nào khi mình lập trình?Bác co thế chỉ giúp em tác dụng của từng cái ko?Mới học nên nhiều cái chưa biết lắm ---->Mong bác nhiệt tình giúp đỡ

bien_van_khat 19-07-2007 11:03 AM

Mình khuyên bạn nên hỏi "coi mấy cái này ở đâu?"

Bạn mở datasheet của con 877 mục 14.1 "Configuration bits".

david 29-07-2007 11:32 AM

Cho em hỏi chương trình này!
 
Em mới bắt đầu với Pic,và đây là chường trình đếm xung vào ở chân RA0,hiện thị led7segment nối vào PortB,dùng kỹ thuật bảng.Em dùng MPLAP dịch thì không có lỗi,nhưng khi mô phỏng bằng Proteus thì nó không chạy,mong các bác chỉ cho chỗ sai.


Code:

;========================================================
                                TITLE                "Dem xung"
                                PROCESSOR        P16F877A
                                INCLUDE                <P16F877A.inc>
                                __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF & _LVP_OFF
                               
;==========================================================
;Khai bao bien                :
        DEM                  EQU        0x20                       
                       
;============================================================
;Chuong trinh chinh:
;============================================================

                ORG                        0x0000
                GOTO                        MAIN
                ORG                                0x0005
MAIN
                BANKSEL                        TRISA
                MOVLW                        b'00111111'
                MOVWF                        TRISA
                CLRF                        TRISB
                BANKSEL                        PORTA
                MOVLW                        b'00111111'
                MOVWF                        PORTB                                       
                CLRF                        DEM
LOOP
                BTFSC                        PORTA,0
                GOTO                        $-1       
                BTFSS                        PORTA,0
                GOTO                        $-1
                INCF                        DEM,1
                MOVF                        DEM,0
                XORWF                        d'10'
                BTFSC                        STATUS,Z
                GOTO                        MAIN
                MOVF                        DEM,0
                CALL                        TABLE
                MOVWF                        PORTB
                GOTO                        LOOP
                                                                       
                       
                ORG                        0x800

TABLE
                ADDWF                        PCL,1
                RETLW                        b'00111111'               
                RETLW                        b'00000110'
                RETLW                        b'01011011'       
                RETLW                        b'01001111'               
                RETLW                        b'01100110'               
                RETLW                        b'01101101'
                RETLW                        b'01111101'               
                RETLW                        b'00000111'               
                RETLW                        b'01111111'               
                RETLW                        b'01101111'               

END


david 29-07-2007 11:36 AM

Các bác có gắng đọc nhe,em chỉnh cho nó gần lại mộ chút,không ngờ post lên nó lại sát nhau như thê.

namqn: bạn vào edit lại post trên, sẽ thấy tôi thêm các tag [code] và [ /code] để định dạng code của bạn.

namqn 29-07-2007 07:27 PM

Trích:

Nguyên văn bởi david (Post 10396)
Em mới bắt đầu với Pic,và đây là chường trình đếm xung vào ở chân RA0,hiện thị led7segment nối vào PortB,dùng kỹ thuật bảng.Em dùng MPLAP dịch thì không có lỗi,nhưng khi mô phỏng bằng Proteus thì nó không chạy,mong các bác chỉ cho chỗ sai.
...

Bảng của bạn đặt ở 0x0800 mà trong chương trình của bạn lại không xử lý thanh ghi PCLATH.

Thân,

david 30-07-2007 12:00 AM

Gửi bác namqn:
Em bắt đâu bảng ở địa chỉ 0x80 thì không phải xử lí PCLATH đúng không ạ,nhưng khi bắt đầu mô phỏng thì thì led7seg hiện 0(cai này thì đúng)nhưng khi em bấm BUTTON thì nó cứ trơ ra,hic
Bác chỉ dùm em chỗ sai cái,nó làm em mất hứng mấy ngày nay

namqn 30-07-2007 01:10 AM

Trích:

Nguyên văn bởi david (Post 10408)
Gửi bác namqn:
Em bắt đâu bảng ở địa chỉ 0x80 thì không phải xử lí PCLATH đúng không ạ,nhưng khi bắt đầu mô phỏng thì thì led7seg hiện 0(cai này thì đúng)nhưng khi em bấm BUTTON thì nó cứ trơ ra,hic
Bác chỉ dùm em chỗ sai cái,nó làm em mất hứng mấy ngày nay

Khi mô phỏng các ví dụ liên quan đến hiển thị thì bạn nên giảm thời gian delay và chỉnh lại tần số của chip trong tầm vài trăm kHz. Lý do là có khả năng không mô phỏng các quá trình trong chip theo thời gian thực được.

Với những bài toán loại này tôi luôn chạy mạch thật.

Thân,

uydanh 10-11-2007 11:20 AM

Các bạn, cho mình hỏi một câu ngớ ngẩn, nhưng thật sự không hiểu chổ này thì không làm ăn gì được hết : một port nào đó (như PORTB của pic6f877a chẳng hạn), việc cho phép nó kéo lên hay không kéo lên Vdd có ý nghĩa như thế nào? Mình thật sự không hiểu chổ này. Cảm ơn các bạn rất nhiều.

caodangvtc 13-12-2007 05:39 PM

cảm ơn các anh nhiều

Dolphin 13-12-2007 06:41 PM

Điện trở kéo lên thiết lập mức lôgíc lối vào của khối mạch khi không có thiết bị ngoài nối với lối vào. Ví dụ khi set điện trở kéo lên thì có thể mắc button trực tiếp vào port mà không cần điện trở kéo lên bên ngoài.

damhaicnn 17-12-2007 10:40 AM

có bác nào hiểu rõ cụm từ 16 bit trong 16 bit - computer thì nói hộ em với.em tìm kiếm trên mạng mà chỉ toàn tiếng anh. hơi khó hiểu.
cảm ơn rất nhiều

vandungevn 19-12-2007 12:14 AM

16 bits đó nói về hệ thống sử lí 16 bít. trong Computer thì là hệ thống máy tính 16 bits, như bây giờ Pen TUM là 64 bits đó

bien_van_khat 20-12-2007 08:38 PM

Trích:

Nguyên văn bởi damhaicnn (Post 13388)
có bác nào hiểu rõ cụm từ 16 bit trong 16 bit - computer thì nói hộ em với.em tìm kiếm trên mạng mà chỉ toàn tiếng anh. hơi khó hiểu.
cảm ơn rất nhiều

Ở đây 4bit, 8bit, 16bit, 32bit hay 64bit chỉ độ rộng của bus dữ liệu, là số bit của thanh ghi chứa. Nói một cách hình ảnh thì đây là số bit mà CPU có thể xử lý đồng thời.

VD: với máy tính 8bit, bộ nhớ dữ liệu được tổ chức theo đơn vị BYTE, các thanh ghi cũng có độ lớn 1 BYTE, các phép toán số học, logic, di chuyển dữ liệu cũng xử lý trên dữ liệu có độ rộng 8 bit.

ducchotdai 21-12-2007 12:22 AM

giúp em với
 
em tìm kiếm bản dịch con Pic 16F877A mấy hôm nay rồi mà ko tìm được,bác nào có gửi giùm vào mail cho em được ko???cảm ơn nhiêu nhiều nhiều nhiều.....có bản trong diễn đàn kêu Download được nhưng khi dow thử thì yêu cầu mật khẩu nên không dow được.gửi vô mail giùm nha trananhduc2004@yahoo.com

le.nhatcuong 21-12-2007 11:50 PM

xin các bác chỉ giup mình lập trình C ngắt ngoài "External interrupt" cua 16F877A
minh dang lam luan van tot nghiep, dung PIC de tinh CosY (cốt phi) cua mang dien ha the bang cách đo độ rộng xung vuông
Xin chân thành cảm ơn


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

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