📄 avr_ds__.c
字号:
0x1F,0x90,0x9F,0x88,0x88,0x89,0x88,0x91,0xA0,0xB1,0x59,0x49,0xC9,0x0F,0x00,0x3F,
0x40,0x40,0x4C,0x40,0x40,0x4C,0x40,0x4C,0x4C,0x8C,0x94,0x97,0x60,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x24,0xE7,0x00,0x80,0xE7,0x80,0xFF,0x81,0x81,0xB9,0xB9,0x81,0x81,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFF,0x01,0xBF,0x02,0x02,0x12,0x02,0x11,0x00,0xF1,0x43,0x42,0x42,0x7E,0x00,0xF8,
0x04,0x04,0x64,0x04,0x04,0x64,0x04,0xE4,0xE4,0x84,0xC4,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0xA0,0xA0,0xBE,0x20,0xA2,0xA0,0x20,0x1C,0x30,0x40,0x43,0x3D,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x19,0x26,0x22,0x11,0x0A,0x04,0x07,0x09,0x91,0xA2,0x24,0x28,0x1C,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xC0,0x3F,0x01,0x01,0x3E,0x02,0x32,0x02,0x02,0x0E,0x06,0x21,0x33,0x2E,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,
0x20,0x3F,0x01,0x01,0x51,0x92,0x8C,0x08,0x04,0x22,0x21,0x51,0x89,0x06,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //over
#include <stdlib.h>
#define peng PINA.4
#define fengming PORTA.5
flash unsigned char SOUNDLONG[]=
{
14,5,18,18,18,36,
14,5,18,18,18,36,
14,5,18,18,18,18,18,
14,5,18,18,18,36,
0, //
18,18,18,18,18,
18,18,18,18,18,
18,18,18,18,18,
0 //
};
flash unsigned char SOUNDTONE[]=
{
141,141,127,141,106,113,
141,141,127,141,95,106,
141,141,71,84,106,113,127,
79,79,84,106,95,106,
0, //
141,127,113,106,95,
84,79,71,79,84,
95,106,113,127,141,
0 //
};
int randx,randy;
long int i,j,delay;
int hit;
int flag;
unsigned char checkinterrupt( Uchar x, Uchar y)
{
delay_ms(5);
if (peng==0)
{
Yaddress=TouchReadAddress(0xdc);
Xaddress=TouchReadAddress(0x9c);
Xaddress=Xaddress*14/10-15;
Yaddress=Yaddress*24/21-21;
if(Xaddress>=320) Xaddress=319;
if(Yaddress>=240) Yaddress=239;
if(Xaddress<0) Xaddress=0;
if(Yaddress<0) Yaddress=0;
if (Xaddress>=x*80&&Xaddress<=(x+1)*80&&Yaddress>=80*y&&Yaddress<=80*(y+1))
{
fengming=0;
delay_ms(1);
fengming=1;
delay_ms(1);
fengming=0;
return 1;
}
}
else
return 0;
}
void Music(unsigned char number)
{
unsigned int k,n;
unsigned int SoundLong,SoundTone;
unsigned int ii=0,jj=0,m;
for(k=0;k<number-1;k++)
{
while(SOUNDLONG[ii] !=0){ii++;}
ii++;
if(ii>=43) ii=0;
}
for(k=0;k<number-1;k++)
{
while(SOUNDTONE[jj] !=0){jj++;}
jj++;
if(jj>=43) jj=0;
}
do
{
if (ii>=43) ii=0;
if (jj>=43) jj=0;
SoundLong=SOUNDLONG[ii];
SoundTone=SOUNDTONE[jj];
ii++;
jj++;
for(n=0;n<SoundLong;n++)
{
for(k=0;k<18;k++)
{
PORTA.5=0;
for(m=0;m<SoundTone/2;m++)
;
PORTA.5=1;
for(m=0;m<SoundTone/2;m++)
;
}
}
delay_us(300);
}while((SOUNDLONG[ii] !=0) || (SOUNDTONE[jj] !=0));
PORTA.5=0;
}
void main(void)
{
PORTA=0x10;
DDRA=0x2d;
PORTC=0x00;
DDRC=0xff;
PORTD=0x00;
DDRD=0xff;
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: Off
// INT2: Off
GICR|=0x40;
MCUCR=0x02;
MCUCSR=0x00;
GIFR=0x40;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 8000.000 kHz
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x01;
TCNT0=0x00;
OCR0=0x00;
// Global enable interrupts
#asm("sei")
LcmInition();
disp_clear(0x00);
sed1335_Dispon(0b01010100);
delay=100000;
fengming=0;
while (1)
{
flag=0;
disp_word( 1, 1, pic , 0);//显示开始图像
disp_word( 2, 1, pic , 1);
while((checkinterrupt(1,1))) //点击开始
{
disp_clear(0x00);
while(1)
{
hit=0;
for(j=0;j<10;j++)
{
srand(TCNT0); //产生随机数
randx=rand()%4;
srand(TCNT0); //产生随机数
randy=rand()%3;
disp_word( randx, randy, pic , 1);
for(i=0;i<delay;i++)
{
if (peng==0)
if(checkinterrupt(randx,randy))
{
hit++;
//disp_clear(0x00);
disp_word(randx,randy,pic,2);
delay_ms(100);
disp_clear(0x00);
break;
}
}
disp_clear(0x00);
}
if(hit>8)
{
disp_word( 1, 1, pic , 3);delay-=20000;
Music(2);
while(!(checkinterrupt(1,1)));
disp_clear(0x00);
}
else {disp_word( 1, 1, pic , 4);Music(1);while(!(checkinterrupt(1,1)));disp_clear(0x00);flag=1;delay=100000;break;}
}
if(flag) break;
}
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -