一个字节的BCD码就是用一个字节的二进制数表示两位十进制数。
如十进制数96表示成压缩BCD码就是96H,转换成ASCII码就是压缩BCD码表示的十进制数的高位和低位分开,以ASCII码表示,即转换成39H和36H。
汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替 *** 作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。中国著名计算机科学教育家王爽写过一本名叫《汇编语言》的书。
voidWhAsciiToBcd(unsignedchar*psDataIn,size_tuiDataInLen,unsignedchar*psDataOut)
{
unsignedcharucTemp=0
for(size_ti=0i<uiDataInLeni+=2){
ucTemp=psDataIn[i]
if(ucTemp>'9'){
ucTemp=(unsignedchar)toupper((unsignedchar)ucTemp)-'A'+0x0A
}else{
ucTemp&=0x0F
}
psDataOut[i/2]=ucTemp<<4
ucTemp=psDataIn[i+1]
if(ucTemp>'9'){
ucTemp=(unsignedchar)toupper((unsignedchar)ucTemp)-'A'+0x0A
}else{
ucTemp&=0x0F
}
psDataOut[i/2]|=ucTemp
}
}
扩展资料
ASCII转BCD
voidWhBcdToAscii(unsignedchar*psDataIn,size_tuiDataInLen,unsignedchar*psDataOut)
{
unsignedcharsAscii[]="0123456789ABCDEF"
for(size_ti=0i<uiDataInLeni++){
psDataOut[2*i]=sAscii[(psDataIn[i]>>4)]
psDataOut[2*i+1]=sAscii[(psDataIn[i]&0x0F)]
}
}
单片机BCD可利用查表进行转换为ASCⅡ码,这是最简单的,程序流程如下图:
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)