ماقصدته اخى حيدر هو على اية مايكرو يحب ان نعمل البرنامج هذا ماقصدته
كتبت البرنامج ولاكن برنامج بروتيوس ليست دقيقة جدا مع الترددات
كود:
#define is ==
#define pressed 0
#define sw1 porta.f0
#define sw1_dir trisa.f0
/*******************************************/
char x=0;
void init()
{
cmcon=7;
trisa=1;
trisb=0;
portb=0;
porta=0;
}
void ten();
void twenty();
void fiftey();
/*******************************************/
void main()
{
init();
porta=64;
while(1)
{
if(sw1 is pressed){delay_ms(10);
while(sw1 is pressed );
delay_ms(10);
x++;
if(x is 4){x=0;porta=64;}
}
if(x is 1)ten();
if(x is 2 )twenty();
if(x is 3)fiftey();
}
}
/*******************************************/
void ten()
{ //10KHZ
while(1)
{porta=2;
portb=1; delay_us(25);
portb=0;delay_us(25);
if(sw1 is pressed) return;
}
}
/*******************************************/
void twenty()
{ //20KHZ
while(1)
{ porta=4;
portb=1; delay_us(25);
portb=0; delay_us(25);
if(sw1 is pressed) return;
}
}
/*******************************************/
void fiftey() //50KHZ
{ while(1)
{ porta=128;
portb=1; delay_us(10);
portb=0; delay_us(10);
if(sw1 is pressed )return;
}
}
/*******************************************/
سارفع لك الملف بعد قليل
|
شكرا جزيلا لك اخي الكريم ولكن هل من شرح للكود؟