16进制转换算成10进制程序doc.docx
- 文档编号:2309644
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:24
- 大小:157.05KB
16进制转换算成10进制程序doc.docx
《16进制转换算成10进制程序doc.docx》由会员分享,可在线阅读,更多相关《16进制转换算成10进制程序doc.docx(24页珍藏版)》请在冰豆网上搜索。
16进制转换算成10进制程序doc
16进制转换算成10进制程序
STC单片机中的eeprom写入和读取6位的10进制数需要进行数据类型转换吗?
具体是怎样现的呢?
2013-06-0410:
24
满意回答
提问者采纳 2013-06-0410:
27
6位10进制数,转换为16进制,再写入EEPROM.
longx;
分4个字节写入
ucharc1;
c1=x>>24;//最高字节
c1=x>>16;//次高字节
c1=x>>8;//次低字节
c1=x&0xff;//最低字节
分别写入就可以了。
追问 我用的是stc12C5A60S2单片机,我将转化轩16进制的数保存在一个数组,然后整个数组写进去,当需要的时候再读出来还原成十进制数可否呢?
回答 当然可以。
追问 想了一下,不知应该如何用单片机C语言去实现啊,可以指导下不?
提问者评价 谢谢哈评论 | ningling_21 知道达人 | 来自团队 单片机学习 | 十级 采纳率26%擅长:
其他编程语言 汇编语言 C/C++
16进制转换算成10进制程序
来源:
本站整理作者:
佚名2009年01月14日23:
33
0
分享
QQ空间新浪微博腾讯微博人人网
[导读]16进制转换算成10进制程序 unsignedchard[10]; //用于显示的10位显示缓存 //======================
关键词:
进制
16进制转换算成10进制程序
unsignedchard[10]; //用于显示的10位显示缓存
//========================================================
//16进制to10进制输出子程序:
显示数据,起始位,结束位,有无小数点
//========================================================
voidoutput(unsignedlongdd,unsignedchars,unsignedchar
e,unsignedchardip){
unsignedlongdiv;
unsignedchartm[8],i,j;
div=10000000;
for(i=0;i<8;i++){
tm[i]=dd/div;
dd%=div;
div/=10;
}
for(i=0;i<6;i++){
if(tm[i]!
=0)break;
tm[i]=nul;
}
tm[5]|=dip; //小数点控制,请看“串行LED数码管显示驱动程序”
j=7;
for(i=s;i d[i]=tm[j]; j--; } } //把显示位5-9位的10进制数转换成为16进制数 unsignedintinput(void){ unsignedintdd,dat; dd=10000;dat=0; for(i=5;i<10;i++){ dat+=dd*temp; dd/=10; } return(dat); } /* 89C51系列CPU编程器接收CPU程序*/ #include #include #include #definee8 #definep9 #definel10 sbitled=P3^2; sbitp27=P2^7; sbitp26=P2^6; sbitp36=P3^6; sbitp37=P3^7; sbitrst=P3^3; sbitale=P3^5; sbitvpp=P3^4; bitb_break; unsignedintadds; // 13.8mS voidint_t0(void)interrupt1{ TH0=-100; b_break=1; } voidwait(unsignedcharw){ unsignedintt=w*184; b_break=0; TL0=-t%256-1;TH0=-t/256; while(b_break==0){} } voidnop(void){ _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); } unsignedcharcommand(void){ TH0=-100;b_break=0; while(RI==0){if(b_break==1)return(0);} RI=0; return(SBUF); } voidearsure(unsignedcharcpu){ switch(cpu){ case1: //89C51 case2: rst=p26=1;p27=p36=p37=0;nop();vpp=1;nop(); ale=0;wait(110);ale=1;nop(); break; case3: case4: break; case5: case6: break; } } voidprogram(unsignedcharcpu){ unsignedintbdataadds=0; unsignedchard; switch(cpu){ case1: //89C51 case2: p36=p37=1;rst=1; while (1){ TH0=-100;b_break=0; while(RI==0){if(b_break==1)return;} RI=0; d=SBUF; //address P0=adds%256; P2=adds/256; p27=1; //data P1=d; nop(); //48clcl //vpp vpp=1; nop(); //48clcl //ale ale=0; wait (1);//100uS ale=1; nop(); //10uS vpp=0; nop(); //48clcl p27=0; nop(); //48clcl P1=0xff; TH0=-100;b_break=0; while(d! =P1){if(b_break==1)return;} //data polling SBUF=d; adds++; } break; case3: case4: case5: case6: break; } } voidlock(unsignedcharcpu){ unsignedchari; switch(cpu){ case1: //89c51 case2: //lock1 rst=p26=p36=p27=p37=1;nop(); vpp=1; nop(); ale=0; // for(i=0;i<6;i++)wait(100); wait (1); ale=1; nop(); vpp=0; nop(); //lock2 rst=p26=p27=1;p36=p37=0;nop(); vpp=1; nop(); ale=0; // for(i=0;i<6;i++)wait(100); wait (1); ale=1; nop(); vpp=0; nop(); //lock3 rst=p26=p36=1;p27=p37=0;nop(); vpp=1; nop(); ale=0; // for(i=0;i<6;i++)wait(100); wait (1); ale=1; nop(); vpp=0; nop(); break; case3: case4: case5: case6: break; } } voidmain(void){ unsignedchardisp,flash,temp,cpu; EA=1; SCON=0xd8;PCON=0x80; TMOD=0x21; TL1=TH1=0xff;TR1=1; TH0=-100;ET0=TR0=1; flash=0x80; while (1){ temp=command();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 转换 10 程序 doc