| Home » Diverses rubriques » Archive forum sujets |
|
|
|
|
HC11: probleme avec OC2
|
|
Bonjour à tous,
Mon ami et moi avons fait un montage pour pouvoir programmer le 68hc811e2 en bootstrap. Jusqu'à maintenant, aucun problème. Par contre, nous avons programmer le hc11 avec le ce programme:
(http://perso.wanadoo.fr/franck.decaux/mini-carte-68HC11/exemple8.htm)
***************************************************************************
#include regist.asm
org EEPROM
; Debut du programme:
debut: ldaa #$10 staa INIT ; RAM en $1000, Registres en $0000
lds #STACK ; Initialisation du pointeur de pile
; initialisation CAN bset OPTION,%10000000 ldaa #%00110000 staa ADCTL ; Conversions continues
; initialisation timer ldaa #%01000000 staa OC1M ; OC1 commande PA6
ldaa #%10000000 staa TCTL1 ; OC2 declenche un 0 sur PA6
ldaa #%01000000 staa OC1D ; OC1 declenche un 1 sur PA6
bset TMSK1,%10000000 ; Autorise l'interruption OC1 cli
; Boucle principale:
boucle:
wai ; Attente d'une interruption bra boucle ; Recommence
; Sous programme d'interruption TOC1:
int_TOC1:
; TOC2 = TOC1 + (ADR1 * 7,8431) + 2000 (1 ms a 2 ms pour ADR1 de 0 a 255)
ldab ADR1 clra ; accuD = ADR1
ldx #8359 ; X = 8356 (= 65536 / 7.8431) fdiv ; X = (65536 * accuD) / X (= ADR1 * 7.8431) xgdx ; Transfert de X dans accuD addd #2000 ; accuD = (ADR1 * 7.8431) + 2000
addd TOC1 ; accuD = TOC1 + (ADR1 * 7.8431) + 2000 std TOC2 ; Resultat dans TOC2
; Prochaine int_TOC1 dans 20 ms (frequence 50 Hz) ldd TOC1 addd #40000 std TOC1 ; TOC1 = TOC1 + 40000 (20 ms)
; Efface le flag OC1F ldaa #%10000000 staa TFLG1
rti
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; org $FFD6
; Vecteurs d'interruptions.
SCI_VECT FDB debut SPI_VECT FDB debut PAI_VECT FDB debut PAO_VECT FDB debut TOF_VECT FDB debut
TOC5_VECT FDB debut TOC4_VECT FDB debut TOC3_VECT FDB debut TOC2_VECT FDB debut TOC1_VECT FDB int_TOC1 TIC3_VECT FDB debut TIC2_VECT FDB debut TIC1_VECT FDB debut
RTI_VECT FDB debut IRQ_VECT FDB debut XIRQ_VECT FDB debut SWI_VECT FDB debut TRAP_VECT FDB debut COP_FAIL_VECT FDB debut COP_CMF_VECT FDB debut RESET_VECT FDB debut
***************************************************************************
Lorsque nous testons le prog, le broche oc2(PA6) reste toujours à "1". Est ce que quelqu'un peut me dire pourquoi ??
Merci
Numéro de l'article: 74541
| De: Louis-Bernard Lagueux
| Date: 2002-04-25 12:49:05
|
|
|