|
Tài trợ cho PIC Vietnam |
MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ... |
|
Ðiều Chỉnh | Xếp Bài |
24-05-2005, 11:26 PM | #1 |
PIC Bang chủ
|
Sườn chương trình cơ bản bằng MPASM
Code:
;=================================================================================================== ; Ten chuong trinh : Mach test den LED_1 ; Nguoi thuc hien : Falleaf ; Ngay thuc hien : 23/05/2005 ; Phien ban : 1.0 ; Mo ta phan cung : Dung PIC16F628A - thach anh 10MHz ; : LED giao tiep voi PORTB ; : Cuc am cua LED noi voi GND ; : RB0 - RB7 la cac chan output ;--------------------------------------------------------------------------------------------------- ; Ngay hoan thanh : 23/05/2005 ; Ngay kiem tra : 23/05/2005 ; Nguoi kiem tra : Doan Hiep ;--------------------------------------------------------------------------------------------------- ; Chu thich : Mo ta cac diem khac nhau cua cac phien ban khac nhau ; : hoac cac chu thich khac ; : vd, dung che do Power On Reset, PORTB = 00000000 ; : hoac, chuong trinh viet cho PIC Tutorial ; : hoac, chuong trinh nay hoan toan mien phi va co the dung cho ; : moi muc dich khac nhau ;=================================================================================================== TITLE "Mach test LED_1" PROCESSOR PIC16F628A INCLUDE <P16F628A.inc> __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC ;=================================================================================================== ORG 0x0000 GOTO MAIN ORG 0x0005 MAIN BANKSEL TRISB ; bank select CLRF TRISB ; trisb = 00000000 ; portb = output BANKSEL PORTB BSF PORTB, 0 ; rb0 = 1 ; RB0 = 5V GOTO $ ; dung chuong trinh tai day ; vong lap tai cho^~ ; khong bao gio ket thuc END ; lenh bat buoc de ket thuc ;===================================================================================================
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
18-05-2006, 04:44 PM | #2 |
Đệ tử 1 túi
Tham gia ngày: Apr 2006
Bài gửi: 23
: |
Thực sự là em copy nguyên cả code này vào mà nó cứ báo lỗi:
Make: The target "E:\Test\test1\test1.o" is out of date. Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F628A "test1.asm" /l"test1.lst" /e"test1.err" Warning[215] E:\TEST\TEST1\TEST1.ASM 24 : Processor superseded by command line. Verify processor symbol. Message[302] E:\TEST\TEST1\TEST1.ASM 38 : Register in operand not in bank 0. Ensure that bank bits are correct. Loaded E:\Test\test1\test1.COD. BUILD SUCCEEDED: Mon May 01 15:32:03 2006 Là do gì hả bác??? Thành thật xin lỗi vì post bài này ở 2 nơi, nhưng đang bức xúc vì vừa bắt đầu đã bị out ngay. |
18-05-2006, 06:02 PM | #3 |
Trưởng lão PIC bang
|
Cái warning cho biết việc chọn bộ xử lý tại dòng lệnh có mức ưu tiên cao hơn (nghĩa là nó sẽ là bộ xử lý được dùng để biên dịch), bạn phải kiểm tra để đảm bảo nó đúng là bộ xử lý bạn muốn dùng.
Cái message cho biết thanh ghi bạn đang thao tác không nằm ở bank 0, bạn phải tự có các lệnh chuyển bank thanh ghi thích hợp. Nhưng chương trình đã được biên dịch thành công, bạn còn muốn gì nữa? Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
19-05-2006, 12:57 PM | #4 |
Đệ tử 1 túi
Tham gia ngày: Apr 2006
Bài gửi: 23
: |
Ồ, em đã nhìn thấy dòng này:
BUILD SUCCEEDED: Mon May 01 15:32:03 2006 Xin lỗi vì em là newbie mà, chỉ vừa mới nhập môn thôi. Sau khi đọc hướng dẫn học PIC trong một ngày nên em áp dụng luôn bằng cách down MPASM và copy code của các bác vào chạy chứ chưa làm gì khác cả. Việc có warning + message khiến em khó hiểu: phải chăng đầu chương trình mình đều phải khai báo PROCESSOR ... và nó luôn có cái warning này. Còn cái message thì sao, em đã khai báo BANKSEL TRISB như các bác rồi mà, nghĩa là mình đã chuyển vùng làm việc về bank 1, sau đó có lệnh chuyển về bank 0. Có phải là chương trình này đúng nhưng khi có một thao tác không theo tuần tự bộ nhớ thì nó sẽ có các warning hay message, nếu vậy thì khi bị lỗi thật làm sao phân biệt được nhỉ? Không hiểu nên hỏi lung tung, mong các bác thứ lỗi. Cảm ơn bài viết của bác Hiệp thật rõ ràng và dễ hiểu. |
19-05-2006, 03:06 PM | #5 |
PIC Bang chủ
|
Cho dù em có khai báo BANKSEL thì nó vẫn warning/message, nghĩa là vẫn nhắc em coi lại, nếu em đã khai báo rồi thì thôi, nếu em chưa khai báo thì em bổ sung. Anh lưu ý, vì trình dịch nó không thể hiểu, và không thể bắt người viết chương trình viết dòng BANKSEL ngay trước khi tương tác thanh ghi. Có thể người ta chuyển BANK trước đó rồi, đến đó người ta không cần chuyển nữa.
Cái nguy hiểm là chuyển qua BANK1, nhưng sau đó lại không chuyển ngược lại BANK0, thì khi làm việc với các thanh ghi của BANK0, nó lại hoàn toàn không thông báo gì cả. Như vậy, em đừng lo lắng về việc nó thông báo, mặc dù em đã có lệnh BANKSEL. Coi như đó là một lời nhắc nhở, và chính xác nó là lời nhắc nhở. Chúc vui.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
19-05-2006, 03:15 PM | #6 |
Đệ tử 8 túi
|
Mình có giải thích một số vấn đề liên quan tại chỗ này.
Bạn tham khảo thêm. http://www.picvietnam.com/forum//sho...p?t=238&page=6 |
19-05-2006, 03:28 PM | #7 |
Đệ tử 1 túi
Tham gia ngày: Apr 2006
Bài gửi: 23
: |
Bây giờ thì em đã hiểu, cảm ơn bác. Chiều nay em sẽ đi mua một con PIC16F628A về lắp mạch chạy luôn. Hy vọng em sẽ sử dụng được PIC trong thời gian sớm nhất!
|
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
ADC 8bit, 10bit, 12bit bằng MPASM | falleaf | MPASM | 15 | 22-10-2013 12:18 PM |
Library cho MPASM, các module cơ bản | mafd_47a | MPASM | 12 | 06-09-2009 03:51 PM |
cho tôi fan mềm MPASM hoặc đường line dowload | lep | Chương trình dịch & các công cụ mô phỏng | 3 | 12-10-2008 03:00 AM |
Trình dịch cho MPASM của Microchip. | mafd_47a | MPASM | 8 | 20-03-2008 12:37 AM |
Mpasm cho nguoi moi bat dau | mafd_47a | MPASM | 14 | 03-02-2007 09:08 AM |