中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 簡易數字直流電壓表電路及程序

        簡易數字直流電壓表電路及程序

        作者: 時間:2011-06-04 來源:網絡 收藏

        p1.0-Clock
        p1.1-Data out
        p1.2-CS
        */
        #include reg51.h
        #include intrins.h
        #include math.h
        sbit ad_clk=P1^0;
        sbit ad_dout=P1^1;
        sbit ad_cs=P1^2;
        unsigned char data re_data;
        unsigned int data T_cnt;
        double volt,xishu;
        char code led_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
        //led_seg_code[0-9]代表0-9的7段碼
        //---------------
        void delay(unsigned int i)//延時
        { while(--i); }
        //---------------
        void led_show(double f)
        { unsigned char i,s;
        unsigned int k,*j;
        if (f2)
        { k=f;//取整數 部分
        i=k;
        P0=led_seg_code[i] | 0x80;
        P2=0xfb;
        delay(50);
        i=f*10;
        i=i%10;
        P0=led_seg_code[i];
        P2=0xfd;
        delay(50);
        i=f*100; //取小數后1位
        i=i%10;
        P0=led_seg_code[i];
        P2=0xfe;
        delay(50);
        else //超限報警,顯示“---”
        { P0=0x40;
        P2=0xfb;
        delay(50);
        //---------
        P2=0xfd;
        delay(50);
        //-----------
        P2=0xfe;
        delay(50);
        }
        }
        //----讀取ADC轉換器TLC549的數據----
        unsigned char receive_data()
        {unsigned char i,d;
        d=0;
        ad_cs=1; // /CS置高,片選無效
        ad_clk=0;
        ad_cs=0;
        _nop_();
        for(i0;i8;i++)
        { ad_clk=1;
        d=d1;
        if (ad_dout)
        { d++;}
        ad_clk=0;
        }
        ad_cs=1;
        for(i=0;i10;i++) // 適當延時超過17us
        _nop_();
        return d;
        }
        //-------------
        main()
        {T_cnt=0;
        TMOD=0x01; //定時器設置T0
        TH0=0x4c; //50000us=(65536-0x4c00)*12/11.0592
        TL0=00;
        EA=0;
        TR0=1;
        re_data=0x00;
        volt=0;
        xishu=2.5/255.0;
        //-----------------------------
        while(1)
        { if(TF0==1)
        { TF0=0;
        TH0=0x4c; //50000us=(65536-0x4c00)*12/11.0592
        TL0=0x0;
        if (T_cnt2) //T0為50毫秒溢出一次,每100ms讀取一次AD轉換器數據
        {T_cnt++;}
        else
        { T_cnt=0;//計時到100ms了
        re_data=receive_data();
        //轉換為電壓值
        volt=re_data;
        volt=volt*xishu;
        }
        }
        led_show(volt);
        }
        }

        本文引用地址:http://www.antipu.com.cn/article/172700.htm

        DIY機械鍵盤相關社區(qū):機械鍵盤DIY



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉