如何使用AVR单片机写入TEA5767数据

控制/MCU

1820人已加入

描述

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define ulong unsigned long

void delay()

{

uint i=0;

for (i=0;i《2000;i++)

;

}

unsigned char radio_write_data[5]={0x69,0x28,0xa0,0x13,0x00}; //要写入TEA5767的数据

void inputbyte(uchar CD) //写入一字节数据

{

uchar i,mid=0;

for (i=0;i《8;i++)

{

mid=CD&0x80;

if (mid==0)

PORTC&=~BIT(PA0);

else

PORTC|=BIT(PA0);

PORTC|=BIT(PA1);

delay();

PORTC&=~BIT(PA1);

delay();

CD=CD《《1;

}

}

long radio=87000000;

int N=0;

void GetKey(void)

{

if(!(PINA&0x20)){

radio+=100000;

if (radio》108000000)

radio=87000000;

N=(long)((radio-225000)*4)/32768;

PORTC|=BIT(PA2);

inputbyte(N》》8);

inputbyte(N);

inputbyte(0xa0);

inputbyte(0x13);

inputbyte(0x00);

PORTC&=~BIT(PA2);

delay();

}

else if(!(PINA&0x10)){

radio-=100000;

if (radio《87000000)

radio=108000000;

N=(long)((radio-225000)*4)/32768;

PORTC|=BIT(PA2);

inputbyte(N》》8);

inputbyte(N);

inputbyte(0xa0);

inputbyte(0x13);

inputbyte(0x00);

PORTC&=~BIT(PA2);

delay();

}

}


 

void main()

{

uchar i=0;

DDRC=0xff;

DDRA=0x00;

PORTA=0xff;

delay();

//PORTC|=BIT(PA3);

PORTC|=BIT(PA4);

while(1)

{

GetKey();

}

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分