|
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
|
|
نشاط [ مشتاق الله ]
قوة السمعة:
|
|
11-11-2015, 10:29 PM
المشاركة 10
|
|
ممكن ادخل في الفكرة الظريفة
السلام عليكم و رحمة الله و بركاته
تصميم م/ حيدر - جميل و بسيط جزاه الله خيرا . منكم نتعلم
كان قال حضرته انه متبقي فيه تحويل لقيمة عشرية لاظهارها علي الشاشة .
بعد اذنه بحمد الله تم اضافة القيمة العشرية على نفس كود م/ حيدر .
و الكود بعد الاضافه :
كود:
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 i[8];
int value=0 ; float analog ;
void main()
{trisb=0;portb=0;
lcd_init();
lcd_cmd(_LCD_CURSOR_OFF);
while(1)
{value=adc_read(0);
analog= value*5.0/256 ;
// analog=value*4.0 ;
value=analog ;
lcd_chr(1,3,(value/10)+48); lcd_chr(1,4,(value%10)+48); lcd_chr(1,5,',');
value=analog*100-value*100 ;
lcd_chr(1,6,(value/10)+48); lcd_chr(1,7,(value%10)+48);
lcd_out(1,12,"V");
if(analog>14)portb=1;
else if(analog>=13.5)portb=2;
else portb=4;
}
}
ملحوظة : قيم المقاومات 1 و 3 ك اوم اعتقد انها لازم تكون دقيقة جدا والا القراءة ستكون غير صحيحة , و التغير عبارة عن 0.5 فولت يعني صغير , لذا انصح باستخدام مقاومتين متغيرتين و ضبط احدهما على 1 ك و الاخري علي 3 ك بالافوميتر بالضبط .
و جزاكم الله جميعا خيرا .
|