16位二进制数转成BCD码--51单片机 您所在的位置:网站首页 二进制数转bcd 16位二进制数转成BCD码--51单片机

16位二进制数转成BCD码--51单片机

2024-01-20 09:40| 来源: 网络整理| 查看: 265

要求:编写一段程序,把计数器中T0中计的数(TH0和TL0)转成8421BCD码。并且高8位给P1口,低8位给P0口,要是转成BCD码超过16位,则给P2.0高电平。我是做单片机课设的,这段程序实在编不明白了,向各位大侠请教了!无比感谢中!答对有额外加分啊!!!! 悬赏分:200 - 解决时间:2010-1-3 13:03 最佳答案:――――――――――――――――――――――――――程序如下:     MOV  R0, TL0     MOV  R1, TH0     CLR  A     MOV  R2, A            ;先清零     MOV  R3, A     MOV  R4, A     MOV  R5, #16          ;共转换16位数LOOP:     CLR  C     MOV  A,  R0           ;从待转换数的高端移出一位到Cy     RLC  A     MOV  R0, A     MOV  A,  R1     RLC  A     MOV  R1, A

     MOV  A,  R4           ;送到BCD码的低端     ADDC A,  R4           ;带进位加。自身相加,相当于左移一位     DA   A                ;十进制调整,变成BCD码     MOV  R4, A     MOV  A,  R3     ADDC A,  R3     DA   A     MOV  R3, A     MOV  A,  R2     ADDC A,  R2     MOV  R2, A     DJNZ R5, LOOP         ;循环16遍, 转换即完成;     MOV  P0, R4           ;按照要求输出     MOV  P1, R3     CLR  P2.0     MOV  A,  R2     JZ   P20_L     SETB P2.0P20_L:     RET;完 ――――――――――――――――――――――――――回答者: 做而论道 - 十一级   2009-12-14 08:52 提问者对于答案的评价:谢谢啊原题网址:http://zhidao.baidu.com/question/129295511.html?fr=im2.更多的位数,也可以仿照本方法处理。下面这个链接,其中有一段程序,是做而论道用80x86汇编语言编写的,可将48位二进制数,转换成为32位十进制数,该程序也经过了实践的检验。http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/ba5d41b6733c0dff30add1ef.html

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有