عندي اشارة ب 5 هيرتز و الamplitude بتاعها 1 فولت اي peak to peak ب 2
وهذا حصلت علية لكن انت بتقول نخزن max الاول قبل مانصفر !!
ياليت تشوف الكود وهنا حصلت على نفس القيمة لدورتيين لان الاشارة متساوية في amplitude . نريد عملها على اشارة اخرى يكون max تبعها مختلف
الكود
كود:
sbit LCD_RS at Rd2_bit;
sbit LCD_EN at Rd3_bit;
sbit LCD_D4 at Rd4_bit;
sbit LCD_D5 at Rd5_bit;
sbit LCD_D6 at Rd6_bit;
sbit LCD_D7 at Rd7_bit;
sbit LCD_RS_Direction at TRISd2_bit;
sbit LCD_EN_Direction at TRISd3_bit;
sbit LCD_D4_Direction at TRISd4_bit;
sbit LCD_D5_Direction at TRISd5_bit;
sbit LCD_D6_Direction at TRISd6_bit;
sbit LCD_D7_Direction at TRISd7_bit;
char txt[12];
char k[12];
float current=0, current1=1023;
int i=0;
void main()
{
trisa=1;trisb=0;trisc=0;
lcd_init();
lcd_cmd(_LCD_CURSOR_OFF);
while(1)
{
if(current<adc_read(0))current=adc_read(0);
FloatToStr(((current/100)),txt);
lcd_out(1,1,txt);
i++;
delay_us(10);
if(i>20000){i=0;current=0;}
if(current<adc_read(0))current=adc_read(0);
FloatToStr(((current/100)),k);
lcd_out(2,1,k);
}
}