From: Hugo Villeneuve Date: Sat, 23 Nov 2013 18:56:54 +0000 (-0500) Subject: Rename test-files directory -> tests X-Git-Tag: v2.0.0~56 X-Git-Url: http://gitweb.hugovil.com/?a=commitdiff_plain;h=3e23ac6c01bf2589dd62b19c2f33b680f075a45f;p=emu8051.git Rename test-files directory -> tests --- diff --git a/Makefile.am b/Makefile.am index 623e0b9..71bd259 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,8 +6,7 @@ SUBDIRS = src data doc ## We want these in the dist tarball EXTRA_DIST = autogen.sh \ - pixmaps \ - test-files + pixmaps ACLOCAL = aclocal -I $(ac_aux_dir) diff --git a/test-files/siae1.hex b/test-files/siae1.hex deleted file mode 100644 index 7324c56..0000000 --- a/test-files/siae1.hex +++ /dev/null @@ -1,115 +0,0 @@ -:0600000002003302003390 -:03000B00020033BD -:03001300020033B5 -:03001B00020033AD -:03002300020033A5 -:03002B000200339D -:100033007581801202D312024375540075550085F1 -:100043004356854457755BC61204C8120493740360 -:100053002557F543855A56855B57755B0A1204C8C5 -:10006300120493E5574430F55E75F000E543120240 -:10007300DC85514F85525085535175522E855E5301 -:1000830074501203067404120306E54F120306E5C7 -:1000930050120306E551120306E552120306E55317 -:1000A300120306745A12030675300075315D7532FA -:1000B300C01204E78534F0E5351202DC74501203F4 -:1000C300067401120306E54F120306E550120306F8 -:1000D300E551120306E552120306E55312030674B3 -:1000E3005A12030675F000E5361202DC745012034F -:1000F300067405120306E551120306E552120306C0 -:10010300E553120306745A12030675F000E537121D -:1001130002DC74501203067406120306E55112033F -:1001230006E552120306E553120306745A12030638 -:10013300E53875F00584C5F0C3334430F55FC5F089 -:1001430075F0001202DC85525085535175522E858D -:100153005F5374501203067408120306E55012032A -:1001630006E551120306E552120306E55312030690 -:10017300745A12030675540075550085415685421D -:1001830057755B641204C87554001204938556F0C6 -:10019300E5571202DC74501203067402120306E5DB -:1001A30051120306E552120306E553120306745A6D -:1001B300120306755400755500853B56853C5775EB -:1001C3005B0F1204C812049385575C855A56855BEE -:1001D30057755B641204C81204938556F0E55712F1 -:1001E30002DC85525D85535E75F000E55C1202DC2E -:1001F30085524F85535075512E855D52855E5374DC -:10020300501203067407120306E54F120306E55066 -:10021300120306E551120306E552120306E55312D3 -:100223000306745A12030674201203060139756219 -:1002330016740075F000D5F0FDD5E0F7D562F22213 -:10024300783B7900E9120255A64E08A64D0809B974 -:1002530008F2D2B3C2B1C2B300D2B3C2B6C2B300C2 -:10026300D2B3F580C2B300D2B3D2B6C2B300D2B315 -:10027300D2B1C2B31202CA7580FFD2B3C2B1C2B344 -:1002830000D2B3C2B7C2B30085804DD2B3D2B7C2D6 -:10029300B300D2B3D2B1C2B300D2B3D2B2C2B300AD -:1002A300D2B3C2B1C2B300D2B3C2B7C2B300858066 -:1002B3004E00D2B3D2B7C2B300D2B3D2B1C2B300ED -:1002C300D2B3C2B2C2B322D2B300C2B330B0F822A7 -:1002D30075D54475B0F3513122C00078537554007D -:1002E30075550085F056F557755800755900755AC0 -:1002F30000755B0A120314E55B4430F618B84EE848 -:10030300D00022F586B290E5AA53E08060F9E58635 -:1003130022C004C003C002C001C0007504207503DD -:100323000075020075010075000012038F1203A50A -:100333004022C3E5039558403A7019C3E502955925 -:1003430040317010C3E501955A40287007C3E5009A -:10035300955B401FC3E500955BF500E501955AF5F4 -:1003630001E5029559F502E5039558F503E557D2E2 -:10037300E0F557DCB585035885025985015A850098 -:100383005BD000D001D002D003D00422C3E55733A1 -:10039300F557E55633F556E55533F555E55433F53D -:1003A3005422E50033F500E50133F501E50233F5A9 -:1003B30002E50333F50322C002C001C00075021B2E -:1003C30075010075000012040312041D4010C3E5FB -:1003D30001955A401C7007C3E500955B4013C3E5C4 -:1003E30000955BF500E501955AF501E557D2E0F577 -:1003F30057DAD385015A85005BD000D001D00222A1 -:10040300C3E55733F557E55633F556E55533F555FB -:10041300E5543392E35407F55422E50033F500E540 -:100423000133F50122C002C001C000750216750137 -:10043300007500001204711204844010C3E5019595 -:100443005A401C7007C3E500955B4013C3E5009554 -:100453005BF500E501955AF501E557D2E0F557DA6A -:10046300D385015A85005BD000D001D00222C3E5B9 -:100473005733F557E55633F556E55533F55592E6BB -:1004830022E50033F500E5013392E6543FF50122FE -:1004930085575B85565A535A0F1204B81204B81283 -:1004A30004B81204B853540F8556578555568554CE -:1004B3005575540022E55413F554E55513F555E5E8 -:1004C3005613F55622E556855BF0A4F55685F0558F -:1004D300E557855BF0A4F557C5F02556F556E43589 -:1004E30055F555221205751205981205B5E53654D2 -:1004F300F0C4C5F0E53754F025F0F5F01205DAF84D -:10050300E5F0240130D605E8F90205131205DAF9FE -:10051300E5F024105007E8FAE9FB020536F5F0127E -:1005230005DAFAE5F0240130D605EAFB02053612B6 -:1005330005DAFB88F0E9AC36120553F88AF0EBAC28 -:1005430036120553FA88F0EAAC37120553F5382210 -:10055300C0F0C223C395F05005F42401D223F5F073 -:10056300EC540FA454F0C4302303F42401D0F02539 -:10057300F02275540775552775560E755700E530EB -:10058300B4000B85315A85325B71BA0205918556E9 -:100593003485573522C3E5359490F556E5349401F7 -:1005A300F555755700C3755A25755B809128855796 -:1005B3003622755400755500C3E54394285001E471 -:1005C300F556755700755800755900755A00755BD7 -:1005D300A071148557372224E8F58274053400F599 -:1005E3008374009322111123465F5F666666666615 -:1005F3006666585858111123465F5F6666666666DD -:100603006666585858111123465F5F6666666666CC -:100613006666585858111123465F5F6666666666BC -:100623006666585858111123465F5F6666666666AC -:100633006666585858111123465F5F66666666669C -:100643006666585858111123465F5F66666666668C -:100653006666585858111123465B5B626262626298 -:1006630062625454541111234651515858585858E2 -:100673005858585858111123464A4A51515151510B -:10068300515151515111111C3846464A4A4A4A4A5E -:100693004A4A4A4A4A11111C343F3F4343434343A6 -:1006A300434343434311111C3438383C3C3C3C3CEA -:1006B3003C3C3C3C3C11111C2A2D2D313131313154 -:1006C300313131313111111C3438383C3C3C3C3C24 -:1006D3003C3C3C3C3C11111C2A2D2D313131313134 -:0506E30031313131311D -:00000001FF diff --git a/test-files/test-cjne.hex b/test-files/test-cjne.hex deleted file mode 100644 index 5778693..0000000 --- a/test-files/test-cjne.hex +++ /dev/null @@ -1,2 +0,0 @@ -:030000007457141E -:03000300B455FCF5 diff --git a/test-files/test.hex b/test-files/test.hex deleted file mode 100644 index 7a42308..0000000 --- a/test-files/test.hex +++ /dev/null @@ -1,13 +0,0 @@ -:03000000020033C8 -:1000330075818075D54475A000C290E4F500E50094 -:1000430012007DF586D29005A07400D5E0FDC29024 -:10005300E5AA53E08060F9E5861200690500C3E56F -:1000630000945040D92222752005740075F000D504 -:10007300F0FDD5E0F7D520F20022248BF582740041 -:100083003400F5837400932252504D3A31303234A8 -:1000930035204D41503A313033204D41543A3131BE -:1000A30030204241543A31322E3420202020202067 -:1000B3000D0A0A45474F3A31342E36202054505307 -:1000C3003A31303020414E473A33302020434C54AC -:0B00D3003A313038202020202020206F -:00000001FF diff --git a/test-files/timer.asm b/test-files/timer.asm deleted file mode 100644 index aac4885..0000000 --- a/test-files/timer.asm +++ /dev/null @@ -1,179 +0,0 @@ -;******************************************************************************* -;* Système d'Injection et d'Allumage Électronique * -;* Version : 01 * -;* Auteur : Hugo Villeneuve * -;* * -;* 10 mars 1999 * -;******************************************************************************* - - $MOD52 ; Micro-contrôleur Atmel AT89S8252 - - -;******************************************************************************* -;* Définition des constantes * -;******************************************************************************* - -TOS EQU 60h ; Adresse du dessus de la pile. -CR EQU 0Dh ; Code ASCII pour un retour de chariot. -LF EQU 0Ah ; Code ASCII pour un changement de ligne - - -;******************************************************************************* -;* Définition des variables * -;******************************************************************************* - BSEG - ORG 20h -C_FLAG: DBIT 1 -Z_FLAG: DBIT 2 -N_FLAG: DBIT 3 ; Utilisé par la sous-routine MULT8_16 -SIGNE: DBIT 4 ; Utilisé pour l'interpolation. - - DSEG - ORG 30h -PERIODE2: DS 1 ; Période pour une rotation du vilebrequin, sur 24 bits. -PERIODE1: DS 1 -PERIODE0: DS 1 -POSITION_VILB: DS 1 ; Renseignement sur la position actuelle du vilebrequin (zones 0,1 ou 2). -VITESSE_RPM: DS 2 ; Vitesse de rotation du moteur en RPM. -INDEX_RPM: DS 1 ; Index de 8 bits pour l'adressage des colonnes de la table d'allumage. -INDEX_MAP: DS 1 ; Index de 8 bits pour l'adressage des lignes de la table d'allumage. -ANGLE: DS 1 ; Angle d'allumage calculé à partir de la table. -BAT: DS 2 ; Voltage de la batterie. -MAT: DS 2 ; Manifold Air Temperature. -CLT: DS 2 ; Coolant Temperature. -TPS: DS 2 ; Throttle Position Sensor. -MAP: DS 2 ; Manifold Absolute Pressure. -EGO: DS 2 ; Exhaust Gas-Oxygen Sensor. -CAN6: DS 2 ; Canal #6 du convertisseur AN. -CAN7: DS 2 ; Canal #7 du convertisseur AN. -GAMMA: DS 2 ; Rapport Air/Carburant. -LSB_CAN: DS 1 ; Octet de poids faible de la conversion Analogique-Numérique. -MSB_CAN: DS 1 ; Octet de poids fort de la conversion Analogique-Numérique. -NOMBRE4: DS 1 ; Stockage des codes ASCII pour les conversions. -NOMBRE3: DS 1 -NOMBRE2: DS 1 -NOMBRE1: DS 1 -NOMBRE0: DS 1 -C3: DS 1 ; Accumulateur C de 32 bits pour les calculs mathématiques. -C2: DS 1 -C1: DS 1 -C0: DS 1 -D3: DS 1 ; Accumulateur D de 32 bits pour les calculs mathématiques. -D2: DS 1 -D1: DS 1 -D0: DS 1 -TMP6: DS 1 ; Variables temporaires utilisées pour les calculs mathématiques. -TMP5: DS 1 ; FAIRE LE MÉNAGE VARIABLES NON UTILISEES!!! -TMP4: DS 1 -TMP3: DS 1 -TMP2: DS 1 -TMP1: DS 1 -TMP0: DS 1 -VAR0: DS 1 -VAR1: DS 1 -VAR2: DS 1 - - -;******************************************************************************* -;* Définition des régistres spécifiques au AT89S8252 * -;******************************************************************************* -SPCR DATA 0D5h ; SPCR - SPI Control Register -SPSR DATA 0AAh ; SPSR - SPI Status Register -SPIF EQU 10000000b ; Masque pour le drapeau SPI. -WCOL EQU 01000000b ; Masque pour le drapeau Write Collision. -SPDR DATA 086h ; SPDR - SPI Data Register - - -;******************************************************************************* -;* Vecteurs d'interruptions * -;******************************************************************************* - CSEG - - ORG 0000h ; Vecteur d'interruption du RESET. - JMP DEBUT - - ORG 0003h ; Vecteur pour l'interruption EXTERNE 0. - JMP VILEBREQUIN - - ORG 000Bh ; Vecteur pour l'interruption du TIMER 0. - JMP DEBUT - - ORG 0013h ; Vecteur pour l'interruption EXTERNE 1. - JMP DEBUT - - ORG 001Bh ; Vecteur pour l'interruption du TIMER 1. - JMP DEBUT - - ORG 0023h ; Vecteur pour l'interruption du Port série. - JMP DEBUT - - ORG 002Bh ; Vecteur pour l'interruption du TIMER 2. - JMP DEBUT - - -;******************************************************************************* -;* Début du programme principal * -;******************************************************************************* - ORG 0033h - -DEBUT: - MOV SP,#TOS ; Initialisation de la pile. - CALL INITIALISATION - ; il ne faut pas modifier la valeur de P1.0!!! - -ICI: - NOP - NOP - NOP - NOP - - JMP ICI - - -;******************************************************************************* -;* Délai * -;******************************************************************************* -DELAI: MOV TMP0,#016h ; Délai de 1/2 seconde. -B3: MOV A,#0 -B2: MOV B,#0 -B1: DJNZ B,B1 - DJNZ ACC,B2 - DJNZ TMP0,B3 - RET - - - -;******************************************************************************* -;* INTERRUPTION * -;******************************************************************************* -VILEBREQUIN: - RETI - - -;******************************************************************************* -;* Initialisation * -;******************************************************************************* -INITIALISATION: MOV SPCR,#01000100b ; Interruption SPI désactivée; - ; Activation du port SPI; - ; Ordre des transferts : MSB en premier; - ; Opération en mode escalve (SLAVE); - ; Polarité de l'horloge : niveau bas si inactif. - ; Phase de l'horloge : transfert sur front montant. - MOV TH0,#2 - MOV TL0,#55h - SETB TCON.4 ; Timer 0 ON. - SETB TCON.6 ; Timer 1 ON. - MOV TMOD,#00010001B ; Initialisation des timers 0 et 1 en timers de - ; 16 bits, incrémentés par l'horloge interne - ; Chaque timer est incrémenté tant que le bit correspondant de - ; TCON est à 1 (TCON.4 et TCON.6). - RET - - - - END - - - - - diff --git a/test-files/timer.hex b/test-files/timer.hex deleted file mode 100644 index 3fadd1b..0000000 --- a/test-files/timer.hex +++ /dev/null @@ -1,10 +0,0 @@ -:0600000002003302005172 -:03000B00020033BD -:03001300020033B5 -:03001B00020033AD -:03002300020033A5 -:03002B000200339D -:100033007581601200520000000080FA756016742A -:100043000075F000D5F0FDD5E0F7D560F2223275EA -:10005300D544758C02758A55D28CD28E758911223E -:00000001FF diff --git a/tests/siae1.hex b/tests/siae1.hex new file mode 100644 index 0000000..7324c56 --- /dev/null +++ b/tests/siae1.hex @@ -0,0 +1,115 @@ +:0600000002003302003390 +:03000B00020033BD +:03001300020033B5 +:03001B00020033AD +:03002300020033A5 +:03002B000200339D +:100033007581801202D312024375540075550085F1 +:100043004356854457755BC61204C8120493740360 +:100053002557F543855A56855B57755B0A1204C8C5 +:10006300120493E5574430F55E75F000E543120240 +:10007300DC85514F85525085535175522E855E5301 +:1000830074501203067404120306E54F120306E5C7 +:1000930050120306E551120306E552120306E55317 +:1000A300120306745A12030675300075315D7532FA +:1000B300C01204E78534F0E5351202DC74501203F4 +:1000C300067401120306E54F120306E550120306F8 +:1000D300E551120306E552120306E55312030674B3 +:1000E3005A12030675F000E5361202DC745012034F +:1000F300067405120306E551120306E552120306C0 +:10010300E553120306745A12030675F000E537121D +:1001130002DC74501203067406120306E55112033F +:1001230006E552120306E553120306745A12030638 +:10013300E53875F00584C5F0C3334430F55FC5F089 +:1001430075F0001202DC85525085535175522E858D +:100153005F5374501203067408120306E55012032A +:1001630006E551120306E552120306E55312030690 +:10017300745A12030675540075550085415685421D +:1001830057755B641204C87554001204938556F0C6 +:10019300E5571202DC74501203067402120306E5DB +:1001A30051120306E552120306E553120306745A6D +:1001B300120306755400755500853B56853C5775EB +:1001C3005B0F1204C812049385575C855A56855BEE +:1001D30057755B641204C81204938556F0E55712F1 +:1001E30002DC85525D85535E75F000E55C1202DC2E +:1001F30085524F85535075512E855D52855E5374DC +:10020300501203067407120306E54F120306E55066 +:10021300120306E551120306E552120306E55312D3 +:100223000306745A12030674201203060139756219 +:1002330016740075F000D5F0FDD5E0F7D562F22213 +:10024300783B7900E9120255A64E08A64D0809B974 +:1002530008F2D2B3C2B1C2B300D2B3C2B6C2B300C2 +:10026300D2B3F580C2B300D2B3D2B6C2B300D2B315 +:10027300D2B1C2B31202CA7580FFD2B3C2B1C2B344 +:1002830000D2B3C2B7C2B30085804DD2B3D2B7C2D6 +:10029300B300D2B3D2B1C2B300D2B3D2B2C2B300AD +:1002A300D2B3C2B1C2B300D2B3C2B7C2B300858066 +:1002B3004E00D2B3D2B7C2B300D2B3D2B1C2B300ED +:1002C300D2B3C2B2C2B322D2B300C2B330B0F822A7 +:1002D30075D54475B0F3513122C00078537554007D +:1002E30075550085F056F557755800755900755AC0 +:1002F30000755B0A120314E55B4430F618B84EE848 +:10030300D00022F586B290E5AA53E08060F9E58635 +:1003130022C004C003C002C001C0007504207503DD +:100323000075020075010075000012038F1203A50A +:100333004022C3E5039558403A7019C3E502955925 +:1003430040317010C3E501955A40287007C3E5009A +:10035300955B401FC3E500955BF500E501955AF5F4 +:1003630001E5029559F502E5039558F503E557D2E2 +:10037300E0F557DCB585035885025985015A850098 +:100383005BD000D001D002D003D00422C3E55733A1 +:10039300F557E55633F556E55533F555E55433F53D +:1003A3005422E50033F500E50133F501E50233F5A9 +:1003B30002E50333F50322C002C001C00075021B2E +:1003C30075010075000012040312041D4010C3E5FB +:1003D30001955A401C7007C3E500955B4013C3E5C4 +:1003E30000955BF500E501955AF501E557D2E0F577 +:1003F30057DAD385015A85005BD000D001D00222A1 +:10040300C3E55733F557E55633F556E55533F555FB +:10041300E5543392E35407F55422E50033F500E540 +:100423000133F50122C002C001C000750216750137 +:10043300007500001204711204844010C3E5019595 +:100443005A401C7007C3E500955B4013C3E5009554 +:100453005BF500E501955AF501E557D2E0F557DA6A +:10046300D385015A85005BD000D001D00222C3E5B9 +:100473005733F557E55633F556E55533F55592E6BB +:1004830022E50033F500E5013392E6543FF50122FE +:1004930085575B85565A535A0F1204B81204B81283 +:1004A30004B81204B853540F8556578555568554CE +:1004B3005575540022E55413F554E55513F555E5E8 +:1004C3005613F55622E556855BF0A4F55685F0558F +:1004D300E557855BF0A4F557C5F02556F556E43589 +:1004E30055F555221205751205981205B5E53654D2 +:1004F300F0C4C5F0E53754F025F0F5F01205DAF84D +:10050300E5F0240130D605E8F90205131205DAF9FE +:10051300E5F024105007E8FAE9FB020536F5F0127E +:1005230005DAFAE5F0240130D605EAFB02053612B6 +:1005330005DAFB88F0E9AC36120553F88AF0EBAC28 +:1005430036120553FA88F0EAAC37120553F5382210 +:10055300C0F0C223C395F05005F42401D223F5F073 +:10056300EC540FA454F0C4302303F42401D0F02539 +:10057300F02275540775552775560E755700E530EB +:10058300B4000B85315A85325B71BA0205918556E9 +:100593003485573522C3E5359490F556E5349401F7 +:1005A300F555755700C3755A25755B809128855796 +:1005B3003622755400755500C3E54394285001E471 +:1005C300F556755700755800755900755A00755BD7 +:1005D300A071148557372224E8F58274053400F599 +:1005E3008374009322111123465F5F666666666615 +:1005F3006666585858111123465F5F6666666666DD +:100603006666585858111123465F5F6666666666CC +:100613006666585858111123465F5F6666666666BC +:100623006666585858111123465F5F6666666666AC +:100633006666585858111123465F5F66666666669C +:100643006666585858111123465F5F66666666668C +:100653006666585858111123465B5B626262626298 +:1006630062625454541111234651515858585858E2 +:100673005858585858111123464A4A51515151510B +:10068300515151515111111C3846464A4A4A4A4A5E +:100693004A4A4A4A4A11111C343F3F4343434343A6 +:1006A300434343434311111C3438383C3C3C3C3CEA +:1006B3003C3C3C3C3C11111C2A2D2D313131313154 +:1006C300313131313111111C3438383C3C3C3C3C24 +:1006D3003C3C3C3C3C11111C2A2D2D313131313134 +:0506E30031313131311D +:00000001FF diff --git a/tests/test-cjne.hex b/tests/test-cjne.hex new file mode 100644 index 0000000..5778693 --- /dev/null +++ b/tests/test-cjne.hex @@ -0,0 +1,2 @@ +:030000007457141E +:03000300B455FCF5 diff --git a/tests/test.hex b/tests/test.hex new file mode 100644 index 0000000..7a42308 --- /dev/null +++ b/tests/test.hex @@ -0,0 +1,13 @@ +:03000000020033C8 +:1000330075818075D54475A000C290E4F500E50094 +:1000430012007DF586D29005A07400D5E0FDC29024 +:10005300E5AA53E08060F9E5861200690500C3E56F +:1000630000945040D92222752005740075F000D504 +:10007300F0FDD5E0F7D520F20022248BF582740041 +:100083003400F5837400932252504D3A31303234A8 +:1000930035204D41503A313033204D41543A3131BE +:1000A30030204241543A31322E3420202020202067 +:1000B3000D0A0A45474F3A31342E36202054505307 +:1000C3003A31303020414E473A33302020434C54AC +:0B00D3003A313038202020202020206F +:00000001FF diff --git a/tests/timer.asm b/tests/timer.asm new file mode 100644 index 0000000..aac4885 --- /dev/null +++ b/tests/timer.asm @@ -0,0 +1,179 @@ +;******************************************************************************* +;* Système d'Injection et d'Allumage Électronique * +;* Version : 01 * +;* Auteur : Hugo Villeneuve * +;* * +;* 10 mars 1999 * +;******************************************************************************* + + $MOD52 ; Micro-contrôleur Atmel AT89S8252 + + +;******************************************************************************* +;* Définition des constantes * +;******************************************************************************* + +TOS EQU 60h ; Adresse du dessus de la pile. +CR EQU 0Dh ; Code ASCII pour un retour de chariot. +LF EQU 0Ah ; Code ASCII pour un changement de ligne + + +;******************************************************************************* +;* Définition des variables * +;******************************************************************************* + BSEG + ORG 20h +C_FLAG: DBIT 1 +Z_FLAG: DBIT 2 +N_FLAG: DBIT 3 ; Utilisé par la sous-routine MULT8_16 +SIGNE: DBIT 4 ; Utilisé pour l'interpolation. + + DSEG + ORG 30h +PERIODE2: DS 1 ; Période pour une rotation du vilebrequin, sur 24 bits. +PERIODE1: DS 1 +PERIODE0: DS 1 +POSITION_VILB: DS 1 ; Renseignement sur la position actuelle du vilebrequin (zones 0,1 ou 2). +VITESSE_RPM: DS 2 ; Vitesse de rotation du moteur en RPM. +INDEX_RPM: DS 1 ; Index de 8 bits pour l'adressage des colonnes de la table d'allumage. +INDEX_MAP: DS 1 ; Index de 8 bits pour l'adressage des lignes de la table d'allumage. +ANGLE: DS 1 ; Angle d'allumage calculé à partir de la table. +BAT: DS 2 ; Voltage de la batterie. +MAT: DS 2 ; Manifold Air Temperature. +CLT: DS 2 ; Coolant Temperature. +TPS: DS 2 ; Throttle Position Sensor. +MAP: DS 2 ; Manifold Absolute Pressure. +EGO: DS 2 ; Exhaust Gas-Oxygen Sensor. +CAN6: DS 2 ; Canal #6 du convertisseur AN. +CAN7: DS 2 ; Canal #7 du convertisseur AN. +GAMMA: DS 2 ; Rapport Air/Carburant. +LSB_CAN: DS 1 ; Octet de poids faible de la conversion Analogique-Numérique. +MSB_CAN: DS 1 ; Octet de poids fort de la conversion Analogique-Numérique. +NOMBRE4: DS 1 ; Stockage des codes ASCII pour les conversions. +NOMBRE3: DS 1 +NOMBRE2: DS 1 +NOMBRE1: DS 1 +NOMBRE0: DS 1 +C3: DS 1 ; Accumulateur C de 32 bits pour les calculs mathématiques. +C2: DS 1 +C1: DS 1 +C0: DS 1 +D3: DS 1 ; Accumulateur D de 32 bits pour les calculs mathématiques. +D2: DS 1 +D1: DS 1 +D0: DS 1 +TMP6: DS 1 ; Variables temporaires utilisées pour les calculs mathématiques. +TMP5: DS 1 ; FAIRE LE MÉNAGE VARIABLES NON UTILISEES!!! +TMP4: DS 1 +TMP3: DS 1 +TMP2: DS 1 +TMP1: DS 1 +TMP0: DS 1 +VAR0: DS 1 +VAR1: DS 1 +VAR2: DS 1 + + +;******************************************************************************* +;* Définition des régistres spécifiques au AT89S8252 * +;******************************************************************************* +SPCR DATA 0D5h ; SPCR - SPI Control Register +SPSR DATA 0AAh ; SPSR - SPI Status Register +SPIF EQU 10000000b ; Masque pour le drapeau SPI. +WCOL EQU 01000000b ; Masque pour le drapeau Write Collision. +SPDR DATA 086h ; SPDR - SPI Data Register + + +;******************************************************************************* +;* Vecteurs d'interruptions * +;******************************************************************************* + CSEG + + ORG 0000h ; Vecteur d'interruption du RESET. + JMP DEBUT + + ORG 0003h ; Vecteur pour l'interruption EXTERNE 0. + JMP VILEBREQUIN + + ORG 000Bh ; Vecteur pour l'interruption du TIMER 0. + JMP DEBUT + + ORG 0013h ; Vecteur pour l'interruption EXTERNE 1. + JMP DEBUT + + ORG 001Bh ; Vecteur pour l'interruption du TIMER 1. + JMP DEBUT + + ORG 0023h ; Vecteur pour l'interruption du Port série. + JMP DEBUT + + ORG 002Bh ; Vecteur pour l'interruption du TIMER 2. + JMP DEBUT + + +;******************************************************************************* +;* Début du programme principal * +;******************************************************************************* + ORG 0033h + +DEBUT: + MOV SP,#TOS ; Initialisation de la pile. + CALL INITIALISATION + ; il ne faut pas modifier la valeur de P1.0!!! + +ICI: + NOP + NOP + NOP + NOP + + JMP ICI + + +;******************************************************************************* +;* Délai * +;******************************************************************************* +DELAI: MOV TMP0,#016h ; Délai de 1/2 seconde. +B3: MOV A,#0 +B2: MOV B,#0 +B1: DJNZ B,B1 + DJNZ ACC,B2 + DJNZ TMP0,B3 + RET + + + +;******************************************************************************* +;* INTERRUPTION * +;******************************************************************************* +VILEBREQUIN: + RETI + + +;******************************************************************************* +;* Initialisation * +;******************************************************************************* +INITIALISATION: MOV SPCR,#01000100b ; Interruption SPI désactivée; + ; Activation du port SPI; + ; Ordre des transferts : MSB en premier; + ; Opération en mode escalve (SLAVE); + ; Polarité de l'horloge : niveau bas si inactif. + ; Phase de l'horloge : transfert sur front montant. + MOV TH0,#2 + MOV TL0,#55h + SETB TCON.4 ; Timer 0 ON. + SETB TCON.6 ; Timer 1 ON. + MOV TMOD,#00010001B ; Initialisation des timers 0 et 1 en timers de + ; 16 bits, incrémentés par l'horloge interne + ; Chaque timer est incrémenté tant que le bit correspondant de + ; TCON est à 1 (TCON.4 et TCON.6). + RET + + + + END + + + + + diff --git a/tests/timer.hex b/tests/timer.hex new file mode 100644 index 0000000..3fadd1b --- /dev/null +++ b/tests/timer.hex @@ -0,0 +1,10 @@ +:0600000002003302005172 +:03000B00020033BD +:03001300020033B5 +:03001B00020033AD +:03002300020033A5 +:03002B000200339D +:100033007581601200520000000080FA756016742A +:100043000075F000D5F0FDD5E0F7D560F2223275EA +:10005300D544758C02758A55D28CD28E758911223E +:00000001FF