?? ejem_22.asm
字號:
;
; EJEMPLO 22
; Autor: Mikel Etxebarria
; (c) Ingenier韆 de Microsistemas Programados S.L.
; www.microcontroladores.com
; Bilbao 2006
;
;El TMR1 en el modo temporizador
;
;Se desea realizar un contador binario visualizado sobre la Puerta B que, se vaya incremen-
;tando a raz髇 de una unidad cada 0.1 segundos. Para ello contamos con la ayuda de la
;interrupci髇 provocada por el TMR1
List p=16F876A ;Tipo de procesador
include "P16F876A.INC" ;Definiciones de registros internos
;Ajusta los valores de la palabra de configuraci髇 durante el ensamblaje:
;protecci髇 de c骴igo y datos=OFF, LVP=OFF, WDT=OFF y OSC=XT
__config _CP_OFF&_CPD_OFF&_LVP_OFF&_WDT_OFF&_XT_OSC
org 0x00 ;Vector de RESET
goto Inicio
org 0x04
goto Inter ;Vector de interrupci髇
;Programa de tratamiento de interrupci髇
Inter movlw low ~.12500
movwf TMR1L ;Carga la parte de menos peso de 12500 en TMR1L
movlw high ~.12500
movwf TMR1H ;Repone el TMR1 con el valor 12500.
bcf PIR1,TMR1IF ;Desconecta el flag del TMR1
incf PORTB,F ;Incrementa el contador de la Puerta B
retfie
;Programa principal
Inicio clrf PORTB ;Borra los latch de salida
bsf STATUS,RP0 ;Selecciona banco 1
clrf TRISB ;Puerta B se configura como salida
bsf PIE1,TMR1IE ;habilita interrupci髇 del TMR1
bcf STATUS,RP0 ;Selecciona banco 0
;El TMR1 trabaja con oscilador interno y un preescaler de 1:8. Si se trabaja a una frecuencia
;de 4 MHz, el TMR1 deber
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -