16进制转换算成10进制程序doc.docx

上传人:b****2 文档编号:2309644 上传时间:2022-10-28 格式:DOCX 页数:24 大小:157.05KB
下载 相关 举报
16进制转换算成10进制程序doc.docx_第1页
第1页 / 共24页
16进制转换算成10进制程序doc.docx_第2页
第2页 / 共24页
16进制转换算成10进制程序doc.docx_第3页
第3页 / 共24页
16进制转换算成10进制程序doc.docx_第4页
第4页 / 共24页
16进制转换算成10进制程序doc.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

16进制转换算成10进制程序doc.docx

《16进制转换算成10进制程序doc.docx》由会员分享,可在线阅读,更多相关《16进制转换算成10进制程序doc.docx(24页珍藏版)》请在冰豆网上搜索。

16进制转换算成10进制程序doc.docx

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();

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

当前位置:首页 > 人文社科 > 法律资料

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

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