新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)的PT2257調(diào)音IC控制程序

        51單片機(jī)的PT2257調(diào)音IC控制程序

        作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏

        Volume_Handle.H這頭文件請到http://www.51hei.com/bbs/dpj-19294-1.html下載,下面的代碼是從一個收音機(jī)程序里面截取出來的.

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

        /*-----------PT2257調(diào)音IC控制-----------*/
        /*------ 外部adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=d35388890058cac9&k=%BE%A7%D5%F1&k0=%BE%A7%D5%F1&kdi0=0&luki=3&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=c9ca5800898853d3&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2Fwww%2E51hei%2Ecom%2Fmcu%2F1972%2Ehtml&urlid=0" id="3_nwl" mpid="3" target="_blank">晶振為 12MHz-------*/
        #include "STC12C5620AD.H"
        #include "Volume_Handle.H"
        #include "delay.h"
        /**********************聲明外部變量**************************/
        /********************** 定義變量**************************/
        uchar Volume=20; //音量增益參數(shù)
        /************ IIC2 開始*****************/
        void IIC2_Start(void)
        {
        IIC2_SDA=1;
        Delay_us(5);
        IIC2_SCL=1;
        Delay_us(5);
        IIC2_SDA=0;
        Delay_us(5);
        IIC2_SCL=0;
        Delay_us(5);
        }
        /************ IIC2 停止*****************/
        void IIC2_Stop(void)
        {
        IIC2_SCL=0;
        Delay_us(5);
        IIC2_SDA=0;
        Delay_us(5);
        IIC2_SCL=1;
        Delay_us(5);
        IIC2_SDA=1;
        Delay_us(5);
        }
        /************ IIC2 ACK 回應(yīng)*****************/
        void IIC2_ACK(void)
        {
        IIC2_SDA=0;
        Delay_us(5);
        IIC2_SCL=1;
        Delay_us(5);
        IIC2_SCL=0;
        Delay_us(5);
        IIC2_SDA=1;
        Delay_us(5);
        }
        /************ IIC2 檢測 ACK 回應(yīng)*****************/
        bit IIC2_Test_ACK(void)
        {
        bit ErrorBit;
        IIC2_SDA=1;
        Delay_us(5);
        IIC2_SCL=1;
        Delay_us(5);
        ErrorBit=IIC2_SDA;
        Delay_us(5);
        IIC2_SCL=0;
        return ErrorBit;
        }
        /************ IIC2 寫入一字節(jié)*****************/
        void IIC2_Write_Byte(unsigned char Input)
        {
        unsigned char Temp;
        for(Temp=8;Temp>0;Temp--)
        {
        IIC2_SDA=(bit)(Input&0x80);
        Delay_us(5);
        IIC2_SCL=1;
        Delay_us(5);
        IIC2_SCL=0;
        Delay_us(5);
        Input=Input<<1;
        }
        }
        /**********************改變音量參數(shù)**************************/
        void Volume_Write(uchar Vol)
        {
        uchar Temp_H,Temp_L;
        Temp_H=(Vol/10)|0xe0;
        Temp_L=(Vol%10)|0xd0;
        IIC2_Start(); //雙聲道同時改變,-10dB/Step
        IIC2_Write_Byte(0x88); //寫PT2257地址
        if(!IIC2_Test_ACK())
        {
        IIC2_Write_Byte(Temp_H);
        IIC2_ACK();
        IIC2_Write_Byte(Temp_L);
        IIC2_ACK();
        }
        IIC2_Stop();
        }
        /**********************初始化音量參數(shù)**************************/
        void Volume_Init()
        {
        //Volume_Write(0x78); //MUTE=OFF
        Volume_Write(20); //-20dB
        }



        評論


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

        關(guān)閉
        主站蜘蛛池模板: 略阳县| 太保市| 松滋市| 绥江县| 成都市| 伊川县| 乐亭县| 宜城市| 新宁县| 垣曲县| 进贤县| 双牌县| 廉江市| 龙海市| 开平市| 万载县| 开封市| 治县。| 罗平县| 凌云县| 井冈山市| 同江市| 泽州县| 福海县| 绵竹市| 浙江省| 双辽市| 饶平县| 潞城市| 禹城市| 建德市| 开江县| 句容市| 望谟县| 承德县| 镶黄旗| 洪泽县| 泉州市| 台北市| 邢台县| 娱乐|