×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-09-02 发布时间:
|

#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();

}

}


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义