امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
7-seg
نویسنده پیام
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #23
RE: 7-seg
اگر مقادیر روی 7SEG اشتباه نشون داده می شه یا درست اسکن نمی شه، بخاطر اینه که برنامه تون رو بد نوشتید.
بویژه تاخیر های 200ms ایه مکرر که تو برنامه نوشتید، طبیعتا این روش اسکن 7seg رو خراب می کنه ، حداقل در 1 ثانیه 24 بار هر 7seg باید اسکن بشه. تو کد شما 3 تا 7seg فکر کنم در ثانیه رو هم 5 بار هم مقدار دهی و رفرش نمی شن!

۱۷-اردیبهشت-۱۳۹۴, ۰۹:۰۶:۰۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hosseinip, milad15m
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #24
RE: 7-seg
سلام
من ه چی تابع بود همراه با delay ها پاک کردم وفقط delay های مربوط به 7seg گذاشتم که جمعا به 15 میلی میشه
ولی باز همون مشکلو داره
من فکر می کنم هر چی هست مشکل از
مقدار دما خونده است
کد php:
while (1)
      {
      
        
t1=ds18b20_temperature(&rom_codes[0][0]);
        
t2=ds18b20_temperature(&rom_codes[1][0]);
        
t3=ds18b20_temperature(&rom_codes[2][0]);
        
t4=ds18b20_temperature(&rom_codes[3][0]);
        
s=t1+t2+t3+t4;
        
m=(s/4);

      
n1=(unsigned char)(m/100);
      
n2=(unsigned char)((m/10)-(n1*10));
      
n3=(unsigned char)(m-((n1*100)+(n2*10))); 
      
      
PORTD=digit[n3];
      
PORTC.5=1
      
PORTC.6=0;
      
PORTC.7=0
      
delay_ms(5);
      
PORTD=digit[n2];
      
PORTC.5=0
      
PORTC.6=1;
      
PORTC.7=0
      
delay_ms(5); 
      
PORTD=digit[n1];
      
PORTC.5=0
      
PORTC.6=0;
      
PORTC.7=1
      
delay_ms(5);

      } 

"... the quieter you become the more you are able hear "
۱۷-اردیبهشت-۱۳۹۴, ۲۰:۰۱:۴۷
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #25
RE: 7-seg
هر کدوم از تابع های مربوط به خوندن دما چه مدت زمان طول می کشه؟ توی اون هم حتما دستور delay داری.نه؟
مشکل رو هم نگفتی که دقیقا بدونم در خروجی چی می بینی ... ؟
راه حل هم حذف کردن delay ها نیست!
باید روش اسکن رو تغییر بدید به روش وقفه ای ...

موفق باشید.

۱۷-اردیبهشت-۱۳۹۴, ۲۲:۰۱:۴۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hosseinip
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #26
RE: 7-seg
سلام
با IC 7448 کار کردید میشه توضیح بدید چطوری باید تو برنامه این چهار بیت اسکن کنم ؟

"... the quieter you become the more you are able hear "
۱۸-اردیبهشت-۱۳۹۴, ۲۳:۵۶:۳۴
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #27
RE: 7-seg
سلام.
اگر در پایه های میکرو محدودیت داشتید باید از این IC ها استفاده کنید. ورودی BCD می گیرهه روی 4 خط و خودش تبدیل می کنه به اطلاعات مد نظر 7seg .
روش رفرش کردن 7seg باز هم گردن میکرو هست و تفاوتی ندارهه ... .

موفق باشید

۱۹-اردیبهشت-۱۳۹۴, ۱۰:۴۴:۴۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hosseinip
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #28
RE: 7-seg
یعنی چطور میشه تو کد برنامه برای پورت ها به جایی 7بیت چهار بیت تعریف کنیم
اگه میشه بیشتر توضیح بدید

"... the quieter you become the more you are able hear "
۱۹-اردیبهشت-۱۳۹۴, ۱۶:۴۶:۲۹
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #29
RE: 7-seg
نمونه پروژه با این نمونه IC ها تو سایت هست.
شما مقدار BCD روی 4 خط می ذارید و معادلش برای 7seg روی 7-8 پایه ی خروجی تولید می شه.
BCD یا binary coded decimal
0001 می شه 1 دسیمال
0010 می شه 2
0011 می شه 3
.
.
.
1001 می شه 9

موفق باشید.

۱۹-اردیبهشت-۱۳۹۴, ۱۸:۲۳:۰۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hosseinip
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #30
RE: 7-seg
(۱۷-اردیبهشت-۱۳۹۴, ۲۲:۰۱:۴۶)sharin نوشته است: هر کدوم از تابع های مربوط به خوندن دما چه مدت زمان طول می کشه؟ توی اون هم حتما دستور delay داری.نه؟
مشکل رو هم نگفتی که دقیقا بدونم در خروجی چی می بینی ... ؟
راه حل هم حذف کردن delay ها نیست!
باید روش اسکن رو تغییر بدید به روش وقفه ای ...

موفق باشید.

دقیقا نمی دونم چه مدت زمان طول می کشه
دما رو درست نمایش میده ولی مشکلش اینه که عدد یکان و دهگانش پشت سر هم چشمک میزنه و صدگانش مشکلی نداره ثابت

من فکر میکنم مشکل از تابع مربوط به سنسور
ولی چه ربطی داره چرا یک رقم شو درست
نمایش میده؟؟؟؟؟؟

"... the quieter you become the more you are able hear "
(آخرین ویرایش در این ارسال: ۲۰-اردیبهشت-۱۳۹۴, ۰۱:۳۱:۳۱، توسط hosseinip.)
۲۰-اردیبهشت-۱۳۹۴, ۰۰:۳۸:۵۹
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #31
RE: 7-seg
سرعت چشمک زدن یکان نسبت به دهگان هم متفاوته؟ یا با یه سرعت چشمک می زنن؟
یا چون رقم صدگان تغییرات مقدارش کمه چشمک تو دید نمی زنه.
یا به دلیل دستورات قبل و تاخیرهایی که ایجاد می کنن ، رقم صدگان مدت زمان بیشتری نسبت به بقیه روشن هست.
کلا سرعت رفرش درست بشه این قضیه حل می شه.

۲۰-اردیبهشت-۱۳۹۴, ۰۸:۱۳:۴۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hosseinip
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #32
RE: 7-seg
سرعت چشمک زدن یکان و دهگان برابر
درست منم فکر میکنم رقم صدگان تغییر مقدارش کمه چشمک دیده نمیشه
ولی تو بر نامه همه به یک اندازه تاخیر دارند
بنظر شما سرعت رفرش چطور حل میشه
من بازم فکر میکنم همه چیز زیر سر تابع سنسور ds18b20 است چون همین پروژه با سنسور lm35 استفاده کردم مشکلی نداشت
بنظر شما راحل چیه؟

"... the quieter you become the more you are able hear "
(آخرین ویرایش در این ارسال: ۲۰-اردیبهشت-۱۳۹۴, ۱۱:۰۷:۵۵، توسط hosseinip.)
۲۰-اردیبهشت-۱۳۹۴, ۱۱:۰۰:۵۸
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #33
RE: 7-seg
البته اون تابع هم مشکل ندارهه ، مشکل سبک رفرش کردن 7seg هست. چند پست قبل گفتم باید از روش وقفه ای استفاده کنید ، یعنی باید یه تایمر راه بندازید که در فاصله زمانی ثابت به وقفه برهه و مقدار 7seg ها رو اعمال کنه...
البته باید هوشمندانه انجام بدید که تایمینگ توابع خوندن سنسور دما به هم نریزهه...

موفق باشید.

۲۰-اردیبهشت-۱۳۹۴, ۱۲:۰۴:۵۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hosseinip


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS