- This topic has 3 replies, 3 voices, and was last updated 11 years, 9 months ago by .
Viewing 4 posts - 1 through 4 (of 4 total)
Viewing 4 posts - 1 through 4 (of 4 total)
- You must be logged in to reply to this topic.
|
Microcontroller › 8051 › how to convert the program to generate sound using micro controller 8051 into hex code??
// Program to generate different sounds using micro controller
#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);
}
}
}
Which compiler are you using?
In Keil C51, ‘Target’ options will allow you to create a .hex file when compiling the code.
On the left side, right-click ‘Target’ and select ‘Target options’ —- then click ‘Output’ tab and tick’ create HEX file’.
hi;
In Keil u-vision,right click on ‘Target’ and options for target will allow you to create a .hex file in the output window.
You should use a programmer or a burner to burn this hex code into the microcontroller.
thank you so much for all your replies….