ايران ويج

نسخه‌ی کامل: درخواست تایمر برای چاپ سیلک
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
مهندس دستور DO رو سه خط بالاتر بنویس تا مشکلت حل بشه !


کد php:
Dim Dahgan As Byte

DO

Portb.0 Yekan.0 Portb.1 Yekan.1 Portb.2 Yekan.2 Portb.3 Yekan.3
Portb.7 
Dahgan.0 Portb.6 Dahgan.1 Portb.5 Dahgan.2 Portb.4 Dahgan.3

Incr A
Dahgan 
10 
واقعا" بابت جوابتون ممنونم

اما حالا اگه اجازه بدين بريم سراغ قسمت شستي هاي تنظيمات ... با اجازه همه ... 
براي سخت افزار شستي هاي تنظيمات سه تا شستي رو بصورت Pull UP شده به 3تا از پايه هاي ميکرو وصل مي کنيم

حالا ميخوايم روي برنامه عملکرد اين 3تا شستي کار کنيم :
خب ابتدا بايد هر 3تا رو با دستور Debounce توي حلقه قرار بديم و به ازاي هر کدوم يه زير برنامه تعريف کنيم ( درسته؟)
- حالا ميخايم اگه (+) رو فشار داديم اول يه واحد به عدد نمايشگر اضافه بشه و بعد از نمايش بلافاصله در حافظه EEPROM ذخيره بشه و بعد برگرده به حلقه.
- اگه (-) فشرده شده بود بره يه واحد از عدد نمايشگر کم کنه و بعد از نمايش بلافاصله در حافظه EEPROM ذخيره کنه و بعد برگرده به حلقه.
- اگه (SET ) فشرده شده بود بره و از اول برنامه شروع کنه به خواندن ( پرش به تابع Main )

اگه امکانش هست يه مثال از اين برنامه رو برام بذارين .... با تشکر از همگي
( اما يه سوال : اگه قرار باشه وقتي کليد رو فشرده نگه داشتيم عدد مدام زياد بشه بايد چکار کرد؟ )
( منظور از اين دستور دقيقا" چيه ؟ Ddra.0 = 0 : Porta.0 = 1 )

[code]$regfile = "M32def.dat"
$crystal = 8000000
Dim T As Byte
Dim X As Eram Byte At 10


Ddra.0 = 0 : Porta.0 = 1




Main:
Readeeprom T , 10

Set Porta.6
.
.
.


'------------------------------------------------------------------------------
Setting:


Do
Debounce Pina.0 , 0 , Restart , Sub
Debounce Pina.1 , 0 , Increment , Sub
Debounce Pina.2 , 0 , Decrement , Sub
Loop

End

'------------------------------------------------------------------------------
Increment:


Incr T

Writeeeprom T , 10
Waitms 4

Return

'------------------------------------------------------------------------------
Decrement:


Decr T

Writeeeprom T , 10
Waitms 4

Return
'------------------------------------------------------------------------------
کد php:
Ddra.0 
پایه فوق رو وردی تعریف می کنه

کد php:
Porta.0 
اگه پایه فوق خروجی باشه که خوب خروجیشو یک می کنه !
ولی اگه ورودی باشه پول آپش فعال می شه !!!!


پیشنهاد می کنم با دستور Writeeeprom کار نکنین و یه متغییر تو EEPROM بگیرین و مقادیرو بریزین تو اون !!!


مهندس بالایی نوشته است:اگه قرار باشه وقتي کليد رو فشرده نگه داشتيم عدد مدام زياد بشه بايد چکار کرد؟
خوب اون پایه رو دوباره چک کن و ببین اگه یک هستش هنوز خوب بشمره و اینو ادامه بده تا زمانی که پایه فوق صفر بشه !!!

مثلا برنامه زیر واسه کم و زیاد کردن متغیر MM هستش که فرضا قراره داخلش دقیقه ذحیره شه و این قضیه بالا هم رعایت شده !!!!

کد php:
Do
         
Debounce Pind.0 Ss
         Debounce Pind.1 
Mm1
         Debounce Pind.2 
Mm2
Loop
Mm1
:
         
Incr Mm : If Mm 59 Then Mm 0
            Gosub Showmm
         
For 0 To Tt
            
If Pind.1 0 Then Goto Mm
            Waitms 4
         Next
         Ft 
1
         
Do
            
Gosub Showmm
            
For 0 To Tt
               
If Pind.1 0 Then Goto Mm
               Waitms 1
            Next
            Incr Mm 
: If Mm 59 Then Mm 0
            Gosub Showmm
         Loop
Mm2
:
         
Decr Mm : If Mm 59 Then Mm 59
            Gosub Showmm
         
For 0 To Tt
            
If Pind.2 0 Then Goto Mm
            Waitms 4
         Next
         Ft 
1
         
Do
            
Gosub Showmm
            
For 0 To Tt
               
If Pind.2 0 Then Goto Mm
               Waitms 1
            Next
            Decr Mm 
: If Mm 59 Then Mm 59
            Gosub Showmm
         Loop


Ss
:
         
Emm Mm 

که خوب متغیر EMM از نوع EEPROM هستش :

کد php:
Dim Emm As Eram Byte 
با سلام مجدد خدمت همه ی دوستان

( جدیدا"یه موضوعی پیش اومده در مورد منبع تغذیه مدار ... ! )

ببینید نقشه ای که گذاشتم بهم 16 ولت میده اما نمیدونم از نظر جریان دهی جوابگوی مدار هست یا نه ... ؟
( البته من توی خروجیش یه 7805 میذارم تا ازش 5 ولت بگیرم )

لیست مصرف کننده های مدار به صورت زیر هستش :
- خمد میکرو کنترلر
- سه تا رله که توسط یه ULN2003 درایو شدن ( رله ها 5 ولت هستن )
- 3تا دیود نوری (LED) که با مقاومت به میکرو وصل شدن
- 3تا میکروسوئیچ که به وقفه وصل هستن بعنوان ورودی
- سه تا شستی برای تنظیمات که Pullup شدن

حالا میشه بگین این مدار تغذیه جوابگو هستش یا نه ؟؟؟
جواب نمی ده !

یه شارژر موبایل بذار !

کوچیک و ارزون !
صفحه‌ها: 1 2