91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-18
  • 語言: 其他
  • 標簽: RDA5807M??

資源簡介

RDA5807m+IIC +RDS 單片機驅動程序,內含了我自己寫的RDS驅動,之前基本所有驅動沒有這功能,我只有自己看寄存器增加了 。集合所有控制,實現所有的控制命令,對于使用者來說十分簡單實用,只要調用接口即可 。

資源截圖

代碼片段和文件信息


#include?“sys.h“


uchar?code?xian[4][4]={12345678910111213141516};
uchar?code?hang[]={0xfe0xfd0xfb0xf7};??//矩陣鍵盤掃描使用



sbit?RW?=P1^1;
sbit?RS=P1^0;
sbit?EN=P2^5;


//uchar?code?a[]=“FM:???.?????????“;
//uchar?code?b[]=“Vol:????RSSI:?????“;
//uchar?code?shu[]=“0123456789“;
//uchar?num?;


void?delayms(uint?x) ???//延遲程序
{
????uint?ij;
for(i=x;i>0;i--)
???for(j=113;j>0;j--);
}


/*----------------------------------------IIC通信程序---------------------------------------------------*/
void?IIC_delayms()????????//用于IIC延時
{
_nop_();_nop_();_nop_();_nop_();
}


void?OpenIIC()? //IIC啟動信號
{
SDA=1;
SCL=1;
IIC_delayms();??
SDA=0;
IIC_delayms();??
SCL=0;
}
void?CloseIIC() //IIC停止信號
{
?SCL=0;
?SDA=0;
?IIC_delayms();??
?SCL=1;?
?SDA=1;?
?IIC_delayms();??
}

uchar?IIC_Wait_Ack(void) //IIC發送字節后?等待從機發送響應信
{
uchar?ucErrTime=0;??
SDA=1;
IIC_delayms();?? ???
SCL=1;
IIC_delayms();?? ?

while(SDA==1)
{
ucErrTime++;
if(ucErrTime>250)
{
CloseIIC();
return?1;
}
}
SCL=0; ???
return?0;??
}?


void?IIC_Ack(void) ??//發送應答信號
{
SCL=0;
SDA=0; ??//0±íê?ó|′e
IIC_delayms();??
SCL=1;
IIC_delayms();??
SCL=0;
}
????
void?IIC_NAck(void) ?//IIC?非應答信號
{
SCL=0;
SDA=1; ?
IIC_delayms();??
SCL=1;
IIC_delayms();??
SCL=0;
} ? ?????
void?IICsendByte(uchar?txd) ?//IIC?寫一個字節
{????????????????????????
????uchar?t;?
????SCL=0;
????for(t=0;t<8;t++)
????{??
if(((txd&0x80)>>7)==1)
SDA=1;
else?
SDA=0;
????????txd<<=1;? ??
IIC_delayms();???
SCL=1;
IIC_delayms();??
SCL=0;
IIC_delayms();??
????} ?
}?


uchar?IICReadByte(unsigned?char?ack)??//IIC讀一個字節
{
unsigned?char?xdata?ireceive=0;
SDA=1; ??//51單片機講引腳置高可設為輸入引腳
????for(i=0;i<8;i++?)
{
SCL=0;?
IIC_delayms();??
SCL=1;
receive<<=1;
if(SDA==1)receive++;???
IIC_delayms();??
????}
????if?(!ack)
????????IIC_NAck();
????else
????????IIC_Ack();??
????return?receive;
}

//uint8?read_data(uint8?reguint8?tBituint8?len)
//{
// uint?buff=0;
//
// buff=ReadReg(reg);
//
// buff=buff&(1<//}

uint?ReadReg(uchar?regAddr) //芯片讀寄存器
{
uint?buf;
OpenIIC();
IICsendByte(RDA_WRITE); ??//發送芯片地址?方向為寫
IIC_Wait_Ack();
IICsendByte(regAddr); //發送寄存器地址
IIC_Wait_Ack();
OpenIIC();
IICsendByte(RDA_READ);? ??//?發送芯片地址?方向為讀
IIC_Wait_Ack();
buf?=?IICReadByte(1);?
buf?=?buf<<8;
buf?=buf|IICReadByte(0);?
CloseIIC();
return?buf;
}


void?WriteReg(uchar?regAddruint?val)?//芯片寫寄存器
{
OpenIIC();
IICsendByte(RDA_WRITE); //發送芯片地址?方向為寫
IIC_Wait_Ack(); ?
IICsendByte(regAddr); //發送寄存器地址
IIC_Wait_Ack(); ?
IICsendByte(val>>8);
IIC_Wait_Ack();
IICsendByte(val&0XFF);
IIC_Wait_Ack();
CloseIIC();
}

void?Vol_Set(uchar?vol) //音量設置 ?0~15
{
uint?xdata?temp=0;
temp=ReadReg(RDA_R05);
temp&=0xfff0; ???
WriteReg(0x05vol|temp)?;
}

void?Mute_S

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6872??2018-08-11?17:14??RDA5807M.c

?????文件???????1944??2018-08-11?17:15??RDA5807M.h

-----------?---------??----------?-----??----

?????????????????8816????????????????????2


評論

共有 條評論

相關資源