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 18-03-2011, 12:44 AM   #12
Longfet53
Nhập môn đệ tử
 
Tham gia ngày: Feb 2011
Bài gửi: 9
:
Trích:
Nguyên văn bởi cancel View Post
tui đã test code này rồi. tui hơi bối rối chổ banksel. Mỗi lần tui viết lệnh cho một thanh ghi phải coi nó thuộc bank nào rất vất vả. Vậy xin hỏi có một nguyên tắc nào để xài cái lệnh banksel không?
;################################################# #########
TITLE "SU DUNG ADC"
PROCESSOR P16F877A
INCLUDE <P16F877A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC &_WRT_OFF & _LVP_OFF & _CPD_OFF
;#######################################
;dung Vdd lam Vref
;ket qua 10 bit xuat ra PORTB va
;2 bit cao la RC0, RC1
;lay mau o chan RA0
;khi qua trinh chuyen doi hoan tat thi co ngat duoc bat len
;va bit GO/DONE' duoc tu dong xoa ve 0
;cancel
;######################################
ORG 0x0000
goto MAIN
ORG 0x0004
goto IRS
ORG 0x0005
MAIN
;configure I/O ports
banksel TRISA ;bank1
movlw B'111111'
movwf TRISA
movlw 0x00
movwf TRISB
movlw 0x00
movwf TRISC
movlw TRISC
;configure A/D module

movlw B'10000000' ;luu ket qua ve ben phai hai thanh ghi ADRESH:ADRESL
;chon 8 kenh analog vdd lam Vref
movwf ADCON1
bsf PIE1,ADIE ;cho phep ngat AD; trong bank1

banksel ADCON0 ;bank0
movlw B'01000001' ;clock conversion=Fosc/8
;select AN0
;clear GO/DONE'
;turn on A/D

movwf ADCON0
;configure A/D interrup
;bcf PIR1,ADIF
bsf INTCON,PEIE
bsf INTCON,GIE
;bsf PIE1,ADIE PIE1 o bank1

;wait the required acquisition time; ko cho chuyen doi trong chuong trinh nay

;start convertion: set bit GO/DONE' & ep ngat AD

bsf ADCON0,GO
bsf PIR1,ADIF
;
goto $

IRS
btfss PIR1,ADIF
goto EXIT_ADC_INTERRUP
ADC_INTERRUP
; display the result

movfw ADRESH
movwf PORTC
banksel ADRESL ;bank1
movfw ADRESL
banksel PORTB ;bank0
movwf PORTB

;prepare for the next INTERRUP

bsf ADCON0,GO
bcf PIR1,ADIF
EXIT_ADC_INTERRUP

RETFIE
END
Mình không hiểu ở chỗ cái dòng
bsf ADCON0,GO
bsf PIR1,ADIF
bạn set ADIF dể làm gì? bạn giải thích chút được không.
Longfet53 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à 04:36 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