试试这个
下载时选择时钟12M
- #include <AI8G.H>
- #define OUT P32
-
- unsigned int p;
-
- unsigned int code A[84]=
- {
- 0xC447, 0xC7A1, 0xCACB, 0xCDC8, 0xD099, 0xD342, 0xD5C5, 0xD824, 0xDA61, 0xDC7D, 0xDE7B, 0xE05D,
- 0xE223, 0xE3D1, 0xE566, 0xE6E4, 0xE84D, 0xE9A1, 0xEAE3, 0xEC12, 0xED30, 0xEE3F, 0xEF3E, 0xF02E,
- 0xF112, 0xF1E8, 0xF2B3, 0xF372, 0xF426, 0xF4D1, 0xF571, 0xF609, 0xF698, 0xF71F, 0xF79F, 0xF817,
- 0xF889, 0xF8F4, 0xF959, 0xF9B9, 0xFA13, 0xFA68, 0xFAB9, 0xFB04, 0xFB4C, 0xFB90, 0xFBCF, 0xFC0C,
- 0xFC44, 0xFC7A, 0xFCAD, 0xFCDC, 0xFD0A, 0xFD34, 0xFD5C, 0xFD82, 0xFDA6, 0xFDC8, 0xFDE8, 0xFE06,
- 0xFE22, 0xFE3D, 0xFE56, 0xFE6E, 0xFE85, 0xFE9A, 0xFEAE, 0xFEC1, 0xFED3, 0xFEE4, 0xFEF4, 0xFF03,
- 0xFF11, 0xFF1F, 0xFF2B, 0xFF37, 0xFF42, 0xFF4D, 0xFF57, 0xFF61, 0xFF6A, 0xFF72, 0xFF7A, 0xFF81,
- };
-
- unsigned char code C[][3]=
- {
- 3,1,8,3,4,8,3,6,8,7,12,16,3,4,8,3,6,8,7,12,16,3,4,8,3,6,8,3,9,8,3,4,8,3,6,8,3,1,8,7,12,8,
- 3,1,8,3,4,8,3,6,8,7,12,16,3,4,8,3,6,8,7,12,16,3,4,8,3,6,8,4,0,8,3,9,8,3,11,8,3,6,8,7,12,8,
- 3,1,8,3,4,8,3,6,8,7,12,16,3,4,8,3,6,8,7,12,16,3,4,8,3,6,8,3,9,8,3,4,8,3,6,8,3,1,8,3,4,8,2,9,8,2,11,8,
- 3,1,16,3,9,16,3,6,16,4,0,16,3,11,8,4,0,4,3,11,4,3,9,8,3,11,8,3,6,8,7,12,24,
- 3,6,16,3,6,16,3,6,16,3,6,4,3,9,4,3,11,4,4,0,4,3,6,16,3,6,16,3,6,8,3,4,8,3,4,8,3,6,8,
- 3,6,16,3,6,16,3,6,16,3,6,4,3,9,4,3,11,4,4,0,4,3,6,16,3,6,16,3,6,8,4,2,16,4,0,8,
- 3,6,16,3,6,16,3,6,16,3,6,4,3,9,4,3,11,4,4,0,4,3,6,16,3,6,16,3,6,8,3,4,8,3,4,8,3,6,8,
- 3,6,16,3,6,16,3,6,16,3,6,4,3,9,4,3,11,4,4,0,4,4,6,16,3,6,8,3,4,8,3,4,8,3,6,8,3,6,8,7,12,32,
- 3,6,8,3,6,8,3,4,4,3,4,8,7,12,4,3,6,8,3,4,8,3,1,8,3,1,8,3,4,4,3,1,28,7,12,32,
- 3,6,8,3,6,8,3,4,8,3,6,8,3,8,8,3,9,16,3,8,16,3,6,8,3,8,4,3,6,4,3,4,16,7,12,24,
- 3,6,8,3,6,8,3,4,4,3,4,8,7,12,4,3,6,8,3,4,8,3,1,8,3,1,8,3,4,4,3,1,16,7,12,12,
- 3,4,8,3,4,8,3,6,8,7,12,8,3,4,8,3,4,8,3,6,8,7,12,8,3,4,4,3,6,4,3,9,16,3,11,16,3,6,8,3,1,8,3,1,8,3,4,8,3,4,8,3,6,16,4,0,8,3,11,24,3,6,8,7,12,8,3,6,8,7,12,8,4,0,8,3,11,24,7,12,16,
- 3,11,8,3,11,8,3,10,8,3,11,8,3,10,4,3,6,8,7,12,4,3,4,8,7,12,8,3,4,8,3,4,8,3,6,8,3,6,8,3,1,8,3,1,8,3,4,8,3,4,8,3,6,16,4,0,8,3,11,24,3,6,8,7,12,8,3,6,8,7,12,8,4,0,8,3,11,24,7,12,16,
- 3,11,8,3,11,8,3,10,8,3,11,8,3,10,4,3,6,8,7,12,4,3,4,16,3,6,8,3,6,8,3,4,8,3,6,16,7,12,8,3,1,4,3,4,4,3,6,8,3,6,8,3,6,8,4,0,8,4,0,8,7,12,16,
- 3,9,4,3,9,4,3,11,8,3,9,4,3,11,12,4,0,8,3,6,8,7,12,16,
- 3,4,4,3,4,4,3,6,16,4,0,12,4,0,4,3,11,8,3,9,8,3,6,8,3,4,8,3,6,12,3,6,12,3,9,8,3,11,16,7,12,16,
- 3,6,8,3,6,4,3,6,12,3,4,8,3,6,8,4,0,16,3,9,4,3,9,4,3,11,8,3,9,4,3,11,12,4,0,8,4,0,8,7,12,16,
- 3,4,8,3,6,8,3,9,8,7,12,8,3,4,8,3,6,8,4,0,8,7,12,8,3,11,8,3,9,8,3,8,8,3,6,8,3,4,8,3,6,24,7,12,8,
- 3,6,16,3,6,16,3,6,16,3,6,4,3,9,4,3,11,4,4,0,4,3,6,16,3,6,16,3,6,8,3,4,8,3,4,8,3,6,8,
- 3,6,16,3,6,16,3,6,16,3,6,4,3,9,4,3,11,4,4,0,4,3,6,16,3,6,16,3,6,8,4,2,16,4,0,8,
- 3,6,16,3,6,16,3,6,16,3,6,4,3,9,4,3,11,4,4,0,4,3,6,16,3,6,16,3,6,8,3,4,8,3,4,8,3,6,8,
- 3,6,16,3,6,16,3,6,16,3,6,4,3,9,4,3,11,4,4,0,4,4,6,16,3,6,8,3,4,8,3,4,8,3,6,8,3,6,8,7,12,32,
- 3,6,8,3,6,8,3,4,4,3,4,8,7,12,4,3,6,8,3,4,8,3,1,8,3,1,8,3,4,4,3,1,28,7,12,32,
- 3,6,8,3,6,8,3,4,8,3,6,8,3,8,8,3,9,16,3,8,16,3,6,8,3,8,4,3,6,4,3,4,16,7,12,24,
- 3,6,8,3,6,8,3,4,4,3,4,8,7,12,4,3,6,8,3,4,8,3,1,8,3,1,8,3,4,4,3,1,16,7,12,12,
- 3,4,8,3,4,8,3,6,8,7,12,8,3,4,8,3,4,8,3,6,8,7,12,8,3,4,4,3,6,4,3,9,16,3,11,16,3,6,8,3,1,8,3,1,8,3,4,8,3,4,8,3,6,16,4,0,8,3,11,24,3,6,8,7,12,8,3,6,8,7,12,8,4,0,8,3,11,24,7,12,16,
- 3,11,8,3,11,8,3,10,8,3,11,8,3,10,4,3,6,8,7,12,4,3,4,8,7,12,8,3,4,8,3,4,8,3,6,8,3,6,8,3,1,8,3,1,8,3,4,8,3,4,8,3,6,16,4,0,8,3,11,24,3,6,8,7,12,8,3,6,8,7,12,8,4,0,8,3,11,24,7,12,16,
- 3,11,8,3,11,8,3,10,8,3,11,8,3,10,4,3,6,8,7,12,4,3,4,16,3,6,8,3,6,8,3,4,8,3,6,16,7,12,8,3,1,4,3,4,4,3,6,8,3,6,8,3,6,8,4,0,8,4,0,8,7,12,16,
- 3,9,4,3,9,4,3,11,8,3,9,4,3,11,12,4,0,8,3,6,8,7,12,16,
- 3,4,4,3,4,4,3,6,16,4,0,12,4,0,4,3,11,8,3,9,8,3,6,8,3,4,8,3,6,12,3,6,12,3,9,8,3,11,16,7,12,16,
- 3,6,8,3,6,4,3,6,12,3,4,8,3,6,8,4,0,16,3,9,4,3,9,4,3,11,8,3,9,4,3,11,12,4,0,8,4,0,8,7,12,16,
- 3,4,8,3,6,8,3,9,8,7,12,8,3,4,8,3,6,8,4,0,8,7,12,8,3,11,8,3,9,8,3,8,8,3,6,8,3,4,8,3,6,24,7,12,8,
- 7,12,64
- };
-
- void Init(void)
- {
- P3M0=0x00;
- P3M1=0x00;
- P5M0=0x00;
- P5M1=0x00;
- AUXR&=0x7F;
- TMOD&=0xF0;
- AUXR&=0xBF;
- TMOD&=0x0F;
- ET0=1;
- ET1=1;
- EA=1;
- TH1=0x91;
- TL1=0x2E;
- TR1=1;
- }
-
- void main(void)
- {
- Init();
- while(1)
- {
-
- }
- }
-
- void Timer0_Isr(void) interrupt 1
- {
- OUT=!OUT;
- }
-
- void Timer1_Isr(void) interrupt 3
- {
- static unsigned char d,t;
- if(d==1)
- {
- d=0;
- if((C[P][0]<7||C[P][1]<12)&&t!=C[p][2]-1)
- {
- TH0=A[C[p][0]*12+C[p][1]]>>8;
- TL0=A[C[p][0]*12+C[p][1]]&0xFF;
- TR0=1;
- }
- else
- {
- TH0=0;
- TL0=0;
- TR0=0;
- OUT=1;
- }
- t++;
- if(t==C[p][2])
- {
- t=0;
- p++;
- if(P==sizeof(C)/3)
- p=0;
- }
- }
- d++;
- }
复制代码
|