16 进制数,共有 16 个数字,分别是:0~9、A~F。把数字变成 ASCII 码时,0~9,只要加上 30H,得到 30H~39H。A~F,却要加上 37H,得到 41H~46H。查 ASCII 码表,即可知道这个规律。反过来变,就是减去 30 或 37H。楼主的程序,是针对 'A'~'F',先减去7,再和 '0'~'9' 一起,统一减去 30H。
数字转换为ASCII码=数字+30H反过来就减去30H