怎么用单片机编写一段程序将若干十六进制数转换为ASCII码?

大神们哪位知道,怎么用单片机编写一段程序将若干十六进制数转换为ASCII码?
最新回答
骑猪赏月看嫦娥

2024-05-20 16:19:09

不知你要的是C语言的还是汇编的,都给你吧\x0d\x0a\x0d\x0aC语言的:\x0d\x0a#include \x0d\x0a\x0d\x0atypedef unsigned char uchar;\x0d\x0a\x0d\x0a#define NUMBER 10\x0d\x0a\x0d\x0aucharBufferIn[NUMBER]={0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef,0x1a,0x1b};//16进制数存放区\x0d\x0aucharBufferOut[2*NUMBER];//ASCII码存放区\x0d\x0a\x0d\x0a////////////////////////////////////////////////////////////////\x0d\x0a//功能:将多字节16进制数转换为ASCII字符\x0d\x0a//入口:x:待转换16进制数,x>=0且x<=F\x0d\x0a//出口:返回转换完成后的ASCII码字符数据,返回0为失败\x0d\x0a////////////////////////////////////////////////////////////////\x0d\x0aucharGetASCII(uchar x)\x0d\x0a{\x0d\x0aif(x>0x0f)\x0d\x0a{\x0d\x0areturn 0; \x0d\x0a}\x0d\x0a\x0d\x0aif(x>9)\x0d\x0a{\x0d\x0areturn ('A'+x-10);\x0d\x0a}\x0d\x0areturn ('0'+x); \x0d\x0a}\x0d\x0a\x0d\x0a////////////////////////////////////////////////////////////////\x0d\x0a//主程序\x0d\x0a////////////////////////////////////////////////////////////////\x0d\x0avoidmain()\x0d\x0a{\x0d\x0auchar i;\x0d\x0a \x0d\x0afor(i=0;i