新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DAC0832產(chǎn)生三角波與正弦波

        DAC0832產(chǎn)生三角波與正弦波

        作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
        #include

        unsigned char flag; //波型輸出標(biāo)置變量
        bit time;
        unsigned char sin(unsigned char x)
        {
        unsigned char code sin_tab[]={125,128,131,134,138,141,144,147,150,153,156,159,
        162,165,168,171,174,177,180,182,185,188,191,193,196,198,201,203,
        206,208,211,213,215,217,219,221,223,225,227,229,231,232,234,235,
        237,238,239,241,242,243,244,245,246,246,247,248,248,249,249,250,
        250,250,250,250,250,250,250,249,249,248,248,247,246,246,245,244,
        243,242,241,239,238,237,235,234,232,231,229,227,225,223,221,219,
        217,215,213,211,208,206,203,201,198,196,193,191,188,185,182,180,
        177,174,171,168,165,162,159,156,153,150,147,144,141,138,134,131,
        128,125,122,119,116,112,109,106,103,100,97,94,91,88,85,82,79,76,73,
        70,68,65,62,59,57,54,52,49,47,44,42,39,37,35,33,31,29,27,25,27,29,27,25,23,21,
        19,18,16,15,13,12,11,9,8,7,6,5,4,4,3,2,2,1,1,0,0,0,0,0,0,0,0,1,1,2,
        2,3,4,4,5,6,7,8,9,11,12,13,15,16,18,19,21,23,25,27,29,31,33,35,37,
        39,42,44,47,49,52,54,57,59,62,65,68,70,73,76,79,82,85,88,97,94,97,

        本文引用地址:http://www.104case.com/article/201611/315783.htm


        100,103,106,109,112,116,119,122};
        return sin_tab[x];
        }
        void DAC0832(unsigned char x)
        {
        P0=x;
        P2=P0;
        }
        void main()
        {
        unsigned char i;
        TMOD=0X02; //定時器0用于控制輸出波的頻率
        TH0=256-40;
        TL0=256-40;
        ET0=1; //按鍵接于外部中斷0,與中斷1
        IT0=1;
        IT1=1;
        EX0=1;
        EX1=1;
        EA=1;
        TR0=1;
        flag=2; //開始時有輸出
        i=0;
        while(1)
        {
        if(time==1)

        time=0;
        if(i>249)
        i=0;
        else
        i++;
        switch(flag) //當(dāng)按鍵1的為輸出三角波,按鍵2時輸出正弦波
        {
        case 0:DAC0832(120);break;
        case 1:
        if(i>125)
        DAC0832(250-i);
        else
        DAC0832(i);
        break;
        case 2:;
        DAC0832(sin(i));
        break;
        default: break;
        }
        }
        }

        void time0() interrupt 1
        {
        time=1;
        }

        void int0() interrupt 0
        { //按鍵1接于外部中斷0
        flag=1;
        }

        void int1() interrupt 2 //按鍵2接于外部中斷1
        {
        flag=2;
        }



        關(guān)鍵詞: DAC0832三角波正弦

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 双江| 泰兴市| 赤城县| 延安市| 安图县| 仲巴县| 嘉荫县| 靖边县| 通榆县| 勐海县| 镶黄旗| 铅山县| 临湘市| 上林县| 定日县| 商南县| 安顺市| 石渠县| 十堰市| 宜章县| 株洲市| 城口县| 曲阜市| 阜新市| 崇礼县| 金川县| 金乡县| 迁安市| 历史| 金沙县| 姜堰市| 崇文区| 百色市| 吉林省| 兴义市| 木里| 嘉善县| 临清市| 恩平市| 古蔺县| 镇远县|