2016 - 2024

感恩一路有你

ascii码与bcd码的转换表 单片机BCD码如何转换为ASCII码?

浏览量:2816 时间:2021-03-10 21:28:08 作者:admin

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

用查表法将十六进制数转换成ascⅡ代码:程序流程图:分析:也可以用计算法实现,但比较复杂。如果我们用查表法来解决这个问题,整个程序就会简单易懂。将0-F对应的ASCⅡ码从地址开始依次放入单元中,通过设置地址指针和索引指针来实现。程序和流程图如下:(R)ORG 0400h,rmov dptr,#0600h;设置地址指针,rmov a,R0;将转换值取为a,ranl a,#0Fh;屏蔽高位4位以获得地址更改地址,rmovc a,@a dptr;查表,rmov 20h,a;保存结果,rsjmp$ org 0600h,RDB 30h,31h,32H,33H,34h,RDB 35h,36h,37h,38h,39H;RDB 41h,42h,43h,44h,45h,46h

代码段假设CS:Code,DS:Code BCDuUnumber DB 45h,32H,56h,98H DW 6 dup(?)开始:push CS pop DS push CS pop es使数据段、附加段和代码段成为同一段CLD、Lea Si、BCD编号Lea di、BCD编号[8]mov CX、2 Rep movsw将这四个字节的压缩BCD代码保存到后续单元Lea Si,BCD 8字节之外的字节数u8]lea di,BCD unumber mov cx,4 BCD uascii:lodsb push cx mov cx,4 xor ah,ah shl ax,cl shr al,cl or ax,3030h xchg ah,al stosw pop cx loop BCD uascii Exit upro:mov ah,4CH end program int 21h code ends end start

将未压缩的BCD代码转换为ASCII代码,只要加30h20h单位转换成ASCII码并放入50hmov a,haddca 20hmov 50h,A21H单位转换成ASCII码并放入51hmov a,haddca 21hmov 51h,a就可以用10个周期来编码

ascii码与bcd码的转换表 ascii码对照表 压缩bcd码转为ascii码原理

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。