51单片机一个字节中如何将2字节16位数转换为BCD码,汇编程序最好

51单片机led4位数码管动态显示“0123”的程序,急急,,,能帮忙的就快点,谢谢啦_百度知道
51单片机led4位数码管动态显示“0123”的程序,急急,,,能帮忙的就快点,谢谢啦
我有更好的答案
#include&reg51.h&#define uchar unsigned char#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//0-fuchar disbuf[4] = {0};void display(){static uchar com = 0;P2 = 0;P0 = table[disbuf[com]];P2 = (1 && com);com = (com+ 1) % 4;}void delay(int n){...}void main(){
disbuf[0] = 0;
disbuf[1] = 1;
disbuf[2] = 2;
disbuf[3] = 3;
display();
delay(100);
采纳率:34%
补充:void delay(int n){...}改为:void delay(int n){
uint tmp=n;
while(tmp--);}
#include&reg52.h&#define uchar unsigned char#define uint unsigned int //sbit dula=P2^6;sbit wela1=P2^0;//位选sbit wela2=P2^1;sbit wela3=P2^2;sbit wela4=P2^3;void delay(uint);uint a,b;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//字符void main(){ while(1) {P0=0
wela4=1;//显示千位数
delay(1000);
P0=0//数字
wela4=1;//显示百位数
delay(1000);
P0=0//数字
wela4=1;//显示十位数
delay(1000);
P0=0//数字
wela4=0;//显示个位数
delay(1000);
}}void delay(uint x){ for(a=x;a&0;a--)
for(b=110;b&0;b--);}
是9999秒的秒表设计
这个好像不对吧?
电路错了,什么程序也不能正常显示。三极管的,集电极、发射极,交换一下即可。
1条折叠回答
为您推荐:
其他类似问题
您可能关注的内容
51单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。16位二进制数转成BCD码--51单片机
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!51单片机新手入门求助 将一个8位整数,个位数取出,转化为BCD码,,_百度知道
51单片机新手入门求助 将一个8位整数,个位数取出,转化为BCD码,,
我有更好的答案
这个运算是通过移位的方式,将一个十六进制的数据做十进制调整,这条指令DJNZ R7,LOOP执行完之后,BCD码的百位在50H,十位和个位在51H。 MOV A,#0FDH,0FDH是待转换的十六进制数据。最终通过这一段指令INC R1MOV A,#00HXCHD A,@R1MOV 52H,AMOV A,@R1SWAP AMOV @R1,A之后,50H,51H,52H就依次存放的是百十个位了
采纳率:58%
除以10,得到的余数(除不尽)就是个位,也就是BCD码
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。你的位置:
51单片机中如何将2字节16位数转换为BCD码,汇编程序最好
51单片机,ASCII码要如何转位BCD码?——
如果是数字的话,那么可以这样来转换:ASC2BCD: CLR C SUBB A,#30H RET关于单片机编写程序 将A中的二进制数变换成3为BCD码 并将百,十,个位数分别防御内部RAM的50H...——
这个运算是通过移位的方式,将一个十六进制的数据做十进制调整,这条指令DJNZ R7,LOOP执行完之...51单片机中将压缩bcd码转换成10进制和转换成16进制的程序有什么区别?——
10进制和16进制是两种不同的计数制,10进制满10进位,16进制满16进位。51单片机汇编bcd减法实验——
你这个程序没问题的话,直接加点程序就OK了。修改如下: BCDSUBB: MOV R2,#4 MOV...单片机msc-51中编程实现两个一字节压缩型BCD码的减法——
ORG 8000H DSUB:MOV R0,#SS ;置被减数指针 MOV R1,#SD ;置减数指...51单片机将存储在内部地址单元20H-23H的四字节二进制编码转换为五字节的BCD编码存在30H-3...——
tieba.baidu/p/ 参考。51单片机非压缩BCD码多位数乘法的汇编程序求助——
对于多字节乘除法用汇编语言计算是很不方便的,特别是还要用bcd码计算,这里给你一个思路,先将A,B都...51单片机多字节BCD码除法子程序的单独单片机到底能不能焊? 谁会谁有?可以继续私聊下——
单片机可以焊接,不过要先确定所有的都不会再变动,否则将来要拆就麻烦了.用89c51单片机编写一段程序 ,将累加器A的数据(十六进制)转换为BCD码——
MOV B,#100 DIV AB MOV 32H,A MOV A,B MOV B,#10 DIV ...ad574的数据转换51汇编程序——
12位数按照你的格式,最低字节为0,我先将其除以16,转换成ABC后完成的运算。关于HEX转BCD,...
(17) 标号: HB2功能:双字节十六进制整数转换成双字节BCD码整数入口条件:待转换的双字节十六进制整数在R6、R7中。出口信息:转换后的三字节BCD码整数在R3、R4、R5中。影响资源:PSW、A、R2~R7 堆栈需求: 2字节HB2: CLR A ;BCD码初始化MOV R3,AMOV R4,AMOV R5,AMOV R2,#10H ;转换双字节十六进制整数HB3: MOV A,R7 ;从高端移出待转换数的一位到CY中RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R5 ;BCD码带进位自身相加,相当于乘2ADDC A,R5DA A ;十进制调整MOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3MOV R3,A ;双字节十六进制数的万位数不超过6,不用调整DJNZ R2,HB3 ;处理完16bitRET单片机BCD码转化为二进制的程序怎么写??_百度知道
单片机BCD码转化为二进制的程序怎么写??
我有更好的答案
BCD码就是二进制,还要怎么转。
楼上明显是不懂装懂,BCD码是二进制表示十进制
为您推荐:
其他类似问题
bcd码的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 单片机一个字节 的文章

 

随机推荐