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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 16進制與10進制轉化程序

    16進制與10進制轉化程序

    作者: 時間:2012-08-12 來源:網絡 收藏

    16轉換算成10

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


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

    //========================================================
    //16to10進制輸出子:顯示數據,起始位,結束位,有無小數點
    //========================================================
    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; //小數點控制,請看“串行LED數碼管顯示驅動
    j=7;
    for (i=s;ie;i++) {
    d[i]=tm[j];
    j--;
    }
    }

    //把顯示位5-9位的10進制數轉換成為16進制數
    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 下一頁

    關鍵詞: 進制 程序 轉化

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 吴忠市| 深州市| 乐平市| 满城县| 冷水江市| 甘洛县| 湟源县| 伊川县| 通山县| 仁寿县| 长顺县| 东平县| 巩义市| 凤阳县| 西贡区| 德江县| 兰坪| 龙胜| 定陶县| 盐亭县| 六安市| 耒阳市| 临西县| 丹寨县| 贡嘎县| 思茅市| 闻喜县| 岢岚县| 贵溪市| 永丰县| 集贤县| 东宁县| 台江县| 胶南市| 子洲县| 济南市| 普洱| 拜城县| 梨树县| 罗城| 邵武市|