Thông báo

Collapse
No announcement yet.

Làm sao để bắt đầu với PIC 18F

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Làm sao để bắt đầu với PIC 18F

    Mình mới bắt đầu với con PIC 18F4550. Tạo 1 chương trình rất đơn giản để test nhưng nó không chạy. Trong phần cấu hình config không biết cấu hình như thế nào để nó chạy được.
    Có bạn nào biết xin chỉ giúp
    đây là đoạn mã chương trình:
    Code:
     Title            “ Mach test LED_1 ”
        Processor    p18F4550        ;tell assembler what chip we are using
        include "P18F4550.inc"        ;include the defaults for the chip
        ERRORLEVEL    0,    -302    ;suppress bank selection messages
        __CONFIG     _WDT_OFF_2H & _PWRT_ON_2L & _CPD_OFF_5H & _LVP_OFF_4L & _CPD_OFF_5H & _DEBUG_OFF_4L  &_VREGEN_OFF_2L &  _FOSC_XT_XT_1H                                 
            
    ; =================================================
    
    ; ------------------------------------------------------------------------------------
    ; Khoi tao cac bien
    ; ------------------------------------------------------------------------------------
    count1            EQU    0x20            ; cac bien dung cho chuong trinh Delay
    counta            EQU    0x21
    countb            EQU    0x22
    
    ; =================================================
    ;                         Chuong trinh chinh
    ; =================================================
                ORG        0x000
                GOTO        start
    start
    ; -----------------------------------------------------------------------------------
    ; Khoi tao PORTB va PORTD
    ; -----------------------------------------------------------------------------------
                    CLRF    PORTB
            CLRF    LATB    
            movlw     0x0E
            movwf     ADCON1
            movlw    b'00000000'        ;Set port data directions, data output
            movwf    TRISB
            
            CLRF    PORTD
            CLRF    LATD
            movlw    b'00000000'
            movwf    TRISD
    ; ------------------------------------------------------------------------------------
    ; Vong lap chinh cua chuong trinh
    ; ------------------------------------------------------------------------------------
    loop1
            MOVLW    b'00000000'
            MOVWF    PORTD
            CALL    delay_250ms
            MOVLW    b'11111111'
            MOVWF    PORTD
            CALL    delay_250ms
            GOTO    loop1
            
    
    
    ; ==================================================
    ;   Chuong trinh con
    ; ==================================================
    
    ; --------------------------------------------------
    ; Chuong trinh con cho ky thuat bang
    ; --------------------------------------------------
    
    ;----------------------------------------------------
    ;  chuong trinh DELAY
    ; --------------------------------------------------
    delay_250ms                            ; label bat dau chuong trinh con
    
                MOVLW        d'250'        ; Doan chuong trinh tao thoi gia delay 250ms
                GOTO        delay
    delay_200ms                        
    
                MOVLW        d'200'        ; Doan chuong trinh tao thoi gia delay 200ms
                GOTO        delay
    delay_180ms                            
    
                MOVLW        d'180'        ; Doan chuong trinh tao thoi gia delay 180ms
                GOTO        delay
    delay_160ms                            
    
                MOVLW        d'160'        ; Doan chuong trinh tao thoi gia delay 160ms
                GOTO        delay
    delay_150ms                            
    
                MOVLW        d'150'        ; Doan chuong trinh tao thoi gia delay 150ms
                GOTO        delay
    delay_120ms                            
    
                MOVLW        d'120'        ; Doan chuong trinh tao thoi gia delay 120ms
                GOTO        delay
    delay
                MOVWF        count1
    
    
    d1
                MOVLW        d'199'
                MOVWF        counta
                MOVLW        d'1'
                MOVWF        countb
    delay_0
                DECFSZ        counta,1
                GOTO            $+2
                DECFSZ        countb,1
                GOTO            delay_0
                DECFSZ        count1,1
                GOTO            d1    ; het doan chuong trinh Delay
                RETURN                ; ket thuc chuong trinh con, tro ve chuong trinh chinh    
                END
    xin cám ơn rất nhiều

  • #2
    Một câu hỏi mình nghĩ rằng rất dễ đối với những người đã làm được, nhưng không có ai muốn giúp đỡ. Một cộng đồng quá thờ ơ.
    Mình đã tự làm được rồi. Dù sao cũng cám ơn mọi người đã vào đọc.

    Comment


    • #3
      Bác đến đây xem bài vi dụ nhé! http://www.picvietnam.com/forum/show...p?t=810&page=9
      Em cũng mới bắt đầu với F18 thui!

      Comment


      • #4
        Mình cũng thích ASM lắm nhưng code vất vả quá nên chuyển qua CCS C cho dễ. Bạn linhvu chỉ I/O LED thôi à? Có định phát triển thêm không? Bắt tay trao đổi nhé!
        Manchester United FC forever!

        Comment


        • #5
          phương châm pic '' bạn hãy chia sẽ đi rồi bạn sẽ nhận được nhiều hơn '' !!

          Comment


          • #6
            Nguyên văn bởi linhvu Xem bài viết
            Một câu hỏi mình nghĩ rằng rất dễ đối với những người đã làm được, nhưng không có ai muốn giúp đỡ. Một cộng đồng quá thờ ơ.
            Mình đã tự làm được rồi. Dù sao cũng cám ơn mọi người đã vào đọc.
            Bởi vì bây giờ người ta chủ yếu dùng C. Mềm dẻo, nhanh, dễ... chứ chả ai rỗi hơi đâu ngồi mà ngâm cứu ASM.
            Ngay từ khi học 8051 tôi đã xác định không theo ASM mà theo C. Và tôi đã bắt đầu với PIC16 và CCS, và đến khi tôi chuyển qua PIC18 tôi chả thấy gì là khó khăn cả. Vẫn IO, ADC, PWM, UART, USB ... nhanh và nhẹ.

            Comment


            • #7
              Em nhất trí với bác duong_act,
              Đến con 32bit, mà viết asm thì chết mất, hj
              Lại còn nhúng nữa

              Comment


              • #8
                bắt đầu vi điều khiển chọn 8051 là hay nhất dùng C thì khi chuyển sang PIC,AVR đều nhẹ nhàng hơn.

                Comment


                • #9
                  bác test code trên protues à?

                  Comment

                  Về tác giả

                  Collapse

                  linhvu Tìm hiểu thêm về linhvu

                  Bài viết mới nhất

                  Collapse

                  Đang tải...
                  X