PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 31-12-2005, 04:57 PM   #5
qmk
Nhập môn đệ tử
 
Tham gia ngày: Dec 2005
Bài gửi: 7
:
Chương trình thứ 2:

Code:
;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
;;================================================|================================================= 
;Region		KHAI BÁO BIẾN, HẰNG... - VARIABLE, CONSTANT,ETC DEFINITION

		ORG	0x20
			bTemp1			RES		1
			bTemp2			RES		1
;;================================================|================================================= 
		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)
Loop_Main:
		banksel PORTB
		bsf	PORTB,0									;; RB0 = 1
		call Delay100ms
		bcf	PORTB,0									;; RB0 = 1
		call Delay100ms
		goto		Loop_Main						;; Trở về chương trình chính
;/Region
;;================================================|=================================================
	;Function	Delay10ms - Hàm tam ngưng Nx10ms
		;Sumary
			;; 
			;; Input:
			;; Output:
			;; Effect:
		;/Sumary
		Delay100ms
			movlw 250								;; Nap vao gia tri y
			movwf bTemp2
			movlw 199								;; Nap vao gia tri x
			movwf bTemp1							;; y lan
		Loop_DHM
			decfsz bTemp1,f							
			goto Loop_DHM							;; x-1 lan
			movwf bTemp1							;; y lan
			decfsz bTemp2,f
			goto Loop_DHM
		return										;; 8+3+y*(x-1)*2+y*4 = 7 + y(x+1)*2 = (100.008)
	;/Function
;;------------------------------------------------|-------------------------------------------------
END													;; Trình biên dịch tự động dừng khi gặp lệnh này
Bản cập nhật bổ sung thêm file myp16def.inc nội dung như sau:
RB0 EQU 0
RB1 EQU 1
RB2 EQU 2
RB3 EQU 3
RB4 EQU 4
RB5 EQU 5
RB6 EQU 6
RB7 EQU 7
Sửa một số chữ chú thích sai

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>
	include 	<myp16def.inc>						;; Bổ sung thêm một vài định nghĩa
;/Region
;;================================================|================================================= 
;Region		KHAI BÁO BIẾN, HẰNG... - VARIABLE, CONSTANT,ETC DEFINITION

		ORG	0x20
			bTemp1			RES		1
			bTemp2			RES		1
;;================================================|================================================= 
		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)
Loop_Main:
		banksel PORTB
		bsf	PORTB,RB0								;; RB0 = 1
		call Delay100ms
		bcf	PORTB,RB0								;; RB0 = 0
		call Delay100ms
		goto		Loop_Main						;; Trở về chương trình chính
;/Region
;;================================================|=================================================
	;Function	Delay10ms - Hàm tam ngưng Nx10ms
		;Sumary
			;; 
			;; Input:
			;; Output:
			;; Effect:
		;/Sumary
		Delay100ms
			movlw 250								;; Nap vao gia tri y
			movwf bTemp2
			movlw 199								;; Nap vao gia tri x
			movwf bTemp1							;; y lan
		Loop_DHM
			decfsz bTemp1,f							
			goto Loop_DHM							;; x-1 lan
			movwf bTemp1							;; y lan
			decfsz bTemp2,f
			goto Loop_DHM
		return										;; 8+3+y*(x-1)*2+y*4 = 7 + y(x+1)*2 = (100.008)
	;/Function
;;------------------------------------------------|-------------------------------------------------
END													;; Trình biên dịch tự động dừng khi gặp lệnh này

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


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


Múi giờ GMT. Hiện tại là 09:34 AM.


Đượ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