اين اختيار صفحه ي اصلي را همانند اول خواهد كرد ، تمام ابزارك ها و تنظيمات به حالت اول باز خواهند گشت.

ريست

تالار گفتمان | RTC ساعت

شما باید برای پست دادن وارد شوید ورود ثبت نام

جستجوی فروم ها:


 






RTC ساعت

پست
عضو

saied20

2:27 ق.ظ ژانویه ۲۲, ۲۰۱۰

پست ها :۵۲

سلام من یک برنامه ساده ساعت دارم

که به صورت زیر نوشته شده است

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

$

$

regfile = "M8DEF.DAT"crystal = 8000000

 

Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7

= _

Pinc.5 , E = Pinc.1 , Rs = Pinc.0

Config Lcd = 16 * 2

Enable Interrupts

Config Clock = Soft

Time$ = "02:50:00

 

 

"

Do

Locate 1 , 1

Lcd Time

$

Loop

 

End

 

ادمین

مدیر

۱۰:۱۴ ب.ظ ژانویه ۲۳, ۲۰۱۰

پست ها :۳۷۸

سلام در قدم اول شما باید به نحوی مقادیر زمان را تنظیم کنید که میتوانید با تعریف مثلا ۳ کلید این کار را انجام بدین

۲ تا از کلید ها وظیفه کاهش یا افزایش زمان را داشته باشد و کلید آخری وظیفه انتخاب هر کدام از زمان ها که ساعت و دقیقه و ثانیه باشد


حالا بعد از تنظیم کلید ها باید به نحوی به مقادیر دسترسی داشته باشین

در کد زیر مقادیر برای ساعت و دقیقه وساعت تعیین شده است


_sec = 12 : _min = 30 : _hour = 18   


و بعد با استفاده از دستور


lcd  Time$

مقدار تنظیم شده را نمایش بدین

این اساس کار بود بقیه کار های جانبی میمونه واسه تنظیم مقادیر و..

اگه مشکلی بود مطرح کنید Smile


عیب کار اینجاست که من آنچه هستم را با آنچه باید باشم اشتباه می کنم،خیال می کنم آنچه باید باشم هستم،در حالیکه آنچه هستم نباید باشم الهی و ربی

عضو

shahrokh_majno

1:39 ق.ظ ژانویه ۲۷, ۲۰۱۰

پست ها :۵

سلام این می شه:

$regfile = "m16def.dat"
$crystal = 8000000
Cursor Off
Enable Interrupts
Dim A As Single , B As Single , C As Single
Config Clock = Soft
_sec = 58 : _min = 59 : _hour = 23
Do
Locate 1 , 5
Lcd Time$
If Pinb.1 = 1 Then Gosub Mi
If Pinb.2 = 1 Then Gosub Hour
If _hour = 24 Then _hour = 00
Loop
End
Mi:
_min = A
A = A + .1
_min = A
If _min >= 60 Then A = 00
_min = A
Return
Hour:
_hour = B
B = B + .1
_hour = B
If _hour >= 24 Then B = 00
_hour = B
Return

برای زیاد کردن از پین a.1 و A.2 استفاده شده
یادت باشه اون ۱٫ است , نه ۱
اگر ۱ بذاری ۱۰ تا ۱۰ تا اضافه می کنه
Wink

عضو

shahrokh_majno

1:41 ق.ظ ژانویه ۲۷, ۲۰۱۰

پست ها :۵

پست در تاریخ ۱:۴۳ am – January 27, 2010 توسط shahrokh_majno ویرایش شد


۱٫ نه ۱٫

ادمین

مدیر

۱۰:۵۰ ق.ظ ژانویه ۲۸, ۲۰۱۰

پست ها :۳۷۸


سلام

شما از برنامه بالا جواب گرفتین ؟


برنامه را براتون تصحیح کردم ، عملی تست کنید و خبرشو بدین


$regfile = "m16def.dat"
$crystal = 8000000
'——————————-
Config Lcd = 16 * 2
Config Lcdpin = Pin , E = Porta.0 , Rs = Porta.1 , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5
Cursor Off
Enable Interrupts
Dim A As Single , B As Single , C As Single
'——————————–
Config Clock = Soft
_sec = 58 : _min = 59 : _hour = 23
Config Portb.1 = Input
Config Portb.2 = Input
'——————————
main:
Do
Locate 1 , 5
Lcd Time$
If Pinb.1 = 1 Then Gosub Mi
If Pinb.2 = 1 Then Gosub Hour
If _hour = 24 Then _hour = 00
Loop
End
'——————————
Mi:
A = _min
A = A + 1
_min = A
If _min >= 60 Then A = 00
Return
'—————————-
Hour:
B = _hour
B = B + 1
_hour = B
If _hour >= 24 Then B = 00
Return


یا علیSmile

عیب کار اینجاست که من آنچه هستم را با آنچه باید باشم اشتباه می کنم،خیال می کنم آنچه باید باشم هستم،در حالیکه آنچه هستم نباید باشم الهی و ربی

عضو

shahrokh_majno

3:06 ب.ظ ژانویه ۲۹, ۲۰۱۰

پست ها :۵

اتفاقا من هم یک گذاشتم جواب نمی داد
۱۰تا اضافه می کرد تو تست
ولی با یک دهم اونطوری یکی یکی
بله تست شده
مرسی که توجه دارین
فقط من یک سئوال AVCC ,AREF پرسیدم لطفا به اون هم پاسخ بدین

عضو

shahrokh_majno

3:11 ب.ظ ژانویه ۲۹, ۲۰۱۰

پست ها :۵

البته تو نوشتن تو سایت یادم رفته بود config پین ها رو بدم

ادمین

مدیر

۷:۰۲ ب.ظ ژانویه ۲۹, ۲۰۱۰

پست ها :۳۷۸

پست در تاریخ ۷:۰۶ pm – January 29, 2010 توسط مدیر ویرایش شد


سلام

برنامه زیر خودم نوشتم وتست کردم وبدون هیچ مشکلی جواب میداد و مقادیر هم با اضافه کردن واحد۱ اضافه میشه

مشکل شما این بود که با if کلید را چک کرده بودین و وقتی دستتون را میگذاشتین روی کلید سریع و به صورت مدام این دستور و شرط برقرار میشد و واحد ها را مدام اضافه میکرد و شما فکر میکردین ۱۰ واحد اضافه شده در صورتی که ۱ واحد بیشتر اضافه نمیشه اما تا زمانی که دست شما روی کلید بوده حتی در زمان کوتاه این شرط مثلا برای ۱۰ بار متوالی برقرار میشده.

به هر حال این برنامه درست ونهایی هست و کلید تنظیم ثانیه هم اضافه کردم.

$regfile = "m16def.dat"
$crystal = 1000000
'——————————-
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Porta.0 , E = Porta.1 , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5
Cursor Off
Enable Interrupts
Config Debounce = 30
'——————————–
Config Clock = Soft
_sec = 58 : _min = 59 : _hour = 23
Config Portb.0 = Input
Config Portb.1 = Input
Config Portb.2 = Input
'——————————
main:
Do
Locate 1 , 5
Lcd Time$
Debounce Pinb.0 , 1 , seco , Sub
Debounce Pinb.1 , 1 , Mi , Sub
Debounce Pinb.2 , 1 , Hour , Sub
If _hour = 24 Then _hour = 00
Loop
End
'———————————————
Seco:
_sec = _sec + 1
If _sec >= 60 Then _sec = 0
Return
'————————-
Mi:
_min = _min + 1
If _min >= 60 Then _min = 0
Return
'——————————————-
Hour:
_hour = _hour + 1
If _hour >= 24 Then _hour = 0
Return

اینم نقشه شماتیک مدار:


http://upload-pic.yazdkit.com/…..cclock.gif


فقط من یک سئوال AVCC ,AREF پرسیدم لطفا به اون هم پاسخ بدین

این ۲ پایه برای بخش adc میکرو هست در صورتی که از مبدل انالوگ به دیجیتال استفاده میکنید و در بخش کانفیک ولتاژ رفرنس را ولتاز تغذیه انتخاب کرده اید باید پایه aref  به تغذیه مثبت وصل شود هم چنین باید همیشه درر صورت استفاده از adc میکرو پایه avcc  به تغذیه مثبت ۵ وصل شود.


یا علی


عیب کار اینجاست که من آنچه هستم را با آنچه باید باشم اشتباه می کنم،خیال می کنم آنچه باید باشم هستم،در حالیکه آنچه هستم نباید باشم الهی و ربی



در مورد فروم یزد کیت

بیشترین افراد آنلاین:

۱۱


افراد آنلاین کنونی:

۴ میهمان

آمار فروم :

گروه ها :۷

فروم ها :۳۱

موضوعات :۱۷۲

پست ها :۱۰۵۷

عضویت :

۱۲۵۶ کاربر وجود دارند

۲۷ میهمان وجود دارد

یک سر مدیر وجود دارد

۲ مدیر وجود دارند

برترین نویسنده ها :

saied20 – 52

Mostafa-y – 47

makh – 30

hamid_adel – 24

ahmadhaghpanah – 21

رسول – ۱۹

سر مدیران : مدیر (۳۷۸ پست)

مدیران : EhsanAvr (131 پست), electronic (77 پست)




نظرات بسته است.