Upload
taswarmahbub
View
39
Download
0
Embed Size (px)
DESCRIPTION
8 BIT ADC
Citation preview
F:\latest 877a\ADC\8bit ADC\adc_8bit.asm
; THIS PROG IS A SIMPLE TEST OF INTERNAL 10 BIT ADC IN 8 BIT USE.
; PROGRAMMAR-- SYED TASWAR MAHBUB.
; 20 MHZ EXTERNAL XTAL OSCILLATOR
;--------------------------------------------------------------------------
PROCESSOR PIC16F877A
INCLUDE "P16F877A.INC"
__CONFIG H'3F71'
TITLE:"SIMPLE 8BIT ADC TEST WITH PIC 16F877A."
;---------------------------------------------------------------------
;POSITION OF THE FOLLOWING GPRS IN MEMORY MAP ARE MENTIONED IN INCLUDE
;FILE CITED ABOBE AND HENCE NOT REQUIRED TO MENTION HERE. BUT GIVEN
;HERE TO SHOW THE POSITIONS IN DIFFERENT DATA BANKS FOR NEW PROGRAMMARS.
;----------------------------------------------------------------------
STATUS EQU 0X03
PORTA EQU 0X05
PORTB EQU 0X06
TRISA EQU 0X85 ;IN BANK1, SO BANK CHANGING REQUIRED
TRISB EQU 0X86 ;IN BANK1, SO BANK CHANGING REQUIRED
ADRESH EQU 0X1E
ADCON0 EQU 0X1F
ADCON1 EQU 0X9F ;IN BANK1, SO BANK CHANGING REQUIRED
;-----------------------------------------------------------------------
CBLOCK 0X20
COUNT,D1,D2,D3
ENDC
ORG 0X00
GOTO MAIN
;------------------------- DELAY SUB-ROUTINE ---------------------------
DEL_20M ;20 MICRO SEC DELAY
CLRF COUNT
MOVLW 0X23
MOVWF COUNT
REPEAT
DECFSZ COUNT
GOTO REPEAT
RETLW 0X00
DEL_250
MOVLW 0X8A
MOVWF D1
MOVLW 0XBA
MOVWF D2
MOVLW 0X03
MOVWF D3
DELAY_0
DECFSZ D1, F
GOTO $+2
DECFSZ D2, F
GOTO $+2
DECFSZ D3, F
GOTO DELAY_0
GOTO $+1
GOTO $+1
NOP
RETURN
1
F:\latest 877a\ADC\8bit ADC\adc_8bit.asm
;------------------------- MAIN PROGRAMME STARTS HERE ------------------
MAIN
BANKSEL TRISB ;MOVING TO BANK1
CLRF TRISB ;CLEARING TRISB VALUE
BSF TRISA,0 ;PORTA BIT 0 SET AS OUTPUT
MOVLW B'00001110'
MOVWF ADCON1 ;LT JUSTIFIED,ANO=ANALOG INPUT PIN
BANKSEL PORTA ;FALLING BACK TO BANK0
CLRF PORTA ;PORTA VALUE CLEARED
CLRF PORTB ;PORTB VALUE CLEARED
MOVLW B'10000001'
MOVWF ADCON0 ;FOSC/32,CHANNEL0,A/D IS ON
KHELA CALL DEL_20M ;DELAY SUBROUTINE CALLED
BSF ADCON0,2 ;GO
BACK BTFSC ADCON0,2 ;DONE
GOTO BACK
MOVF ADRESH,W ;SENDING ADRESH VALUE IN PORTB
MOVWF PORTB
CALL DEL_250
GOTO KHELA
END
;---------------------------------------------------------------------------
2