You are on page 1of 27

REALISATION DUNE HORLOGE

Autour dun Microprocesseur 6809

Encadr par : Pr. OUADOU Ralis par :


ALAOUI FDILI Othmane
MOUJAHDI Chouaib ALIOUA Nawal MADANG Amine

Master IT

Projet Horloge 2008/2009

Sommaire:

I. Cahier de charge II. Introduction III. Schma fonctionnel du systme IV. Schma de principe dtaill :
IV-1. Le microprocesseur MC6809 IV-2. Les interruptions du 6809 IV-3. Le PIA MC6821 IV-4. Lafficheur et dcodeur 7447

V. Organigrammes du projet:
V-1. Organigramme du programme principal V-2. Organigramme du programme dinterruption du rglage (IRQ) V-3. Organigramme du programme dinterruption du dincrmentation des heures et des minutes (FIRQ)

VI. Programme du projet:


VI-1. Initialisation des adresses VI-2. Programme principal VI-2. Programme de linterruption de rglage IRQ VI-2. Programme de linterruption dincrmentation des heures et des minutes FIRQ

Conclusion

Master IT

Projet Horloge 2008/2009

Remerciement
Avant dentamer notre prsent rapport, nous tenons adresser nos remerciements Mr OUADOU pour avoir bien voulu proposer et encadrer notre projet, pour son aide et ses renseignements prcieux quil nous a fourni tout au long de ce semestre.

Master IT

Projet Horloge 2008/2009

I. Cahier de charge :
Notre projet consiste raliser une horloge en utilisant le micro-processeur MOTOROLA 6809 avec possibilit de rglage des heures et des minutes. On ralisera un circuit qui permettra dafficher lheure sous format hh : mm .

II. Introduction :
Plusieurs milliers d'annes avant notre re, l'homme avait remarqu le rythme des annes, des saisons, de la lune et l'alternance des jours et des nuits. Il a ainsi cherch concevoir des instruments de mesure du temps qui lui permettraient dorganiser sa vie sociale, religieuse et conomique. Avant le XX me sicle, la mesure du temps tait essentiellement de nature astronomique.

II.1. Instrument destin marquer les heures :


Gnomon :
Le premier instrument de mesure du temps est bien le gnomon qui reprsente un bton plant verticalement dans le sol, permettant d'observer le mouvement de l'ombre du soleil ou de la lune.

Cadran solaire :
Le cadran solaire est une surface plane dans laquelle est plante une tige appele style. La direction de lombre indique lheure. Le cadran est divis en douze heures du lever au coucher du soleil, mais comme la dure du jour varie selon les saisons, la dure des heures varie galement. Progressivement la graduation du cadran se perfectionne, mais elle est toujours imparfaite en raison de lorientation verticale du style. Au XIV sicle, les Arabes, en inclinant la tige du cadran selon la latitude du lieu, en font un instrument fiable.

Master IT

Projet Horloge 2008/2009

II.2. Machine destine marquer et sonner les heures :


Les premires horloges mcaniques ont t ralises au dbut du XIV : Le temps est mesur par le mouvement discontinu de roues dentes dont lnergie est fournie par la chute dun poids. Un mcanisme rgulateur est ncessaire, cest lchappement. Il consiste bloquer le poids et donc la rotation des roues pendant un temps court et intervalles rguliers laide dun balancier ou dun pendule. On mesure donc un temps artificiel qui dpend de la correction des effets de la pesanteur. Cest un temps qui nest pas continu comme le mouvement apparent du soleil, cest un temps divisible en units successives. les horloges foliot: En 1370 apparat la vritable horloge mcanique dont une pice appele foliot permet de rguler lnergie fournie par un poids une roue. Le mouvement est ensuite transmis des rouages qui entranent les aiguilles. La rgulation est imparfaite car la drive peut atteindre une heure par jour. Les premires horloges ne montrent pas lheure, elles ne font que sonner.

horloge pendule :
En 1657, linvention de la premire horloge pendule rvolutionne lhorlogerie .Elle rsulte des travaux de Christiaan Huygens ( 1629-1695), mathmaticiens , physicien et astronome hollandais. A partir des dcouvertes de Galile (1564-1642) sur les proprits des oscillations du pendule, il eut lide de remplacer le foliot par un pendule. Toutes les horloges Foliot existantes furent alors transformes car la modification permettait dabaisser les erreurs de 6 1.

Linvention du spiral rglant quest une sorte de ressort, par le mme Huygens,
permet la ralisation de la premire montre spiral en 1675. La prcision de la montre est ainsi multiplie par 5. A la fin du XVII e sicle est mise au point lindication des heures et des minutes grce deux aiguilles concentriques qui font le tour en 12 heures et une heure, respectivement. Lhorloger londonien Daniel Quare (1649-1724) cra le cadran contenant les heures et le minutes, qui sera modifi par lajout de laiguille des secondes (La seconde est dfinie, en 1967, la Confrence gnrale des Poids et Mesures, comme " la dure de 9 192 631 770 priodes de la radiation correspondant la transition entre les deux niveaux hyperfins de ltat fondamental de latome csium 133 ").

II.3. Instrument affichant lheure exacte


La montre quartz :
La montre quartz, dont le principe est connu depuis les annes 1920, fonctionne grce 2 lments essentiels :

Master IT

Projet Horloge 2008/2009

La pile trs faible consommation de lordre de 10 millionimes de watt/heure,


est la source dnergie qui remplace le ressort.

Le quartz est utilis pour ses oscillations stables, prcises et reproductibles. La


pierre doit avoir des coupes et des dimensions spcifiques pour produire une frquence bien prcise. Ces proprits ont t mises en vidence Paris, en 1880, par Pierre et Jacques Curie.

Temps Universelle :
Aprs avoir considr le mridien de Greenwich comme mridien principal, on adopte son heure locale comme Temps Universelle (TU).

Temps atomique international


Les annes nont pas exactement la mme dure parce que les diffrents mouvements de la terre ne sont pas rguliers. Ces variations intressent les scientifiques. Do la mise au point du temps atomique international (TAI) dont lutilisation est obligatoire pour dater les vnements scientifiques. Cest le Bureau International de lHeure, situ lobservatoire de Paris, qui donne lheure TAI partir des 230 meilleures horloges atomiques du monde. Une horloge atomique est un chronomtre au csium avec une prcision de 10-10.

Temps Universel Coordonn


En 1958, par convention, on a fait concider le TAI et le TU lgrement modifi, puis on a cre le Temps Universel Coordonn, compromis entre le TAI et le TU modifi. Ainsi, la plante vit au rythme dun temps de plus en plus homogne et de plus en plus prcis.

Master IT

Projet Horloge 2008/2009

III. Schma fonctionnel du systme :


ROM 6830 p 6809 RAM 6810

Codeur

PIA 6821

7447 Codeur 7447 Codeur

Bus donnes Bus adresse Bus commande

7447 Codeur 7447

Master IT

Projet Horloge 2008/2009

IV. Schma de principe dtaill :


IV-1. Le MICROPROCESSEUR MC6809 :
a. Dfinition du microprocesseur 6809 :
Le microprocesseur 6809 est un processeur 8 bits dont l'organisation interne est oriente 16 bits. Il existe deux versions diffrencies par l'horloge. Le 6809 est rythm par une horloge interne (f=1 MHZ, 1.5 MHZ et 2 MHZ).Tandis que le 6809E est rythm par une horloge externe. Ce dernier est adapt aux applications multiprocesseurs. Il prsente la particularit de pouvoir tre synchronis par une horloge extrieure.

b. Prsentation du brochage du 6809 :

Figure 1

Vss Vcc : alimentation bus de donne 8 bits : de Do D7


Ces huit broches sont bidirectionnelles. Elles permettent la communication avec le

Master IT

Projet Horloge 2008/2009

bus de donne interne du microprocesseur. Chaque broche peut "piloter" 1 charge TTL et 8 entres de circuits appartenant la famille 6800.

bus dadresse 16 bits : de A0 A15


Ces broches unidirectionnelles transfrent l'adresse 16 bits fournie par le microprocesseur au bus d'adresse du systme. Il possde les mmes caractristiques lectriques que le bus de donne.

bus de contrle La broche Read/Write


Cette broche indique le sens de transfert des donnes sur le bus de donne. R/ W = 1 lecture en cours (D0 - D7 sont des entres) R/ W = 0 criture en cours (D0 - D7 sont des sorties)

Les lignes d'tat du bus BA (Bus available) et BS (Bus state)


Information qui permet de connatre l'tat du microprocesseur tout moment.

BA 0 0 1 1

BS 0 1 0 1

Etat normal reconnaissance d'interruption reconnaissance de synchronisation externe arrt bus disponible

1er cas : Le microprocesseur est en fonctionnement normal, il gre les bus d'adresses et de donnes. 2me cas : le microprocesseur est en phase de reconnaissance d'interruption pendant deux cycles. Cet tat correspond la recherche des vecteurs d'interruption : Reset, NMI, IRQ, SW1,2 et 3. 3me cas : Ce signal apparat lorsque le microprocesseur rencontre l'instruction de synchronisation externe (niveau bas sur SYNC). Il attend alors cette synchronisation sur une des lignes d'interruption. Les bus sont en haute impdance pendant ce temps. Dernier cas : Correspond l'arrt du microprocesseur (niveau bas sur HALT). Le microprocesseur laisse la gestion du bus de donne et dadresse un circuit annexe (contrleur de DMA).

Master IT

Projet Horloge 2008/2009

Broche d'initialisation RESET


Un niveau bas sur cette broche entrane une rinitialisation complte du circuit. Consquences : Linstruction en cours est arrte Le registre de pagination (DP) est mis zro Les interruptions IRQ et FIRQ sont masques Linterruption non masquable NMI est dsarme

la broche HALT (Arrt du microprocesseur).


Un niveau bas sur cette broche provoque l'arrt du microprocesseur (Mais la fin de l'excution de l'instruction en cours). Il n'y a pas perte des donnes. Dans ce cas : Les demandes d'interruption IRQ et FIRQ sont inhibes Les demandes d'accs direct (DMA) la mmoire sont autorises. Les demandes d'interruptions RESET et NMI sont prises en compte

Les broches d'interruption


NMI (No Masquable Interrupt) IRQ (Interrupt Request) FIRQ (Fast Interrupt Request)

Entres d'horloge XTAL et EXTAL (Extension crystal).


La frquence du quartz (horloge) est quatre fois la frquence du microprocesseur.

MRDY (Memory ready) :


Cette broche de commande permet d'allonger la dure pour utiliser des mmoires temps d'accs long. Active sur un niveau bas. Lallongement est un multiple dun quart de cycle et sa valeur maximale est de 10 cycles.

DMA/BREQ (Direct Memory Acces/Bus Request).


Cette broche permet de suspendre l'utilisation des bus du microprocesseur, pour faire de l'accs direct ou du rafrachissement mmoire.

c. PRESENTATION DES DIFFERENTS REGISTRES INTERNE AU 6809 Les accumulateurs A, B ou D.


Les registres A et B sont des accumulateurs. Ces registres sont interchangeables (mme rle/instruction) sauf pour les instructions ABX et DAA et les oprations sur 16 bits. Certaines instructions regroupent les registres A et B pour former un seul

10

Master IT

Projet Horloge 2008/2009

accumulateur D de 16 bits. Dans ce cas l'accumulateur A reprsente l'octet de poids fort.

Les registres d'index (registres de 16 bits)


Les registres d'index X et Y sont utiliss pour les modes d'adressage index.Les donnes - 16 bits- contenues dans ces registres servent de pointeur de donne (adresses). Ces adresses peuvent tre modifies par une constante, prise comme valeur de dplacement (offset) qui permet alors de calculer une adresse effective.

le pointeur de pile S (Systme) est utilis automatiquement par le


microprocesseur pour mmoriser l'tat de tous ces registres internes dans le cas o il doit excuter un sous programme (d'interruption ou non).

le pointeur de pile U (Utilisateur) est gr exclusivement par le


programmeur pour effectuer, avec facilit, le passage des paramtres entre programmes et sous programmes.il peut-tre utilis pour sauvegarder un contexte mais cette fois, ce n'est pas automatique. Les registre U et S peuvent faire office de pointeurs - registres d'index.

Le Compteur de Programme (PC)


C'est le registre (16 bits) qui pointe sur la zone des instructions excuter.

Le registre de codes condition (CCR)


Ce registre donne tout instant l'tat des indicateurs (ou Flag) du microprocesseur. Il y a deux types d'indicateurs : Les indicateurs sur la nature des rsultats lis aux manipulations des donnes. Les indicateurs lis au fonctionnement en interruption. Prsentation des diffrents indicateurs : CCRb0 (indicateur de retenue baptis : C) : Indique l'existence d'une retenue lors d'une opration arithmtique effectue par l'ALU. CCRb1 (indicateur de dbordement baptis : V) : Il est mis 1 si le rsultat en complment 2 d'une opration arithmtique qui dborde. CCRb2 (indicateur de rsultat nul baptis : Z) : Il est mis 1 si le rsultat de l'opration est nul. CCRb3 (indicateur de rsultat ngatif baptis : N) : Il recopie le bit de poids fort (MSB) de l'octet contenu dans le registre avec lequel on vient de travailler. Un rsultat ngatif en complment 2 positionne ce flag 1. CCRb5 (indicateur de demi-retenue (Half curry) baptis : H) : Il reprsente le bit de demi-retenue. Il est utilis par l'ALU comme indicateur de retenue entre les bits b3 et b4 (retenue du demi-octet le moins significatif) dans le cas d'une addition sur 8 bits. Ce flag est pris en compte dans l'instruction DAA pour raliser l'opration d'ajustement dcimal. Les bits CCRb4, CCRb6 et CCRb7 sont utiliss dans les cas dInterruption.

11

Master IT

Projet Horloge 2008/2009

IV-2. Les interruptions du 6809 :


Une interruption est une procdure qui permet de suspendre l'excution d'un
programme au profit d'un autre, avec la possibilit de reprendre l'excution du programme initial l o il avait t suspendu. Elle est de deux types : matrielles ou logicielles.

Dans ce rapport on sintresse aux interruptions matrielles vu que cest celles


quont va utiliser.

Le microprocesseur 6809 possde pour dclencher ces interruptions quatre lignes,


baptises "entre d'interruption" matrielles qui sont par ordre de priorit:

RESET : Rinitialisation du microprocesseur. NMI : Non Masquable Interrupt. FIRQ: Fast Interrupt Request. IRQ : Interrupt Request.
Le registre CC du microprocesseur est constitu de flag selon le schma suivant :

Le flag I
Masque concernant l'interruption IRQ. Si I=1 Si I=0 alors IRQ est alors IRQ est Inhibe. Autorise.

Lorsque ce flag est mis 1, le microprocesseur ne prend pas en compte les demandes d'interruption arrivant sur la ligne IRQ. Avec ce type d'interruption, le contexte total du microprocesseur (12 octets) est sauvegard sur la pile S.

Le flag F
Masque concernant l'interruption FIRQ. Si F=1 Si F=0 alors FIRQ est alors FIRQ est Inhibe. Autorise.

Lorsque ce flag est mis 1, le microprocesseur ne prend pas en compte les demandes d'interruption arrivant sur la ligne FIRQ. Ici, le contexte partiel du microprocesseur (3 octets) est sauvegard sur la pile S. (seuls les contenus des registres PC et CCR sont concerns).

12

Master IT

Projet Horloge 2008/2009

Mthode de changement de l'tat des flags I et F. On peut forcer l'tat des deux bits l'aide des instructions suivantes : ANDCC d'une part et ORCC d'autre part. Grace ANDCC #$EF on met CCRb4=0. Grace ORCC #$10 on met CCRb4=1. Grace ANDCC #$BF on met CCRb6=0. Grace ORCC #$40 on met CCRb6=1.

IV-3. Le PIA MC6821 :

Figure 2

Le PIA (Peripheral Interface Adapter) est un composant lectronique servant


raliser la liaison parallle entre le microprocesseur et les priphriques.

Le PIA MC6821 communique avec le p MC6809 travers le bus de donne, le


bus dadresse et le bus de contrle.

Concernant la communication avec les priphriques, le PIA MC6821 met en


uvre deux bus de donnes 8 bits bidirectionnels et 4 lignes de contrle qui assurent la synchronisation des transferts. Cest--dire que selon la configuration du PIA, le priphrique ou le PIA pourra intervenir sur la valeur logique (1 ou 0) de chacune des lignes du bus. La valeur logique sur la ligne est la tension applique celle-ci : au-dessus de 2.0 Voltes, elle correspond "1", et en dessous de 0.8 Voltes, elle correspond "0".

13

Master IT

Projet Horloge 2008/2009

Figure 3

Le microprocesseur communique avec lextrieur par lintermdiaire des ports


dente et de sortie du PIA. Les diffrents priphriques sont lis au microprocesseur par ces circuits dinterfaces. Pour permettre cette communication, le PIA MC6821 est divise en 2 parties A et B indpendant ayant les mme caractristiques. Chaque partie de dispose dun port de 8 lignes bidirectionnelles programmables en E/S(de PA0 -> PA7 et PB0 -> PB7) et de 2 lignes de contrle Cx1 et Cx2 ainsi que trois registres internes de 8 bits : (x=A ou B) Registres de sortie ORx: accessibles en lecture et criture, permettent de mmoriser les donnes destines la sortie. Il demande la modification des lignes de linterface, si le port est en sorti, et rcupre ltat logique des lignes de linterface par lecture de ladresse de lORx, si le port est en entre.

Registre de direction de donne DDRx : fixe le sens des changes. Si la ligne n


du DDRx vaut 1 alors le port n de la partie x est en sortie, sinon il est en entre.

Registre de contrle CRx: offre un certain nombre de modes de


fonctionnement. Seules les positions CRx0 CRx5 sont programmables (criture). Les CRx6 et CRx7 sont positionns par le PIA, ils refltent son tat. Une particularit du PIA est que le DDR et lOR sont situs la mme adresse mmoire. Ainsi lorsque lon souhaite crire dans le DDRx ou lORx, il est ncessaire de modifier au pralable le registre CRx, et plus particulirement le

14

Master IT

Projet Horloge 2008/2009


bit 2 qui dfini quel registre est adress (0 : accs DDRx, 1 :accs ORx) . Plus gnralement le CRx sert paramtrer les IRQs (interrup request lines)

Port en entre : sert isoler le bus de donnes du microprocesseur des circuits priphriques. Le circuit dentre doit tre capable de dcoder les adresses prsentes sur le bus dadresses afin de connecter les lignes provenant des circuits priphriques au bus de donnes au moment adquat. Port en sortie : Lorsque le microprocesseur dcide denvoyer une donne vers un circuit priphrique, il fait apparatre la donne sur le bus de donnes pendant un instant trs court et donc la fonction essentielle dun port de sortie est de mmoriser cette donne et de la maintenir disposition du priphrique. Le circuit de sortie est capable de dcoder les adresses prsentes sur le bus dadresses afin de verrouiller la donne prsente sur le bus de donnes.

IV-4. Lafficheur et dcodeur 7447 :


a. Prsentation :
Les afficheurs segments (LED = Light Emitting Diode, diode lectroluminescente) sont des afficheurs qui permettent de visualiser un chiffre l'aide de segments lumineux. Les sources lumineuses sont internes au composant et permettent l'affichage mme en pleine nuit. Les afficheurs LED mettent la plupart du temps une lumire rouge ou verte. Pour afficher un chiffre donn, il suffit d'allumer les segments correspondants. Par exemple, pour afficher le chiffre 1, il faut allumer les segments B et C, et pour afficher le chiffre 2, il faut allumer les segments A, B, G, E et D. Mme principe pour les autres chiffres.

Figure 4

Remarque : l'affichage des chiffres 6 et 9 dpend du circuit de commande, on peut trouver ces chiffres avec ou sans queue : segment A allum ou teint pour le chiffre 6, et segment D allum ou teint pour le chiffre 9.

15

Master IT

Projet Horloge 2008/2009

b. Cathode commune ou Anode commune :


Afin de limiter le nombre de connections au composant, toutes les LEDs sont runies avec une de leur deux pattes de connections. Pour sept segments (sept LEDs), cela permet de rduire le nombre de pattes de 14 8. Afin de faciliter l'adaptation aux diffrents circuits de commande existants, les constructeurs ont dcid de relier toutes les anodes entre elles ou de relier toutes les cathodes entre elles. Un mme afficheur peut donc parfois tre dclin en version "Anode commune" ou en version "Cathode commune" (abrviations AC et CC ne pas confondre avec Alternatif et Continu). Il existe de ce fait deux possibilits d'alimentation des segments (LEDs). Sil est AC, on relie l'anode commune au ple le plus positif de l'alimentation, et on alimente chaque segment par une tension "ngative" (ngative par rapport au ple le plus positif). Sil est CC, on relie la cathode commune au ple le plus ngatif de l'alimentation, et on alimente chaque segment par une tension positive.

Figure 5

c. Dcodeur 7447 : Il est clair que l'on ne peut commander un afficheur de ce type directement avec les
sorties d'un compteur binaire, en effet, celui-ci requiert une commande spciale pour faire apparatre le chiffre dcimal choisi. Il convient donc d'intercaler entre ces deux circuits un dcodeur 7447.La table de vrit du dcodeur 7447 est donne par la figure suivante :

16

Master IT

Projet Horloge 2008/2009

Figure 6

Le brochage du dcodeur 7447 est donn par la figure suivante :

Figure 7

Son logigramme interne qui est un rseau combinatoire est donn par:

17

Master IT

Projet Horloge 2008/2009

Figure 8

Lafficheur sera li avec le dcodeur 7447 de la manire suivante :

Figure 9

18

Master IT

Projet Horloge 2008/2009

V. Organigrammes du projet:
V-1. Organigramme du programme principal :

19

Master IT

Projet Horloge 2008/2009

V-2. Organigramme du programme dinterruption du rglage (IRQ):

20

Master IT

Projet Horloge 2008/2009

V-3. Organigramme du programme dinterruption du dincrmentation des heures et des minutes (FIRQ):

21

Master IT

Projet Horloge 2008/2009

VI. Programme du projet:


VI-1. Initialisation des adresses

;$0006 db $3B * pour raliser les oprations modulo 60 ;$0007 db $18 ;$0008 db $19 ;$000E db $00 * compteur du dlai d'une second * pour raliser les oprations modulo 24 * on y met lheure rglage

;$000D db $00 * on y met la min du rglage ;$FFF8 db $FC * adresse de IRQ ;$FFF9 db $B0 * suite adresse de IRQ ;$0010 db $00 ;$0011 db $01 ;$0012 db $02 ;$000F db $00 ******** * pour tester les nombres de click sur IRQ ********* * compteur des click sur IRQ qu'on incrmente

;$FFF6 db $FC * adresse de FIRQ ;$FFF7 db $E0 * suite adresse de FIRQ

VI-2.Programme principal

22

Master IT

Projet Horloge 2008/2009

ORG $FC00 LDS #$0300 * on fixe la pile systme du programme principal


CLR $8001 CLR $8003 LDA #$FF STA $8000 STA $8002 LDA #$3F STA $8003 STA $8001 LDB $0008 SUBB $000E STB $000C DEC $000E Bheur: DEC $000C BEQ Befface INC $000E LDB $000E STB $0004 LDB #$FD ANDB $8003 LDB $0004 STB $8002 LDB $0006 SUBA $000D STA $000B LDB $000D STB $0003 LDA $0006 CLR $000D LDA $0006 STA $000A CLR $0002 BRA Bsecond * on initialise le compteur des secondes * effacer les secondes * aller la boucle des secondes 23 * affichage de lheure sur ORB * on y met les 59 minutes du compteur * soustraire les min rgle des 59 min et boucler sur la diffrence * $000B : compteur des min qu'on dcrmente * on y met la valeur des min rgl * $0003 : on y affiche les minutes * fixer les 59 second * pour ne pas retrouv lancienne valeur quand on reboucle * mise du bit 2 de CRB 0 pour adresser ORB * $0004 : ladresse o on affiche les heures * pour voir si les 24h se sont coules * si oui on remet les adresses leur valeurs initiales * incrmenter les heures * on soustrait l'heure rgl de 24 h pour boucler sur la diffrence * compteur des heures qu'on dcrmente * car on va l'incrmenter plus tard * Charger la valeur initial du registre CRB * Charger la valeur initial du registre CRA * adresse des registres DDRA et ORA de la PIA * adresse des registres DDRB et ORB de la PIA * adresse du registre CRA de la PIA * adresse du registre CRB de la PIA

Master IT

Projet Horloge 2008/2009


Bmin: LDA $0006 STA $000A CLR $0002 INC $0003 LDB #$FD ANDB $8001 LDB $0003 STB $8000 DEC $000B BEQ Bheur Bsecond: LDA $0007 STA $0009 B100: DEC $0009 BNE B100 INC $0002 DEC $000A BEQ Bmin BRA Bsecond Befface: CLR $0002 CLR $0003 CLR $000E DEC $000E LDB $0008 STB $000C BRA Bheur * compteur des heures *qu'on on complte 24h, on rinitialise les adresses concernes * adresse des secondes * adresse des minutes * compteur des heures rgle * car elle sera incrmente une fois dans B heur * incrmenter les secondes quand le dlai expire * dcrmenter le compteur des secondes * vrifier si les 59 secondes se sont coules * fixer le dlai d'une seconde * $0009 : contient la valeur du dlai * affichage des minutes sur ORA * vrifier si les 59 minutes se sont coules *si oui, aller la boucle des heures * mise du bit 2 de CRA 0 pour adresser ORA * rinitialiser le compteur des secondes 59 * mise 0 de la case des secondes * incrmenter les minutes

24

Master IT

Projet Horloge 2008/2009

VI-2. Programme de linterruption de rglage IRQ :



ORG $FCB0 prgIntReg: ANDCC #$EF INC $000F LDA $000F CMPA $0011 BEQ reglheur CMPA $0012 BEQ reglmin CLR $000F LDA #$FC STA $02F2 LDA #$00 STA $02F3 RTI reglheur: LDA #$FC STA $02FE LDA #$DB STA $02FF RTI atRegHeur: bra atRegHeur reglmin: LDA #$FC STA $02F2 LDA #$E7 STA $02F3 atRegMin: BRA atRegMin * boucler en attendant un FIRQ ** garantir le retour la boucle atRegMin * en rglant ladresse (prise en compte par RTI) de le pile ** dexcution IRQ par de atRegMin * boucler en attendant un FIRQ ** garantir le retour la boucle atRegHeur * en rglant ladresse (prise en compte par RTI) de le pile ** dexcution IRQ par de atRegHeur * si le compteur=1 * aller au rglage des heures * si le compteur =2 * aller au rglage des minutes * sinon remise 0 du compteur des IRQ ** garantir le retour au dbut du programme principal * en rglant ladresse (prise en compte par RTI) de le pile ** dexcution IRQ par celle du programme principal * permettre plusieurs interruptions IRQ la fois; le bit i de cc 0 * compteur des clicks sur IRQ

25

Master IT

Projet Horloge 2008/2009

VI-2. Programme de linterruption dincrmentation des heures et des minutes FIRQ:



ORG $FCE0 inc: LDA $000F CMPA $0011 BEQ incHeur CMPA $0012 BEQ incMin incHeur: INC $000E LDA #$18 CMPA $000E BEQ modHr LDB #$FD ANDB $8003 LDB $000E STB $8002 RTI modHr: LDA #$FF STA $000E BRA incHeur incMin: INC $000D LDA #$3C CMPA $000D BEQ modmin LDB #$FD ANDB $8001 LDB $000D STB $8000 RTI modmin: LDA #$FF STA $000D BRA incMin END * retour de FIRQ * remise 0 des minutes * mise du bit 2 de CRA 0 pour adresser ORA * affichage des minutes au cours du rglage sur ORA * on vrifie que lheure <$3C (60 min) * adresse o on stocke les minutes rgles * retour de FIRQ * remise 0 des heures * mise du bit 2 de CRB 0 pour adresser ORB * affichage des heures au cours du rglage sur ORB * on vrifie que lheure <$18 (24h) * adresse o on stocke les heures rgles * on est dans le rglage des minutes * tester sur le compteur des IRQ * on est dans le rglage des heures

26

Master IT

Projet Horloge 2008/2009

Conclusion:
Dans les pages qui prcdent, nous avons conu une horloge en utilisant le micro-processeur MOTOROLA 6809 avec possibilit de rglage des heures et des minutes qui permet dafficher lheure sous format hh : mm . On a dfini lenvironnement ncessaire pour garantir le bon fonctionnement de cette Horloge et expliqu son aspect thorique et technique. Notre horloge pourra tre intgre dans un circuit contenant des afficheurs afin doffrir la possibilit de mesurer le temps.

Webographie :
http://pagesperso-orange.fr/daniel.robert9/Digit/Digit_10TS2.html http://www.stielec.ac-aix-marseille.fr/cours/abati/aff7seg.htm http://louispayen.apinc.org/cours/afficheur-7-segments.htm http://www-ipst.u-strasbg.fr/pat/autom/ex-autom/aff7segm.htm http://www.univ-lemans.fr/ enseignements/physique/02/electro/segment7.html

27

You might also like