![]() |
|
Tài trợ cho PIC Vietnam |
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 |
![]() |
#11 |
Nhập môn đệ tử
Tham gia ngày: Jul 2008
Bài gửi: 3
: |
Dùng ngắt điều khiển bộ ADC 10bit của pic16f877a
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 |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|
![]() |
||||
Ðề 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 |