• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 16進(jìn)制轉(zhuǎn)換算成10進(jìn)制程序

    16進(jìn)制轉(zhuǎn)換算成10進(jìn)制程序

    作者: 時間:2011-05-05 來源:網(wǎng)絡(luò) 收藏

    16算成10

    本文引用地址:http://www.czjhyjcfj.com/article/172812.htm


    unsigned char d[10]; //用于顯示的10位顯示緩存

    //========================================================
    //16to10進(jìn)制輸出子:顯示數(shù)據(jù),起始位,結(jié)束位,有無小數(shù)點
    //========================================================
    void output(unsigned long dd,unsigned char s,unsigned char
    e,unsigned char dip) {
    unsigned long div;
    unsigned char tm[8],i,j;
    div=10000000;
    for (i=0;i8;i++) {
    tm[i]=dd/div;
    dd%=div;
    div/=10;
    }
    for (i=0;i6;i++) {
    if (tm[i]!=0) break;
    tm[i]=nul;
    }
    tm[5]|=dip; //小數(shù)點控制,請看“串行LED數(shù)碼管顯示驅(qū)動
    j=7;
    for (i=s;ie;i++) {
    d[i]=tm[j];
    j--;
    }
    }

    //把顯示位5-9位的10進(jìn)制數(shù)成為16進(jìn)制數(shù)
    unsigned int input(void) {
    unsigned int dd,dat;
    dd=10000;dat=0;
    for (i=5;i10;i++) {
    dat+=dd*temp;
    dd/=10;
    }
    return(dat);
    }
    /* 89C51系列CPU編程器接收CPU程序*/

    #i nclude reg51.h>
    #i nclude intrins.h>
    #i nclude absacc.h>

    #define e 8
    #define p 9
    #define l 10

    sbit led=P3^2;
    sbit p27=P2^7;
    sbit p26=P2^6;
    sbit p36=P3^6;
    sbit p37=P3^7;
    sbit rst=P3^3;
    sbit ale=P3^5;
    sbit vpp=P3^4;

    bit b_break;
    unsigned int adds;


    // 13.8mS
    void int_t0(void) interrupt 1 {
    TH0=-100;
    b_break=1;
    }

    void wait(unsigned char w) {
    unsigned int t=w*184;
    b_break=0;
    TL0=-t%256-1;TH0=-t/256;
    while (b_break==0) {}
    }

    void nop(void) {
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
    }

    unsigned char command(void) {
    TH0=-100;b_break=0;
    while (RI==0) {if (b_break==1) return(0);}
    RI=0;
    return(SBUF);
    }

    void earsure(unsigned char cpu) {
    switch (cpu) {
    case 1: //89C51
    case 2:rst=p26=1;p27=p36=p37=0;nop();vpp=1;nop();
    ale=0;wait(110);ale=1;nop();
    break;
    case 3:
    case 4:break;
    case 5:
    case 6:break;
    }
    }

    void program(unsigned char cpu) {
    unsigned int bdata adds=0;
    unsigned char d;
    switch (cpu) {
    case 1: //89C51
    case 2:
    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;
    case 3:
    case 4:
    case 5:
    case 6:break;
    }
    }

    void lock(unsigned char cpu) {
    unsigned char i;
    switch (cpu) {
    case 1: //89c51
    case 2:
    //lock 1
    rst=p26=p36=p27=p37=1;nop();
    vpp=1;
    nop();
    ale=0;
    // for (i=0;i6;i++) wait(100);
    wait(1);
    ale=1;
    nop();
    vpp=0;
    nop();

    //lock 2
    rst=p26=p27=1;p36=p37=0;nop();
    vpp=1;
    nop();
    ale=0;
    // for (i=0;i6;i++) wait(100);
    wait(1);
    ale=1;
    nop();
    vpp=0;
    nop();

    //lock 3
    rst=p26=p36=1;p27=p37=0;nop();
    vpp=1;
    nop();
    ale=0;
    // for (i=0;i6;i++) wait(100);
    wait(1);
    ale=1;
    nop();
    vpp=0;
    nop();
    break;
    case 3:
    case 4:
    case 5:
    case 6:break;
    }
    }

    void main(void) {
    unsigned char disp,flash,temp,cpu;
    EA=1;
    SCON=0xd8;PCON=0x80;
    TMOD=0x21;
    TL1=TH1=0xff;TR1=1;
    TH0=-100;ET0=TR0=1;

    flash=0x80;


    上一頁 1 2 3 下一頁

    關(guān)鍵詞: 進(jìn)制 程序 轉(zhuǎn)換

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 武乡县| 锡林郭勒盟| 澄城县| 互助| 宁陕县| 交城县| 洞口县| 无棣县| 玉树县| 哈尔滨市| 卢湾区| 德惠市| 托克逊县| 花莲市| 那曲县| 额尔古纳市| 兰溪市| 新竹市| 白山市| 珠海市| 霍山县| 邮箱| 武义县| 马边| 鹤庆县| 阜平县| 伽师县| 永修县| 固阳县| 静海县| 永吉县| 汉沽区| 宜州市| 毕节市| 西华县| 梅河口市| 沙湾县| 陵川县| 新乡县| 陆良县| 娱乐|