新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機驅動12位AD轉換MAX1241程序及原理圖

        51單片機驅動12位AD轉換MAX1241程序及原理圖

        作者: 時間:2016-11-30 來源:網絡 收藏
        下面是MAX124151單片機連接的電路圖:

        本程序的完整工程文件下載:http://www.51hei.com/f/1241.rar
        以下是源碼:
        #include
        #defineuchar unsigned char
        #define uint unsigned int
        #define High 1
        #define Low0
        int t;
        sbit cs=P2^7;
        sbit sclk=P2^6;
        sbit dout=P2^5;
        unsigned char b[5];
        uchar code tv[]={0x08,0x10,0x20,0x40,0X80};//位選
        uchar code dc[]={0xC0, //"0"
        0xF9, //"1"
        0xA4, //"2"
        0xB0, //"3"
        0x99, //"4"
        0x92, //"5"
        0x82, //"6"
        0xF8, //"7"
        0x80, //"8"
        0x90, //"9"
        };
        uint dushuju() //定義為可以返回的參數
        {
        uint voltage_temp=0;
        uchar ucloop=12;
        cs=High;
        sclk=Low;
        cs=Low;
        while(dout==0);//EOC信號為高表示轉換結束
        sclk=High;
        sclk=Low;
        while(ucloop--)
        {
        sclk=High;//上升沿數據穩定并讀出
        voltage_temp<<=1;
        if(dout==1)
        voltage_temp+=1;
        sclk=Low;
        }
        cs=High;
        return voltage_temp; //返回數據
        }
        void shuxiang(void )
        {
        char i, j;
        t=dushuju(); //調用數據
        b[0]=(t/10000)%10; //取得整數值到數組
        b[1]=(t/1000)%10;
        b[2]=(t/100)%10;
        b[3]=(t/10)%10;
        b[4]=(t/1)%10;
        b[5]=0;
        for(i=0;i<5;i++)
        {
        P3=tv[i];
        j=b[i];
        P1=dc[j];
        Delay();
        }
        }
        void delay(void)
        {
        uint i;
        for(i=0;i<100;i++);
        }
        main()
        {
        loop:
        dushuju();
        shuxiang();
        goto loop;
        }


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 桐梓县| 北碚区| 北安市| 阿拉善右旗| 灌南县| 庄河市| 津市市| 观塘区| 海盐县| 富民县| 甘谷县| 喀喇沁旗| 乌恰县| 通州区| 扶余县| 新昌县| 莆田市| 太湖县| 黄浦区| 丰原市| 木里| 尼勒克县| 呼和浩特市| 阿拉善盟| 玛多县| 绥江县| 中山市| 珲春市| 盐亭县| 班戈县| 师宗县| 恩施市| 微山县| 开平市| 磴口县| 佛山市| 无极县| 汝阳县| 伊宁市| 夏津县| 汶川县|