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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 16-12-2006, 09:43 AM   #2
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
Vấn đề viết code cho ADC thì hoàn toàn không có vấn đề gì là khó khăn.

Lưu ý phần code này, được trích trong một chương trình đã chạy ngon, nhưng vì trích dẫn ra, có thể nó không chạy được, hoặc có trục trặc gì, F không chịu trách nhiệm về việc sử dụng nó.

Ngoài ra, F cũng không nói ứng dụng nó là ứng dụng gì, vì lý do nó được dùng cho một sản phẩm thương mại, chỉ trích phần ADC ra xem chơi thôi. Các bạn chủ yếu nắm ý tưởng một trong những cách viết ADC, còn lại, không cần quan tâm đến nội dung code. Đã 2 năm rưỡi nay F không đụng tới code của PIC, vì vậy, nếu có vấn đề gì, các bạn feedback lại để sửa nhé.

Đoạn này khởi tạo các biến để sử dụng ADC.

Code:
		ORG	0x020
;==============================================
ADCDATA		RES	1
REGAD1		RES	1
REGAD2		RES	1
REGAD3		RES	1
REGAD4		RES	1
REGAD5		RES	1
Code:
;----------------------
;Khoi tao cac ngo vao
;----------------------

ADC		MOVLW	B'00000000'				; Tat ca portA la ngo vao ADC
		MOVWF	ADCON1					; chon Vref = VDD
Code:
;=============================
; Doc ADC
; Khong dung ngat de doc ADC
; Su dung thanh ghi GO/DONE
;=============================

AD1		MOVLW	B'00000001'
		CALL	ADSTART
		MOVWF	REGAD1

AD2		MOVLW	B'00010001'
		CALL	ADSTART
		MOVWF	REGAD2

AD3		MOVLW	B'00100001'
		CALL	ADSTART
		MOVWF	REGAD3

AD4		MOVLW	B'00011001'
		CALL	ADSTART
		MOVWF	REGAD4

AD5		MOVLW	B'00100001'
		CALL	ADSTART
		MOVWF	REGAD5
Đoạn trên gọi ADSTART, thì đây là chương trình ADSTART
Code:
ADSTART		MOVWF	ADCON0					
DELAY12		DECFSZ	DLY12,	F				; 2 x DLY12 x 0.2 us
		GOTO	DELAY12					; 2 x 30 x 0.2 = 12us
		BSF	ADCON0,	2
GODONE		BTFSC	ADCON0,	2
		GOTO	GODONE					; Cho den khi convert xong
		MOVF	ADRES,	W

		RETURN
Đại loại là đọc ADC 8 bit đơn giản như vậy thôi, nhưng bây giờ thì chúng ta tạm thời chưa phần tích kỹ phần thuật toán, chỉ là mào đầu thôi.

Cái F muốn nói ở đây, đó là phần thiết kế điện tử cho ADC, hãy phân tích một thiết kế điện tử ADC để thiết kế ngõ vào cho ADC, giả sử nếu chúng ta cần dùng một mạch lọc, sẽ thiết kế thế nào? Vd: lọc thông thấp chẳng hạn (với các cảm biến nhiệt).

Khi thiết kế xong, thì yêu cầu đi mạch ADC như thế nào?

Chứ nếu không các bạn đọc 8bit thì chỉ còn tầm 6,7 bit, đọc 12 bit, có khi chỉ còn đúng ở mức 8bit... Lưu ý, bộ ADC của PIC, lên tới 10bit là cũng mệt mỏi lắm rồi.

Mời các bạn tiếp tục thảo luận.

Chúc vui
falleaf 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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
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
Sườn chương trình cơ bản bằng MPASM falleaf MPASM 6 19-05-2006 03:28 PM


Múi giờ GMT. Hiện tại là 12:06 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