View Single Post
Old 31-12-2005, 01:24 PM   #3
qmk
Nhập môn đệ tử
 
Tham gia ngày: Dec 2005
Bài gửi: 7
:
Ngâm cứu cái taplenh.pdf với các tiêu chuẩn mà bác fall đưa ra.
Tại cũng có tiêu chuẩn khác rồi. Bổ sung mấy ý của bác fall.

Chương trình đầu tay.
Code:
;;================================================|================================================= 
;; Tên chương trình	: Hướng đẫn học Pic
;; Mã số kiểm tra	: 
;; Người thực hiện	: qmk
;; Ngày cập nhật	: 31/12/2005
;; Phiên bản		: Writing
;; Mô tả phần cứng	: 
;; - Pic16F88
;; - Tần số Xtal	: 4MHz
;; - Xem tài liệu thiết kế phần cứng đi kèm
;;------------------------------------------------|-------------------------------------------------
;; Mô tả chương trình:
;; - Các thông tin về cập nhật chương trình xem ở cuối chương trình
;;		
;;------------------------------------------------|-------------------------------------------------
;; Thỏa thuận bản quyền:
;; - Bản quyền phần mềm này thuộc về người viết chương trình...
;;================================================|================================================= 
;Region		CẤU HÌNH BỘ BIÊN DỊCH - COMPILER CONFIGURATION
	TITLE 		"Hướng dẫn học Pic"
	PROCESSOR	PIC16F88
;;	__CONFIG   	_CP_OFF	& _PWRTE_ON & _WDT_OFF &_HS_OSC

	include 	<P16F88.inc>
;/Region
;;================================================|================================================= 
		ORG	0x0000
		GOTO MAIN

		ORG	0x0005
;;================================================|=================================================
;Region		CHƯƠNG TRÌNH CHÍNH - MAIN PROGRAM
MAIN		
		banksel TRISB								;; Bank select (Một iMacro của trình biên dịch?)
		clrf TRISB									;; TRISB = 0 Out, =1 In (Tri State)

		banksel PORTB
		bsf	PORTB,0									;; rb0 = 1
							
		goto		$								;; Vòng lặp vô tận
;/Region
END													;; Trình biên dịch tự động dừng khi gặp lệnh này
Chương trình này có mấy warning có vẻ bất thường:
Warning[215] D:\TESTF88\MAIN.ASM 21 : Processor superseded by command line. Verify processor symbol.
Message[302] D:\TESTF88\MAIN.ASM 35 : Register in operand not in bank 0. Ensure that bank bits are correct.
Warning[205] D:\TESTF88\MAIN.ASM 43 : Found directive in column 1. (END)

Dòng 35 là:
clrf TRISB ;; TRISB = 0 Out, =1 In (Tri State)

Ngoài ra khi để dòng này nó sẽ báo lỗi:
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC

Error[126] D:\TESTF88\MAIN.ASM 24 : Argument out of range (not a valid config register address)

Không hiểu lệnh này mâu thuẫn với cấu hình Device trong MPlab thế nào.

thay đổi nội dung bởi: qmk, 31-12-2005 lúc 01:34 PM.
qmk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn