PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 24-05-2005, 11:26 PM   #1
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
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

;===================================================================================================
File Kèm Theo
File Type: zip LED_1.zip (5.8 KB, 324 lần tải)
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-05-2006, 04:44 PM   #2
chuchinh
Đệ 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.
chuchinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-05-2006, 06:02 PM   #3
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-05-2006, 12:57 PM   #4
chuchinh
Đệ 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.
chuchinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-05-2006, 03:06 PM   #5
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
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.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-05-2006, 03:15 PM   #6
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
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

__________________

ntc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-05-2006, 03:28 PM   #7
chuchinh
Đệ 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!
chuchinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

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


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam