PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Chương trình dịch & các công cụ mô phỏng (http://www.picvietnam.com/forum/forumdisplay.php?f=10)
-   -   Dịch MPLAB (http://www.picvietnam.com/forum/showthread.php?t=354)

falleaf 13-05-2008 12:55 PM

Trích:

Nguyên văn bởi hinapicvietnam (Post 16173)
Bên 8051 có phần mềm dịch ngược từ tệp 'hex' qua 'asm', hình như là disasm... thì phải. Còn pic thì sao hả các bạn? Có cái dịch dc o? Có chính xác o?

Có thằng ICProg, đây là phần source của Nigel Goodwin, đã được nhúng vào ICProg. Nó cho phép dịch ngược các dòng PIC.

DeASM chứ không phải Diasm. Viết từ đầy đủ ra rồi tra trên google sẽ có bạn à.

Chúc vui

namqn 13-05-2008 06:18 PM

Trích:

Nguyên văn bởi hinapicvietnam (Post 16173)
Bên 8051 có phần mềm dịch ngược từ tệp 'hex' qua 'asm', hình như là disasm... thì phải. Còn pic thì sao hả các bạn? Có cái dịch dc o? Có chính xác o?

Import tập tin .hex vào MPLAB IDE, sau đó vào menu View, chọn Program Memory. Ở cột Disassembly là mã mnemonic tương ứng của các lệnh trong bộ nhớ chương trình.

Thân,

cuongkstn 06-08-2008 05:16 PM

Phù ,may quá>Cuối cùng cũng có cao nhân chỉ giúp.

nobitahanh 31-12-2008 01:57 PM

mọi người cho em hỏi làm thế nào để save được một file .c chứ không phải là file .asm??

namqn 31-12-2008 05:20 PM

Trích:

Nguyên văn bởi nobitahanh (Post 21799)
mọi người cho em hỏi làm thế nào để save được một file .c chứ không phải là file .asm??

Ở hộp thoại "Save As", bạn đánh đầy đủ tên của tập tin (cả phần mở rộng .c).

Thân,

t_h_k 24-04-2009 03:33 PM

các bác ơi giúp em với, em mò hoài mà ko tài nào dịch nổi ra file .hex nữa. không biết dịch xong rồi file .hex nằm ở đâu nữa, các bác giúp em với ! cảm ơn các bác

thaithien 24-04-2009 10:14 PM

Trích:

Nguyên văn bởi t_h_k (Post 25202)
các bác ơi giúp em với, em mò hoài mà ko tài nào dịch nổi ra file .hex nữa. không biết dịch xong rồi file .hex nằm ở đâu nữa, các bác giúp em với ! cảm ơn các bác

Bạn có tạo project không?Nếu có thì mặc định file hex dịch ra sẽ nằm trong cùng thư mục,trừ phi bạn đã cấu hình cho trình biên dịch vị trí khác cho file .hex

thi_si_co_don 01-05-2009 05:51 PM

Các bác giúp em cái này với, em đang tập sử dụng MPLAB, em gõ thử 1 đoạn code được lấy từ tài liệu như sau:
Code:

;chuong trinh 1
;testled1

processor        16F877A                        ;khai bao vdk
#include        "p16f877a.inc"        ;header file dinh kem

_CONFIG        _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
                                                        ;khai bao cac configuration bits

        ORG                0X000
        GOTO        start
start
        BCF                STATUS,RP1
        BCF                STATUS,RP0
       
        CLRF        PORTB
        BSF                STATUS,RP0
       
        MOVLW        0X00
        MOVWF        TRISB
       
        BCF                STATUS,RP0

        MOVLW        0X8F
        MOVWF        PORTB

        loop        GOTO        loop

END

và nhận được một thông báo trong file err là:
Code:

Warning[205] C:\DOCUMENTS AND SETTINGS\TA DINH THAM\DESKTOP\THANG\VD1\TEST LED 16F877A.ASM 4 : Found directive in column 1. (processor)
Error[122]  C:\DOCUMENTS AND SETTINGS\TA DINH THAM\DESKTOP\THANG\VD1\TEST LED 16F877A.ASM 7 : Illegal opcode (_CP_OFF)
Message[302] C:\DOCUMENTS AND SETTINGS\TA DINH THAM\DESKTOP\THANG\VD1\TEST LED 16F877A.ASM 20 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Warning[207] C:\DOCUMENTS AND SETTINGS\TA DINH THAM\DESKTOP\THANG\VD1\TEST LED 16F877A.ASM 27 : Found label after column 1. (loop)
Warning[205] C:\DOCUMENTS AND SETTINGS\TA DINH THAM\DESKTOP\THANG\VD1\TEST LED 16F877A.ASM 29 : Found directive in column 1. (END)

các bác giúp em cái :(

thaithien 01-05-2009 08:36 PM

Bạn đánh sai ở chỗ config rồi.MÌnh đã chỉnh lại như sau và đã build thành công.Bạn coi thử nhé.
Code:

;chuong trinh 1
;testled1

processor        16F877A                        ;khai bao vdk
INCLUDE        "P16F877A.inc"        ;header file dinh kem

__CONFIG  _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
                                                        ;khai bao cac configuration bits

        ORG                0x000
        GOTO        start
start
        BCF                STATUS,RP1
        BCF                STATUS,RP0
       
        CLRF        PORTB
        BSF                STATUS,RP0
       
        MOVLW        0X00
        MOVWF        TRISB
       
        BCF                STATUS,RP0

        MOVLW        0X8F
        MOVWF        PORTB

        loop        GOTO        loop

END

CHú ý chỗ __config là 2 dấu gạnh dưới đó nghe.Khi đánh một gạch thì dòng lệnh sẽ không hiện ra màu xanh,chứng tỏ câu lệnh này sai đó.

thi_si_co_don 02-05-2009 04:58 PM

1 Attachment(s)
hi, em thanks bác rất nhiều, giờ em lại đang gặp trục trặc với cái bài sau.
em định cho ma trận led hiển thị chữ A-I bằng ma trạn 8x8 em quét hàng bằng portC và đưa dữ liệu ra cột bằng portB, tuy nhiên vì áp rơi trên led cao hơn so với chân ra nên em phải dùng mấy con NPN để đưa áp vào, hình vẽ dưới
em code và dịch ra ko vđề gì, but khi cho nó chạy mô phỏng thì hỡi ôi toàn bị thông báo là over flow, chả hiểu đc.
Code:

processor 16f877a                ;khai bao vdk
#include "p16f877a.inc"                ;header file dinh kem

__CONFIG _CP_OFF&_WDT_OFF&_BODEN_OFF&_PWRTE_OFF&_XT_OSC&_WRT_OFF&_LVP_OFF&_CPD_OFF
                                ;khai bao configuration
;------------------------------------------------------
;khai bao bien
;------------------------------------------------------
count        equ        0x23
COUNT1        EQU        0X20                ;dung cho delay
COUNTA        EQU        0X21                ;dung cho delay
COUNTB        EQU        0X22                ;dung cho delay

        org                0x000
        goto        START
START
        BCF                STATUS,RP1
        bcf                STATUS,RP0
        clrf        PORTB
        CLRF        PORTC
        bsf                STATUS,RP0
        movlw        0x00
        movwf        TRISB
        MOVWF        TRISC
        BCF                STATUS,RP0
        MOVLW        B'11111110'
        MOVWF        PORTC
loop
        clrf        count
loop1
        movwf        count
        RRF                PORTC,1
        call        table
        movwf        PORTB
        call        DELAY100MS
        incf        count,0
        xorlw        d'8'
        btfsc        STATUS,Z
        goto        loop
        incf        count,1
        goto        loop1

table
        addwf        PCL,1
        retlw        b'00111111'
        RETLW        B'01010000'
        RETLW        B'10010000'
        RETLW        B'01010000'
        RETLW        B'00111111'
        RETLW        B'00000000'
        RETLW        B'11111111'
        RETLW        B'00000000'

DELAY100MS
        MOVLW        D'200'
        MOVWF        COUNT1
D1
        MOVLW        0XC7
        MOVWF        COUNTA
        MOVLW        0X01
        MOVWF        COUNTB
DELAY_0
        DECFSZ        COUNTA,1
        GOTO        $+2
        DECFSZ        COUNTB,1
        GOTO        DELAY_0
        DECFSZ        COUNT1,1
        GOTO        D1
        RETURN

end

em ko gửi đc cái file của proteus nên chỉ chụp đc hình thôi, các bác xem họ em nhé ^^

thi_si_co_don 03-05-2009 11:44 AM

hic hic bác nào giúp em vụ này cái :((

thaithien 03-05-2009 11:19 PM

Trích:

Nguyên văn bởi thi_si_co_don (Post 25449)
hic hic bác nào giúp em vụ này cái :((

Bạn gửi cả project và file mô phỏng proteus lên đi

thi_si_co_don 05-05-2009 10:04 PM

1 Attachment(s)
dạ, em vừa rar lại cái folder project em làm xong, em chạy bằng MPlab.
Các bác xem hộ em mí nhé

anhbahung_dh 05-05-2009 10:10 PM

có ai giúp mình ko mình đang làm đồ án về đèn giao thông có nút nhấn điều khiển ai có tài liệu hay code giúp mình được không? hay co wed naò giúp mình nha
thanks nhiêu nhiều
mà dùng còn PIC 16F877A nha mấy bạn

anhbahung_dh 05-05-2009 10:12 PM

Ai Giúp Mình Về Mạch Giao Thông Dùng Pic 16F877A ko
 
Mình Dàng làm đồ án môn học Vi Xử Lí mà mới vào học nên còn iú lắm ai bix giúp mình nha


Múi giờ GMT. Hiện tại là 05:49 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