导航:首页 > 操作系统 > 单片机ascii码

单片机ascii码

发布时间:2022-09-15 14:16:50

⑴ 51单片机串口通信如何把SBUF收到的ASCII码转换为字符

接收时加个转码处理。假设你上位机发送的是文本格式的十六进制数据,那么下位机处理需要:

⑵ 初学单片机 请问一下ascii码0123456789是什么

我们常用的字母数字标点符号在单片机中都是以二进制数形式存储的,每个符号对应一个不大于127的数,这就是ASCI码,如0的ASCI码是48即十六制0x30,1是0x31

⑶ 请问怎么用51单片机编程将2进制数转化为ASCII码,并且在1602上显示出来

如果是ascii码表内的符号值,那么ascii值本身就可以认为是
16进制的(因为进制只是给人看的,单片机只有2进制,没有ascii

hex
之分),但如果是hex值,经过ascii发送后,需要接收解出数值,那么可以用这个函数:
uchar
ascii_tohex(uchar
ascii_data)
//ascii

hex
函数
{
uchar
hex_data=0;
//定义
hex变量存储转换结果
if(ascii_data>='0'
&&
ascii_data<='9')
hex_data=ascii_data-'0';
//若
转换内容为
字符'0-9',则转成对应数字0-9
else
if(ascii_data>='a'
&&
ascii_data<='f')
hex_data=ascii_data-'a'+10;
//若
转换内容为
字符'a-f',则转成数字10-15
else
if(ascii_data>='a'
&&
ascii_data<='f')
hex_data=ascii_data-'a'+10;
//若
转换内容为
字符'a-f',则转成数字10-15
return
hex_data;
//返回转换结果,非以上字符,不在hex(0-f)范围内,默认0
}//

⑷ 单片机的ASCII码的奇偶校验位该如何设置

“8”的ASCLL码为:70
(十进制)=
0011
1000
(二进制)
“B”的ASCLL码为:102(十进制)=
0100
0010(二进制)
书上说了低7位表示本身编码,第8位做奇偶校验
奇偶校验规则:编码中1的个数为奇数则为奇校验,为偶数则为偶校验
所以“8”的奇校验ASCLL码为**0**0111000B(添0,使得1的个数为奇数),偶校验ASCLL码为**1**0111000B(添1,使得1的个数为偶数)
同理“B”也类似

⑸ 单片机BCD码如何转换为ASCII码

单片机BCD可利用查表进行转换为ASCⅡ码,这是最简单的,程序流程如下图:

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

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

不知你要的是C语言的还是汇编的,都给你吧

C语言的:
#include <REG51.H>

typedef unsigned char uchar;

#define NUMBER 10

uchar BufferIn[NUMBER]={0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef,0x1a,0x1b};//16进制数存放区
uchar BufferOut[2*NUMBER]; //ASCII码存放区

////////////////////////////////////////////////////////////////
//功能: 将多字节16进制数转换为ASCII字符
//入口: x:待转换16进制数,x>=0且x<=F
//出口: 返回转换完成后的ASCII码字符数据,返回0为失败
////////////////////////////////////////////////////////////////
uchar GetASCII(uchar x)
{
if(x>0x0f)
{
return 0;
}

if(x>9)
{
return ('A'+x-10);
}
return ('0'+x);
}

////////////////////////////////////////////////////////////////
//主程序
////////////////////////////////////////////////////////////////
void main()
{
uchar i;

for(i=0;i<NUMBER;i++)
{
BufferOut[i*2] = GetASCII(BufferIn[i]/0x10);
BufferOut[i*2+1] = GetASCII(BufferIn[i]%0x10);
}
while(1);
}

汇编的:
;说明: LOOP1循环为预设10个16进制数内容的初始化程序,作为示例
ORG 0000H
LJMP START
ORG 0100H
START: MOV R2, #10 ;预置10个16进制数
MOV R0, #20H ;16进制数存放起始地址
MOV A, #12H
LOOP1: MOV @R0, A
ADD A, #13H
INC R0
DJNZ R2,LOOP1 ;循环10次送10个数
;以上至START为初始化内存,预送10个字节的数据

MOV R0, #20H ;16进制数存放起始地址
MOV R1, #30H ;ASCII数存放起始地址
MOV R2, #10 ;转换10个字节
LCALL HEXTOASC ;调用转换子程序
JMP $

;=======================================================
;HEXTOASC:将多字节16进制数转换为ASCII字符子程序
;入口: (R0)=16进制数存放起始地址指针
; (R2)=字节数
;出口: (R1)=转换完成后的ASC字符存放起始地址指针
;算法说明:0~9:(ASCII码为30H~39H)+90H后调整后无变化,结果
; 为9xH,再加40H为0DxH,调整操作+60H后正好为3xH;
; A~F:(ASCII为41H~46H),+90H后为9xH,调整操作+06H后
; 为01H~06H,再加40H调整后不变,正好为41H~46H;
;=======================================================
HEXTOASC:
MOV A, @R0
SWAP A
ANL A, #0FH ;处理高4位
ADD A, #90H
DA A
ADDC A, #40H
DA A
MOV @R1, A ;保存高4位
INC R1
MOV A, @R0
ANL A, #0FH ;处理低4位
ADD A, #90H
DA A
ADDC A, #40H
DA A
MOV @R1, A ;保存低4位
INC R1 ;下一个16进制数
INC R0
DJNZ R2, HEXTOASC
RET

END

⑺ 单片机中十六进制数转换为ASCII码,那么两者之间有什么联系

如果是ascii码表内的符号值,那么ascii值本身就可以认为是
16进制的(因为进制只是给人看的,单片机只有2进制,没有ascii

hex
之分),但如果是hex值,经过ascii发送后,需要接收解出数值,那么可以用这个函数:
uchar
ascii_tohex(uchar
ascii_data)
//ascii

hex
函数
{
uchar
hex_data=0;
//定义
hex变量存储转换结果
if(ascii_data>='0'
&&
ascii_data<='9')
hex_data=ascii_data-'0';
//若
转换内容为
字符'0-9',则转成对应数字0-9
else
if(ascii_data>='a'
&&
ascii_data<='f')
hex_data=ascii_data-'a'+10;
//若
转换内容为
字符'a-f',则转成数字10-15
else
if(ascii_data>='a'
&&
ascii_data<='f')
hex_data=ascii_data-'a'+10;
//若
转换内容为
字符'a-f',则转成数字10-15
return
hex_data;
//返回转换结果,非以上字符,不在hex(0-f)范围内,默认0
}//

阅读全文

与单片机ascii码相关的资料

热点内容
照片生成pdf格式 浏览:194
病历转pdf 浏览:835
云服务器配硬件 浏览:978
服务器10k什么意思 浏览:21
pdfeditor汉化 浏览:884
新科学pdf 浏览:746
现在还有c语言编译吗 浏览:674
哪里买到单片机 浏览:480
linux文件打开数量 浏览:510
编译原理中什么是l属性文法 浏览:371
硬盘加密时出现的问题 浏览:61
如何退域命令 浏览:108
看书的app哪里看 浏览:291
服务器怎么调大 浏览:3
android天气apijson 浏览:984
为什么创建id会出现服务器错误 浏览:837
代码中有不必编译的单词吗 浏览:563
钩子与数据库编程 浏览:563
安卓光遇录歌怎么设置 浏览:485
虚拟机怎么和云服务器搭建集群 浏览:896