No trabajo en Proton pero esto es común a los lenguajes:
Es más simple que todo eso:
Declaramos la variable “carácter” como entera sin signo.
Hacemos carácter = “H”, pues ya está, la variable carácter ya contiene el número del código ASCII, esto quiere decir que no se trabaja con el grafico “H” (esto ocuparía mucha memoria), a la hora de compilar el compilador sustituye el grafico “H” por su equivalente a código ASCII. Si en el entorno que trabajas te permite ver los valores de los registros observaras que la variable “carácter” tiene el código ASCII de “H”, en el caso que no te lo permita, pues imprimes la variable ya sea en un lcd, hyperterminal, etc. Y para enviar una variable a algún periférico que permita representación grafica normalmente se puede realizar de dos formas:
1 Se le indica al comando de salida que la variable se visualice en forma de grafico, por lo que se mostrara el grafico asociado al código ASCII.
2 Se le indica que queremos ver el número que contiene la variable, que en este caso corresponde con el código ASCII.
De todas maneras tiene que quedar bien claro que el programa siempre maneja el numero del código ASCII, nunca el grafico asociado. En la mayoria de los casos el periférico es el que se encarga de buscar el grafico asociado al código en su memoria, poque esto ahorra memoria de programa del microcontrolador.