۲۴-تير-۱۳۸۶, ۰۷:۲۵:۰۸
۲۵-تير-۱۳۸۶, ۰۰:۳۵:۳۰
به نام خدا
با سلام
این یک نمونه برنامه ی ساده به زبان BASCOM برای نمایش ساعت بر روی LCD می باشد که می توانید به وسیله ی دو پین 0 و 1 از پورت C ساعت و دقیقه ی آن را تنظیم کنید. این برنامه بر مبنای 24 ساعته نوشته شده که با کمی دست کاری 12 ساعتی می شود. حتی می توانید تاریخ شمسی را هم بر همین مبنا برنامه ریزی کنید.
میکروی پیش فرض MEGA32 می باشد که می توانید نام فایل آن را با میکروی خود تعویض کنید. دقت کنید میکروی شما اگر پورت C را پشتیبانی نمی کند ، نام پورت را عوض نمایید. LCD بر روی پورت B تنظیم شده که می توانید آن را هم عوض کنید. LCD پیش فرض برنامه از نوع حرفی عددی با اندازه ی 2*16 می باشد. برای دقیق تر شدن ساعت می توانید از تایمرهای میکرو استفاده کنید. درضمن این نکته فراموش نشود که دو پایه ی 0 و 1 پورت C با مقاومت (مثلا 100 کیلو اهم) به منفی (GND) متصل گردد (برای تنظیم ساعت و دقیقه ، 5+ ولت را به پایه های مورد نظر متصل کنید بدون جدا کردن مقاومتها).
"regfile = "m32def.dat$
معرفی میکرو به کامپایلر
8000000 = Crystal$
تنظیم سرعت ساعت داخلی میکرو
Config lcdpin = pin, db4 = pinb.4 , db5 = pinb.5 , db6 = pinb.6 , db7 = pinb.7 , RS = pinb.2 , E = pinb.3
Config lcd = 16*2
Config pinc.0 = input
Config pinc.1 = input
پیکر بندی ال سی دی و پایه های ورودی برای تنظیم ساعت و دقیقه
Declare Sub HH
Declare Sub MM
معرفی زیر برنامه های تنظیم ساعت و دقیقه
Dim S as byte , M as byte , H as byte
معرفی متغیر ها و نوع آنها
S=0:M=0:H=0
Cls
Do
If Pinc.0 = 1 then Call HH
If Pinc.1 = 1 then Call MM
شرط ها برای بررسی فشار داده شدن کلید های تنظیم ساعت و دقیقه
S=S+1
If S > 59 then
S = 0
M=M+1
End if
If M > 59 then
M = 0
H=H+1
End if
If H > 23 then
H = 0
End if
Locate 1,1
Lcd H ; ":" ; M ; ":" ; S
Waitms 995
چاپ روی ال سی دی و توقف حدود یک ثانیه ای
Loop
End
:HH
H = H + 1
Return
:MM
M = M + 1
Return
زیر برنامه های تنظیم ساعت و دقیقه
موفق باشید.
با سلام
این یک نمونه برنامه ی ساده به زبان BASCOM برای نمایش ساعت بر روی LCD می باشد که می توانید به وسیله ی دو پین 0 و 1 از پورت C ساعت و دقیقه ی آن را تنظیم کنید. این برنامه بر مبنای 24 ساعته نوشته شده که با کمی دست کاری 12 ساعتی می شود. حتی می توانید تاریخ شمسی را هم بر همین مبنا برنامه ریزی کنید.
میکروی پیش فرض MEGA32 می باشد که می توانید نام فایل آن را با میکروی خود تعویض کنید. دقت کنید میکروی شما اگر پورت C را پشتیبانی نمی کند ، نام پورت را عوض نمایید. LCD بر روی پورت B تنظیم شده که می توانید آن را هم عوض کنید. LCD پیش فرض برنامه از نوع حرفی عددی با اندازه ی 2*16 می باشد. برای دقیق تر شدن ساعت می توانید از تایمرهای میکرو استفاده کنید. درضمن این نکته فراموش نشود که دو پایه ی 0 و 1 پورت C با مقاومت (مثلا 100 کیلو اهم) به منفی (GND) متصل گردد (برای تنظیم ساعت و دقیقه ، 5+ ولت را به پایه های مورد نظر متصل کنید بدون جدا کردن مقاومتها).
"regfile = "m32def.dat$
معرفی میکرو به کامپایلر
8000000 = Crystal$
تنظیم سرعت ساعت داخلی میکرو
Config lcdpin = pin, db4 = pinb.4 , db5 = pinb.5 , db6 = pinb.6 , db7 = pinb.7 , RS = pinb.2 , E = pinb.3
Config lcd = 16*2
Config pinc.0 = input
Config pinc.1 = input
پیکر بندی ال سی دی و پایه های ورودی برای تنظیم ساعت و دقیقه
Declare Sub HH
Declare Sub MM
معرفی زیر برنامه های تنظیم ساعت و دقیقه
Dim S as byte , M as byte , H as byte
معرفی متغیر ها و نوع آنها
S=0:M=0:H=0
Cls
Do
If Pinc.0 = 1 then Call HH
If Pinc.1 = 1 then Call MM
شرط ها برای بررسی فشار داده شدن کلید های تنظیم ساعت و دقیقه
S=S+1
If S > 59 then
S = 0
M=M+1
End if
If M > 59 then
M = 0
H=H+1
End if
If H > 23 then
H = 0
End if
Locate 1,1
Lcd H ; ":" ; M ; ":" ; S
Waitms 995
چاپ روی ال سی دی و توقف حدود یک ثانیه ای
Loop
End
:HH
H = H + 1
Return
:MM
M = M + 1
Return
زیر برنامه های تنظیم ساعت و دقیقه
موفق باشید.
۲۵-تير-۱۳۸۶, ۱۱:۲۵:۰۲
برای شروع خویه از مثال خود بسکام استفاده کنی چون بسکام خودش ساعت با تایمر مجزا رو داره فقط باید از میکرویی استفاده کنی که اونو ساپورت کنه یک کریستال ساعت
'------------------------------------------------------------
' MEGACLOCK.BAS
' © 2000-2001 MCS Electronics
'------------------------------------------------------------
'This example shows the new TIME$ and DATE$ reserved variables
'With the 8535 and timer2 or the Mega103 and TIMER0 you can
'easily implement a clock by attaching a 32.768 KHz xtal to the timer
'And of course some BASCOM code
'This example is written for the STK300 with M103
Enable Interrupts
'[configure LCD]
$lcd = &HC000 'address for E and RS
$lcdrs = &H8000 'address for only E
Config Lcd = 20 * 4 'nice display from bg micro
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7
Config Lcdmode = Bus 'tell about the bus mode
'[now init the clock]
Config Clock = Soft 'this is how simple it is
'The above statement will bind in an ISR so you can not use the TIMER anymore!
'For the M103 in this case it means that TIMER0 can not be used by the user anymore
'assign the date to the reserved date$
'The format is MM/DD/YY
Date$ = "11/11/00"
'assign the time, format in hh:mm:ss military format(24 hours)
'You may not use 1:2:3 !! adding support for this would mean overhead
'But of course you can alter the library routines used
Time$ = "02:20:00"
'clear the LCD display
Cls
Do
Home 'cursor home
Lcd Date$ ; " " ; Time$ 'show the date and time
Loop
'The clock routine does use the following internal variables:
'_day , _month, _year , _sec, _hour, _min
'These are all bytes. You can assign or use them directly
_day = 1
'For the _year variable only the year is stored, not the century
End
'------------------------------------------------------------
' MEGACLOCK.BAS
' © 2000-2001 MCS Electronics
'------------------------------------------------------------
'This example shows the new TIME$ and DATE$ reserved variables
'With the 8535 and timer2 or the Mega103 and TIMER0 you can
'easily implement a clock by attaching a 32.768 KHz xtal to the timer
'And of course some BASCOM code
'This example is written for the STK300 with M103
Enable Interrupts
'[configure LCD]
$lcd = &HC000 'address for E and RS
$lcdrs = &H8000 'address for only E
Config Lcd = 20 * 4 'nice display from bg micro
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7
Config Lcdmode = Bus 'tell about the bus mode
'[now init the clock]
Config Clock = Soft 'this is how simple it is
'The above statement will bind in an ISR so you can not use the TIMER anymore!
'For the M103 in this case it means that TIMER0 can not be used by the user anymore
'assign the date to the reserved date$
'The format is MM/DD/YY
Date$ = "11/11/00"
'assign the time, format in hh:mm:ss military format(24 hours)
'You may not use 1:2:3 !! adding support for this would mean overhead
'But of course you can alter the library routines used
Time$ = "02:20:00"
'clear the LCD display
Cls
Do
Home 'cursor home
Lcd Date$ ; " " ; Time$ 'show the date and time
Loop
'The clock routine does use the following internal variables:
'_day , _month, _year , _sec, _hour, _min
'These are all bytes. You can assign or use them directly
_day = 1
'For the _year variable only the year is stored, not the century
End
۰۵-مرداد-۱۳۸۶, ۲۰:۳۱:۱۹
salam in barname ham kootahe ham asoon emtehan kon
کد:
$regfile = "m8535.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , Rs = Porta.2 , E = Porta.3
Cls
Config Clock = Soft
Enable Interrupts
Date$ = "25/04/86"
Time$ = "21:46:04"
Do
Home
Lcd Time$
Locate 2 , 1
Lcd Date$
Loop
End
۰۶-مرداد-۱۳۸۶, ۱۰:۰۳:۱۸
ممنون از همگی
۱۰-مرداد-۱۳۸۶, ۰۱:۳۵:۳۵
از شما برادران گرامي كه جواب اينجانب را داديد كمال تشكر مي كنم .
۱۰-مرداد-۱۳۸۶, ۰۳:۱۹:۲۸
آقای مهندس ایول بهت که این همه تحویلت میگیرن. میگم اینا همه باهات که فامیلن؟
۱۳-مرداد-۱۳۸۶, ۰۱:۳۰:۲۳
سلام آقا ميثم : فاميل ما نيستند اما به ما محبت داشتند .
۱۲-آذر-۱۳۹۰, ۲۰:۵۱:۵۴
vaghean mamnoooooooooooon
۱۳-تير-۱۳۹۱, ۱۰:۴۳:۰۹
xcvcvxcv