51单片机实现281016进制转换.docx

上传人:b****6 文档编号:7077977 上传时间:2023-01-17 格式:DOCX 页数:29 大小:17.51KB
下载 相关 举报
51单片机实现281016进制转换.docx_第1页
第1页 / 共29页
51单片机实现281016进制转换.docx_第2页
第2页 / 共29页
51单片机实现281016进制转换.docx_第3页
第3页 / 共29页
51单片机实现281016进制转换.docx_第4页
第4页 / 共29页
51单片机实现281016进制转换.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

51单片机实现281016进制转换.docx

《51单片机实现281016进制转换.docx》由会员分享,可在线阅读,更多相关《51单片机实现281016进制转换.docx(29页珍藏版)》请在冰豆网上搜索。

51单片机实现281016进制转换.docx

51单片机实现281016进制转换

#include

sbitdula=P2^6;

sbitwela=P2^7;

sbitkey1=P3^4;

sbitkey2=P3^5;

sbitkey3=P3^6;

sbitkey4=P3^7;

#defineucharunsignedchar

#defineuintunsignedint

uinta,b,c,d,e,f,g,h,j,num,temp,num1,num2,num3,num4,num5,num6;

ucharSHZ[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

voiddkeyscan();

voidjia();

voidjian();

voidcheng();

voidchu();

voiddeng();

voidqingchu();

voiddelay(ucharz);

voiddisplay1();

voiddisplay2();

voiddisplay3();

voiddisplay4();

voiddisplay5();

voiddisplay6();

voiddisplay7();

voidjinzhi2();

voidjinzhi8();

voidjinzhi10();

voidjinzhi16();

voidjkeyscan();

voidchushi();

voidjiance();

voidmain()

{

chushi();

while

(1)

{

P3=0xff;

dkeyscan();

P3=0xff;

delay

(2);

//P3=0xff;

jkeyscan();

//P3=0xff;

if(num3==2)

jinzhi2();

if(num3==8)

jinzhi8();

if(num3==10)

jinzhi10();

if(num3==16)

jinzhi16();

jiance();

display7();

}

}

voiddelay(ucharz)

{

ucharx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voidchushi()

{

num3=10;

num1=10;

a=b=c=d=e=f=g=h=j=0;

}

voidjinzhi2()//二进制数

{

if(num1==16)

{

num2=a+b*16+c*16*16+d*16*16*16+e*16*16*16*16+f*16*16*16*16*16;

a=num2%2;

b=num2/2%2;

c=num2/2/2%2;

d=num2/2/2/2%2;

e=num2/2/2/2/2%2;

f=num2/2/2/2/2/2%2;

h=num2/2/2/2/2/2/2%2;

j=num2/2/2/2/2/2/2/2%2;

num1=2;

}

if(num1==8)

{

num2=a+b*8+c*8*8+d*8*8*8+e*8*8*8*8+f*8*8*8*8*8;

a=num2%2;

b=num2/2%2;

c=num2/2/2%2;

d=num2/2/2/2%2;

e=num2/2/2/2/2%2;

f=num2/2/2/2/2/2%2;

h=num2/2/2/2/2/2/2%2;

j=num2/2/2/2/2/2/2/2%2;

num1=2;

}

if(num1==10)

{

a=num2%2;

b=num2/2%2;

c=num2/2/2%2;

d=num2/2/2/2%2;

e=num2/2/2/2/2%2;

f=num2/2/2/2/2/2%2;

h=num2/2/2/2/2/2/2%2;

j=num2/2/2/2/2/2/2/2%2;

num1=2;

}

}

voidjinzhi8()

{

if(num1==2)

{

num2=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2;

a=num2%8;

b=num2/8%8;

c=num2/8/8%8;

d=num2/8/8/8%8;

e=num2/8/8/8/8%8;

f=num2/8/8/8/8/8%8;

num1=8;

}

if(num1==10)

{

a=num2%8;

b=num2/8%8;

c=num2/8/8%8;

d=num2/8/8/8%8;

e=num2/8/8/8/8%8;

f=num2/8/8/8/8/8%8;

num1=8;

}

if(num1==16)

{

num2=a+b*16+c*16*16+d*16*16*16+e*16*16*16*16+f*16*16*16*16*16;

a=num2%8;

b=num2/8%8;

c=num2/8/8%8;

d=num2/8/8/8%8;

e=num2/8/8/8/8%8;

f=num2/8/8/8/8/8%8;

num1=8;

}

}

voidjinzhi10()

{

if(num1==16)

{

num2=a+b*16+c*16*16+d*16*16*16+e*16*16*16*16+f*16*16*16*16*16;

f=num2%1000000/100000;

e=num2%100000/10000;

d=num2%10000/1000;

c=num2%1000/100;

b=num2%100/10;

a=num2%10;

num1=10;

}

if(num1==8)

{

num2=a+b*8+c*8*8+d*8*8*8+e*8*8*8*8+f*8*8*8*8*8;

f=num2%1000000/100000;

e=num2%100000/10000;

d=num2%10000/1000;

c=num2%1000/100;

b=num2%100/10;

a=num2%10;

num1=10;

}

if(num1==2)

{

num2=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2;

f=num2%1000000/100000;

e=num2%100000/10000;

d=num2%10000/1000;

c=num2%1000/100;

b=num2%100/10;

a=num2%10;

num1=10;

}

}

voidjinzhi16()

{

if(num1==2)

{

num2=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2;

a=num2%16;

b=num2/16%16;

c=num2/16/16%16;

d=num2/16/16/16%16;

e=num2/16/16/16/16%16;

f=num2/16/16/16/16/16%16;

num1=16;

}

if(num1==8)

{

num2=a+b*8+c*8*8+d*8*8*8+e*8*8*8*8+f*8*8*8*8*8;

a=num2%16;

b=num2/16%16;

c=num2/16/16%16;

d=num2/16/16/16%16;

e=num2/16/16/16/16%16;

f=num2/16/16/16/16/16%16;

num1=16;

}

if(num1==10)

{

num2=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10+f*10*10*10*10*10;

a=num2%16;

b=num2/16%16;

c=num2/16/16%16;

d=num2/16/16/16%16;

e=num2/16/16/16/16%16;

f=num2/16/16/16/16/16%16;

num1=16;

}

}

voidjiance()

{

if(j==0)

{

if(h==0)

{

if(f==0)

{

if(e==0)

{

if(d==0)

{

if(c==0)

{

if(b==0)

{

if(a==0)

{

num=0;

}

elsenum=1;

}

elsenum=2;

}

elsenum=3;

}

elsenum=4;

}

elsenum=5;

}

elsenum=6;

}

elsenum=6;

}

elsenum=6;

}

voiddkeyscan()

{

P3=0xff;

if(key1==0)

{

delay(10);

if(key1==0)

{

num3=2;

while(!

key1);

delay(10);

while(!

key1);

P3=0xff;

}

}

if(key2==0)

{

delay(10);

if(key2==0)

{

num3=8;

while(!

key2);

delay(10);

while(!

key2);

P3=0xff;

}

}

if(key3==0)

{

delay(10);

if(key3==0)

{

num3=10;

while(!

key3);

delay(10);

while(!

key3);

P3=0xff;

}

}

if(key4==0)

{

delay(10);

if(key4==0)

{

num3=16;

while(!

key4);

delay(10);

while(!

key4);

P3=0xff;

}

}

}

voidjia()

{

//if(num1==16)

//num2=a+b*16+c*16*16+d*16*16*16+e*16*16*16*16+f*16*16*16*16*16;

if(num1==10)

num2=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10+f*10*10*10*10*10;

if(num1==8)

num2=a+b*8+c*8*8+d*8*8*8+e*8*8*8*8+f*8*8*8*8*8;

if(num1==2)

num2=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2+h*2*2*2*2*2*2+j*2*2*2*2*2*2*2;

a=b=c=d=e=f=g=h=j=0;

num=0;

num4=1;

}

voidjian()

{

//if(num1==16)

//num2=a+b*16+c*16*16+d*16*16*16+e*16*16*16*16+f*16*16*16*16*16;

if(num1==10)

num2=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10+f*10*10*10*10*10;

if(num1==8)

num2=a+b*8+c*8*8+d*8*8*8+e*8*8*8*8+f*8*8*8*8*8;

if(num1==2)

num2=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2+h*2*2*2*2*2*2+j*2*2*2*2*2*2*2;

a=b=c=d=e=f=g=h=j=0;

num=0;

num4=2;

}

voidcheng()

{

//if(num1==16)

//num2=a+b*16+c*16*16+d*16*16*16+e*16*16*16*16+f*16*16*16*16*16;

if(num1==10)

num2=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10+f*10*10*10*10*10;

if(num1==8)

num2=a+b*8+c*8*8+d*8*8*8+e*8*8*8*8+f*8*8*8*8*8;

if(num1==2)

num2=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2+h*2*2*2*2*2*2+j*2*2*2*2*2*2*2;

a=b=c=d=e=f=g=h=j=0;

num=0;

num4=3;

}

voidchu()

{

//if(num1==16)

//num2=a+b*16+c*16*16+d*16*16*16+e*16*16*16*16+f*16*16*16*16*16;

if(num1==10)

num2=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10+f*10*10*10*10*10;

if(num1==8)

num2=a+b*8+c*8*8+d*8*8*8+e*8*8*8*8+f*8*8*8*8*8;

if(num1==2)

num2=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2+h*2*2*2*2*2*2+j*2*2*2*2*2*2*2;

a=b=c=d=e=f=g=h=j=0;

num=0;

num4=4;

}

voidyunsuan()

{

if(num4==1)

num6=num5+num2;

if(num4==2)

num6=num2-num5;

if(num4==3)

num6=num2*num5;

if(num4==4)

num6=num2/num5;

}

voiddeng()

{

//if(num1==16)

//num5=a+b*16+c*16*16+d*16*16*16+e*16*16*16*16+f*16*16*16*16*16;

if(num1==10)

{

num5=a+b*10+c*10*10+d*10*10*10+e*10*10*10*10+f*10*10*10*10*10;

yunsuan();

f=num6%1000000/100000;

e=num6%100000/10000;

d=num6%10000/1000;

c=num6%1000/100;

b=num6%100/10;

a=num6%10;

}

if(num1==8)

{

num5=a+b*8+c*8*8+d*8*8*8+e*8*8*8*8+f*8*8*8*8*8;

yunsuan();

a=num6%8;

b=num6/8%8;

c=num6/8/8%8;

d=num6/8/8/8%8;

e=num6/8/8/8/8%8;

f=num6/8/8/8/8/8%8;

}

if(num1==2)

{

num5=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2+h*2*2*2*2*2*2+j*2*2*2*2*2*2*2;

yunsuan();

a=num2%2;

b=num2/2%2;

c=num2/2/2%2;

d=num2/2/2/2%2;

e=num2/2/2/2/2%2;

f=num2/2/2/2/2/2%2;

h=num2/2/2/2/2/2/2%2;

j=num2/2/2/2/2/2/2/2%2;

}

num=0;

}

voidqingchu()

{

g=0;

a=b;

b=c;

c=d;

d=e;

e=f;

f=h;

h=j;

j=g;

num--;

}

voidanjian1(ucharx)

{

if(num1==2)

{

g=x;

j=h;

h=f;

f=e;

e=d;

d=c;

c=b;

b=a;

a=g;

num++;

}

}

voidanjian2(ucharx)

{

if(num1==8)

{

g=x;

f=e;

e=d;

d=c;

c=b;

b=a;

a=g;

num++;

}

}

voidanjian3(ucharx)

{

if(num1==10)

{

g=x;

f=e;

e=d;

d=c;

c=b;

b=a;

a=g;

num++;

}

}

voidanjian4(ucharx)

{

if(num1==16)

{

g=x;

f=e;

e=d;

d=c;

c=b;

b=a;

a=g;

num++;

}

}

voidjkeyscan()

{

P3=0xfe;//第1次检验

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(5);

P3=0xfe;

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P3;

switch(temp)

{

case0xee:

if(num1==2)

{

g=0;

j=h;

h=f;

f=e;

e=d;

d=c;

c=b;

b=a;

a=g;

num++;

if(num==1)

num=0;

}

anjian2

(1);

anjian3

(1);

anjian4

(1);

break;

case0xde:

anjian1

(1);

anjian2

(2);

anjian3

(2);

anjian4

(2);

break;

case0xbe:

anjian2(3);

anjian3(3);

anjian4(3);

break;

case0x7e:

anjian4(4);

jia();

break;

}

temp=temp&0xf0;

while(temp!

=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

delay(5);

while(temp!

=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

P3=0xff;

}

}

P3=0xfd;//第2次检验

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(5);

P3=0xfd;

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P3;

switch(temp)

{

case0xed:

anjian2(4);

anjian3(4);

anjian4(5);

break;

case0xdd:

anjian2(5);

anjian3(5);

anjian4(6);

break;

case0xbd:

anjian2(6);

anjian3(6);

anjian4(7);

break;

case0x7d:

anjian4(8);

jian();

break;

}

temp=temp&0xf0;

while(temp!

=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

delay(5);

while(temp!

=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

}

}

P3=0xfb;//第3次检验

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

delay(5);

P3=0xfb;

temp=P3;

temp=temp&0xf0;

if(temp!

=0xf0)

{

temp=P3;

switch(temp)

{

case0xeb:

anjian2(7);

anjian3(7);

anjian4(9);

break;

case0xdb:

anjian2(8);

anjian3(8);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1