sdlythy 发表于 2005-1-10 20:02:48

怎样编写二进制/BCD码转换子程序?

想仿照51的二进制/BCD码转换子程序编写AVR的二进制/BCD码转换子程序,发现AVR指令中无十进制调整指令,不知应怎样编写?我想用在A/D转换和计数器的十进制显示上.

machao 发表于 2005-1-10 22:42:11

参考《AVR单片机使用程序设计》(北航出版社)一书3.3节。该书是目前国内出版的学习使用AVR汇编编程最好的书。

sdlythy 发表于 2005-1-10 23:46:48

谢谢马老师.

igoal 发表于 2005-10-11 09:32:51

uchar BcdToBin(uchar val)

{

val = (val >> 4) * 10 + (val & 0x0f);//将BCD码转换为10进制数

return val;                                                //返回10进制数

}



uchar BinToBcd(uchar val)

{

return((val/10)*16+val%10);

}

testcode 发表于 2005-10-11 10:55:26

BCDtoBIN:

点击此处下载armok0177028.rar

摘自:

http://www.avr-asm-tutorial.net/

AA55 发表于 2005-10-11 11:45:39

搂主要的是二进制/BCD码转换,大家给的却是相反的BCD码/二进制转换例程:D

wangkangming 发表于 2012-5-9 16:20:16

在C语言中直接乘除效率低下,怎么避免直接乘除呢?有没有好的程序

lf582127667 发表于 2012-5-9 17:05:01

没有用过AVr汇编,感觉AVr汇编很麻烦,是否可以考虑移位,移出一位后判断是1还是0然后再用加减做。

zjsdlt2013 发表于 2014-9-26 19:58:12

用DS12C887做数码管时钟,怎么把BCD码转为十进制数在数码管上显示出来?
页: [1]
查看完整版本: 怎样编写二进制/BCD码转换子程序?