⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x-temp_lm35.asm

📁 Thermometer with LCD
💻 ASM
字号:
;************************************************* www.x-robotics.com *******
; PROGRAMA : X-Temp_LM35.asm
; Funcion :Medicion de temperatura de 4 canales con 2,56V +Vref externo y
;	   sensores LM35, indicacion de temp. en LCD 2x16.
;
;	   Medici髇 de 0 a +150 篊
;
;---------------------------------------------------------------------------
;  Revision : 1.00    Fecha:  22/2/2003       Programa para : PIC16F876
; CPU Clock : 4 MHz                      Tiempo instruccion : 1uS
;       WDT : OFF	                      Tipo de reloj : XT
; Code Prot : OFF          		    cfg USART rs232 ; none
;     Autor : Daniel C. Martin ->  ionitron@x-robotics.com  <-
;************************************************* www.x-robotics.com *******
		
		processor 16F876

		LIST	P=16F876	;Se indica el modo de procesador
		
		INCLUDE	<P16f876.inc>	;se incluye la definicion de los
					;registros internos
		__config 3D31
		


PDel0		EQU	0x21
PDel1		EQU	0x22
PDel2		EQU	0x23
BUFFER		EQU	0x24
DATO_A		EQU	0x25
DATO_B		EQU	0x26
Digito		EQU	0x27
INNER		EQU	0x28
OUTER		EQU	0x29
cnt_bit		EQU	0x2A

ASCII_H		EQU	0x2B
ASCII_M		EQU	0x2C                 
ASCII_L		EQU	0x2D 
HEXADECIMAL	EQU	0x2E

Canal		EQU	0x2F

;----------------------------------------------------------------------------


		org 	0x00		;vector de inicio
		goto 	INICIO


		org 	0x05		;despues del vector de interrupcion		


;<<<<<<----------------- INICIO PROGRAMA PRINCIPAL ------------------->>>>>>>
;----------------------------------------------------------------------------

INICIO		bcf	STATUS,RP0	;banco 0
		bcf	STATUS,RP1
		
		clrf	PORTA
		bsf	STATUS,RP0	;banco 1
			
		clrf	TRISB		;portb como salida
		clrf	TRISC
		
		bcf	STATUS,RP0	;banco 0
		
		clrf	PORTA
		clrf	PORTB
		clrf	PORTC

			
;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''		
START           CALL    LCD_INI         ;Inicia LCD (CFG puertos...)                 
START_1         MOVLW   b'00000001'     ;Borrar LCD y Home          
                CALL    LCD_REG                                     
                MOVLW   b'00000110'     ;                           
                CALL    LCD_REG                                     
                MOVLW   b'00001100'     ;LCD On, cursor Off,Parpadeo Off         
                CALL    LCD_REG                                     
                MOVLW   0x80            ;Direccion caracter
                CALL    LCD_REG                           
REPETIR       	;MOVF    Digito,w        ;W=Digito
                ;CALL    DATO_1          ;Coge el caracter           
                ;IORLW   0x00            ;Compara 
                ;BTFSC   STATUS,2        ;Es el ultimo?             
                ;GOTO    acabar	         ;Si               
                ;CALL    LCD_DATOS       ;Visualiza caracter         
                ;INCF    Digito,f        ;Incrementa numero de Digito
                ;GOTO    REPETIR         ;Vuelve a escribir
                                                                    
acabar		;termino inicializacion de lcd y muestra primeros datos


;===========================================================================
;		Inicio de conversion de valores analogicos
;===========================================================================


;---------------------Configuracion CONVERTIDOR A/D-------------------------
CFGADC		bsf	STATUS,RP0	;Banco 1
		bcf	STATUS,RP1
		
		movlw	b'00000011'	;seleccion tipo puertos A/D
		movwf	ADCON1
		movlw	b'11111111'
		movwf	TRISA		;PORTA como entrada
		
		bcf	STATUS,RP0	;Banco 0
		movlw	b'01000001'	;seleccion Tad, canales para
		movwf	ADCON0		;conversion y A/D=ON
		bcf	PIR1,ADIF	;limpia flag de conversion completa
			
;	FIN de configuracion de registros
;---------------------------------------------------------------------------
	
		
lecturas	movlw	d'0'		;selecciona canal ADC
	 	movwf	Canal
		call	RUN_ADC

		movlw	0x80		;pone cursor en 80------------------
		call	LCD_REG
		movlw	'T'
		call    LCD_DATOS       ;Visualiza caracter    
		movlw	'1'
		call    LCD_DATOS       ;Visualiza caracter    		
		movlw	'='
		call    LCD_DATOS       ;Visualiza caracter    

		call	inLCD		;visualiza dato---------------------
		movlw	0xDF		;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -