您的位置 首页 软件

51单片机的PT2257调音IC控制程序

Volume_HandleH这头文件请到http:www51heicombbsdpj-19294-1html下载,下面的代码是从一个收音机程序里面截取出来的*———

Volume_Handle.H这头文件请到http://www.51hei.com/bbs/dpj-19294-1.html下载,下面的代码是从一个收音机程序里边截取出来的.

/*———–PT2257调音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; //音量增益参数
/************ 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 回应*****************/
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 回应*****************/
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 写入一字节*****************/
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;
}
}
/**********************改动音量参数**************************/
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();
}
I%&&&&&%2_Stop();
}
/**********************初始化音量参数**************************/
void Volume_Init()
{
//Volume_Write(0x78); //MUTE=OFF
Volume_Write(20); //-20dB
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/254857.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部