新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > proteus 仿真AD5310程序。。10位DAC

        proteus 仿真AD5310程序。。10位DAC

        作者: 時間:2016-11-13 來源:網絡 收藏

        #include
        #include
        #define uchar unsigned char
        #define uint unsigned int
        void delay(uint ms)
        {
        uint i,j;
        for(i=0;ifor(j=0;j<1141;j++);
        }
        void spi_init()
        {
        DDRA|=BIT(1);
        DDRB|=BIT(5)|BIT(7);
        SPCR=(0<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(1<<2)|(1<<1)|(1);
        // SPIE SPE DORD MSTR CPOL CHPA SPR1 SPR0
        }
        void da5310(uint data)
        {
        uchar temp1,temp2;
        data&=0x3ff;//11 1111 1111

        temp1=(data>>6);//高8位
        temp2=((data&0x3f)<<2);//低8位

        PORTA&=~BIT(1);
        //PORTA|=BIT(1);
        //PORTA&=~BIT(1);

        SPSR=0;
        SPDR=temp1;
        while(!(SPSR&0X80));//等待發送完畢
        SPSR=0;



        SPDR=temp2;
        while(!(SPSR&0X80));//等待發送完畢
        SPSR=0;

        PORTA|=BIT(1);


        }
        void main()
        {
        spi_init();
        da5310(0);
        delay(5);
        da5310(128);
        while(1);




        }


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 巴里| 宜州市| 彭阳县| 扎赉特旗| 新巴尔虎右旗| 穆棱市| 平罗县| 怀仁县| 唐河县| 类乌齐县| 兖州市| 九龙坡区| 鹰潭市| 安乡县| 宁远县| 大余县| 远安县| 桦甸市| 广平县| 米脂县| 天柱县| 明光市| 张北县| 乃东县| 六安市| 宣武区| 双流县| 九台市| 合山市| 汪清县| 汤阴县| 武乡县| 新余市| 康马县| 栾城县| 闵行区| 钟祥市| 淮滨县| 阳新县| 即墨市| 武平县|