Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Plain Text by A.Fahim ( 11 years ago )
#include <P16f877A.inc>
org 0
;Registers Identification
A_ EQU 0x20
B_ EQU 0x21
C_ EQU 0x22
AA EQU 0x23
BB EQU 0x24
CC EQU 0x25
A1 EQU 0x26
B1 EQU 0x27
SR EQU 0x28
COUNT EQU 0x29
DG EQU 0x30
T1 EQU 0x31
T2 EQU 0x32
T3 EQU 0x33
D_ EQU 0x34
;Port initialization
BCF STATUS,RP0
CLRF PORTA
CLRF PORTB
CLRF PORTC
BSF STATUS,RP0
MOVLW 0X00
MOVWF TRISB
MOVLW 0X00
MOVWF TRISC ; OR CLRF TRISC DIRECTLY to set PORTC as an output
MOVLW 0X01
MOVWF TRISA
MOVLW 0X0E
MOVWF ADCON1 ; left justified and from the table choose 1110
BCF STATUS,RP0
MOVLW 0X40
MOVWF ADCON0
SAMP BSF ADCON0,0
Movlw .20 ;delay bec of aquisation time
Movwf D_
Loop DECFSZ D_
GOTO Loop
BSF ADCON0,2
P1 BTFSC ADCON0,2
GOTO P1
MOVF ADRESH,W
MOVWF COUNT
ADDWF COUNT,1 ; to multiply the answer by 2 to get the temperature right , it changes to 1.59 if we chose volt from 0-> 1
;PROGRAM STARTING
;FINDING 10'S (AA),1'S(BB)
START CLRF AA
CLRF BB
CLRF CC
MOVF COUNT,W
MOVWF A_
MOVLW .10
MOVWF B_
;MOVLW .10
;MOVWF C_
MOVF B_,W
LP1 SUBWF A_,1 ;(A-10)is put in A
BTFSS STATUS,C ;Skip if A>= 10
GOTO BR1 ; GOTO BR1 if A < 10
INCF AA
GOTO LP1
BR1 MOVF B_,W
ADDWF A_,1 ;ADD 10 to (A-10) if it is - VE
;ADDLW .10
;This process corrects the error
;MOVF C_,W
;LP2 ;SUBWF A_,1 ;(A-10)is put in A
;BTFSS STATUS,C ;Skip if A >= 10
;GOTO BR2
;INCF BB
;GOTO LP2
;BR2 ;MOVF C_,W
;ADDWF A_,1
MOVF A_,W
MOVWF BB ;Now 1's in CC, 10's in BB
; and 100's in AA
;Display and Scanning
MOVLW .100
MOVWF SR
SCAN ;MOVLW 0X1E ; To enable CC
;MOVWF PORTA
MOVF BB,W
CALL DISPLAY
MOVWF PORTC
CALL DELAY
MOVF AA,W
CALL DISPLAY
MOVWF PORTB
CALL DELAY
DECFSZ SR
GOTO SCAN
INCF COUNT
GOTO SAMP
DISPLAY ADDWF PCL,1
RETLW 0X7E
RETLW 0X0C
RETLW 0XB6
RETLW 0X9E
RETLW 0XCC
RETLW 0XDA
RETLW 0XFA
RETLW 0X0E
RETLW 0XFE
RETLW 0XDE
DELAY CLRWDT
MOVLW .11
MOVWF A1
LP3 MOVLW .101
MOVWF B1
LP4 DECFSZ B1
GOTO LP4
DECFSZ A1
GOTO LP3
RETURN
NOP
END
Revise this Paste
Children: 76788