Programme pour convertir le code ASCII en hexadécimal

S

sangmeshwar

Guest
S'il vous plaît donner le détail du programme du microcontrôleur 8051 pour convertir le code ASCII en HEX.

Merci

Sangmeshwar

 
Voici le code (A est entrée et sortie):

Code:

; ==============================================

; ASCII_Hex conversion de routine ...ASC_Hex: CJNE A, # '0 ', CH_1; d'essai pour les nombres ASCII ..

CH_1: JC Ch_Bad; de caractères est inférieur à un .. '0 '

CJNE A, # '9 ' 1, Ch_2; Test plage de valeur ..

Ch_2: JC Ch_Val_109; de caractères est comprise entre 0 et 9 ..CJNE A, # 'A', CH_3; Test de la lettre majuscule hex ..

CH_3: JC Ch_Bad; de caractères est inférieur à '.. A'

CJNE A, # 'F' 1, ch_4; Test plage de valeur ..

Ch_4: JC Ch_Val_AF; de caractères est entre A et F..Ch_Bad: SETB ErrFlag5; caractère n'est pas un numéro hexadécimal ..

LJMP ASC_Hex_ExitCh_Val_AF: CLR C

SUBB A, # 07h

Ch_Val_109: CLR C

SUBB A, # '0 '

CLR ErrFlag5ASC_Hex_Exit: RET; ================================================= ==
 
ASCII en hexadécimal simple --

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />Soustraire hex 30 - vérifier si le résultat> 9, s'il est soustrait puis encore 7 - thats al qui est requis

 
Pardonnez-moi, je me sentais paresseux et nécessaires à cette fonction de moi-même, a estimé que ces postes.À la fin, j'ai décidé d'écrire moi-même que ascii - 0x30 ne donne you 0 à 9 mais pourquoi - 7?

Ce simple "de" routine est également l'affaire si freindly 9E ou 9e permettra à la fois travailler, mais il n'ya pas de vérification d'erreur.

Code:; ************************************************* **

; * ASCII en hexadécimal *

; * Prend un caractère ASCII et le convertit en hexadécimal *

; ************************************************* **

;

ASCIItoHEX:

ACC.5 setb; bande de cas, la baisse des cas ascii

Subb a, # 0x57; valeur a - f n'exercera pas

jnc ASCIIDone, si procède pas alors nous avons converti le grignoter

Ajouter a, # 0x27; reconvertir 0 à 9

ASCIIDone:

ret
 
The - 7 est nécessaire seulement si les données contiennent des lettres de l'alphabet.Si vous examinez une table ASCII, vous verrez que entre le nombre et la lettre sont de 7 symboles qui doivent être ignorés.En supposant qu'il s'agit de données hexagone où elle contiendra un F - et vous aurez donc besoin de - 7

 

Welcome to EDABoard.com

Sponsor

Back
Top