bobdxcool
Member level 5
- Joined
- Mar 9, 2012
- Messages
- 82
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
- 2,042
this is the circuit i'm planing to use to generate some msic using 8051..
pls tell me whether any other modifications are needed?
this is the program written!
pls tell me whether any other modifications are needed?
this is the program written!
Code C - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 #include<reg51.h> sbit out=P1^0; //output pin 1 void delay(unsigned char p,unsigned char q) { TMOD=0x01; //timer0 mode1(16 bit) TL0=q; //load TL0 TH0=p; //load TH0 TR0=1; //turn on T0 while(TF0==0); // wait for flag generation TR0=0; // turn off T0 TF0=0; // clear TF0 } void play(unsigned char j,unsigned char k) { int i; for(i=0;i<1000;i++) //to play sound { out=1; delay(j,k); out=0; delay(j,k); } } void main() { int l; while(1) { play(0xfc,0x66); //playing sound of frequency of about 500 hertz with a delay between two frequencies for(l=0;l<5;l++) { delay(0x00,0x00); //delay of 71 miliseconds } play(0xfe,0x33); //playing sound of frequency of about 1000 hertz with a delay between two frequencies for(l=0;l<5;l++) { delay(0x00,0x00); } play(0xff,0xa3); //playing sound of frequency of about 5000 hertz with a delay between two frequencies for(l=0;l<5;l++) { delay(0x00,0x00); } play(0xff,0xd1); //playing sound of frequency of about 10000 hertz with a delay between two frequencies for(l=0;l<5;l++) { delay(0x00,0x00); } play(0xff,0xdc); //playing sound of frequency of about 13000 hertz with a delay between two frequencies for(l=0;l<5;l++) { delay(0x00,0x00); } play(0xff,0xcc); //playing sound of frequency of about 9300 hertz with a delay between two frequencies for(l=0;l<5;l++) { delay(0x00,0x00); } play(0xff,0xe8); //playing sound of frequency of about 20000 hertz with a delay between two frequencies for(l=0;l<5;l++) { delay(0x00,0x00); } } }
Last edited by a moderator: