- #include <p16F690.inc>
- __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
- cblock 0x20
- Delay1 ; Assign an address to label Delay1
- Delay2
- Display ; define a variable to hold the diplay
- endc
- org 0
- Start:
- bsf STATUS,RP0 ; select Register Page 1
- movlw 0xFF
- movwf TRISA ; Make PortA all input
- clrf TRISC ; Make PortC all output
- movlw 0x10 ; A2D Clock Fosc/8
- movwf ADCON1
- bcf STATUS,RP0 ; back to Register Page 0
- bcf STATUS,RP0 ; address Register Page 2
- bsf STATUS,RP1
- movlw 0xFF ; we want all Port A pins Analoga
- movwf ANSEL
- bcf STATUS,RP0 ; address Register Page 0
- bcf STATUS,RP1
- movlw 0x01
- movwf ADCON0 ; configure A2D for Channel 0 (RA0), Left justified, and turn on the A2D module
- MainLoop:
- nop ; wait 5uS for A2D amp to settle and capacitor to charge.
- nop ; wait 1uS
- nop ; wait 1uS
- nop ; wait 1uS
- nop ; wait 1uS
- bsf ADCON0,GO ; start conversion
- btfss ADCON0,GO ; this bit will change to zero when the conversion is complete
- goto $-1
- swapf ADRESH,w ; Copy the display to the LEDs
- movwf PORTC
- goto MainLoop
- end
Posted by solarwind on Wed 21 Jan 06:30
report abuse | download | new post
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.