Majid_Ebru
كاربر دو ستاره
ارسالها: 153
موضوعها: 32
تاریخ عضویت: مرداد ۱۳۸۶
تشکرها : 350
( 59 تشکر در 32 ارسال )
|
Re: ساخت ساعت با AVR
etrmodern نوشته است:با سلام خدمت دوستان محترم
من نیاز به یک برنامه ساده ی ساعت با پیکره بندی confog clock=soft,gosub=sectic دارم.
یک برنامه پیدا کردم اما بعضی از جاهای برنامه رو سر در نمیارم :
کد: $regfile = "M8def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , _
Db7 = Portc.3 , Rs = Portc.4 , E = Portc.5
Cls
Cursor Off
Config Clock = Soft , Gosub = Sectic
Disable Interrupts
Config Portd = &B00000111
Dim S As Byte , Mi As Byte , H As Byte , Y As Word , Mo As Byte , D As Byte , _
Slc As Byte , Flag As Bit
Declare Sub First
Declare Sub Second
Slc = 0 : Y = 1385 : Mo = 1 : D = 1 : S = 0 : Mi = 0 : H = 12 : Flag = 0
'*************************************************************************
Scan:
If Pind.0 = 1 Then Incr Slc
If Slc = 5 Then Slc = 0
If Pind.2 = 1 Then
Flag = 0
Goto Waitls
End If
On Slc Goto Hour , Minute , Year , Month , Day
Goto Scan
'*************************************************************************
Waitls:
Enable Interrupts
Do
If Pind.0 = 1 Then
Flag = 1
Goto Scan
End If
Loop
'*************************************************************************
Sectic:
If Flag = 0 Then Gosub Show
Incr S
If S > 59 Then
S = 0
Incr Mi
Locate 1 , 14
Lcd " "
If Mi > 59 Then
Mi = 0
Incr H
If H > 23 Then
H = 1
Incr D
End If
End If
End If
If Mo < 7 Then Call First
If Mo => 7 Then Call Second
Return
'*************************************************************************
Show:
Cursor Off
Cls
Lcd "Date " ; Y ; "/" ; Mo ; "/" ; D
Lowerline
Lcd "Time " ; H ; ":" ; Mi ; ":" ; S
Return
End 'end program
'=========================================================================
'=========================================================================
Hour:
If Pind.1 = 1 Then Incr H
If H => 24 Then H = 0
Lcd "Hour: " ; H
Waitms 400
Cls
Goto Scan
'-------------------------------------------------------------------------
Minute:
If Pind.1 = 1 Then Incr Mi
If H => 60 Then Mi = 0
Lcd "Minute: " ; Mi
Waitms 400
Cls
Goto Scan
'-------------------------------------------------------------------------
Year:
If Pind.1 = 1 Then Incr Y
If Y = 1400 Then Y = 1385
Lcd "Year: " ; Y
Waitms 400
Cls
Goto Scan
'-------------------------------------------------------------------------
Month:
If Pind.1 = 1 Then Incr Mo
If Mo = 13 Then Mo = 1
Lcd "Mount: " ; Mo
Waitms 400
Cls
Goto Scan
'-------------------------------------------------------------------------
Day:
If Pind.1 = 1 Then Incr D
If D = 32 Then D = 1
Lcd "Day: " ; D
Waitms 400
Cls
Goto Scan
'_________________________________________________________________________
Sub First:
If D > 31 Then
D = 1
Incr Mo
End If
End Sub First
Sub Second:
If D > 30 Then
D = 1
Incr Mo
If Mo > 12 Then
Mo = 1
Incr Y
End If
End If
End Sub Second
وقتی با بسکام شبیه سازیش می کنم همیشه تو زیر برنامه ی scan باقی می ماند!!
مثلاً با شروع برنامه نمی دونم چطور به برنامه sectic وارد می شود؟
پیشاپیش از راهنماییتون ممنونم
با سلام به دوستان
من این برنامه رو تو بیسکام 1.11.8.3. و 1.11.8.7 می خوام کامپایل کنم اما نمی ش و از خط برنامه که شامل Config Clock = Soft است خطای Unknown Interrupt Source[count <> 3] رو می گیره لطفا من رو راهنمای کنید
:( :cry:
یاس : پس باخت کسی که به حمله نرفت .
احتیاج ، مادر اختراع
|
|
۱۴-فروردین-۱۳۸۷, ۰۳:۳۷:۵۴ |
|
تشکر شده توسط : |
|
ghafari
كاربر دو ستاره
ارسالها: 78
موضوعها: 17
تاریخ عضویت: اسفند ۱۳۸۵
تشکرها : 0
( 31 تشکر در 25 ارسال )
|
سلام دوستان...(سال نو و 13 بدرتون مبارک)
من با بسکام 1.11.9.0 کامپایل کردم هیچ errori نداد
پس در نتیجه از بسکامتونه!
من لینک بسکام 1.11.9.0 رو میذارم اینجا هرکی خواست برداره...نوش جانتان
http://www.4shared.com/file/38673422/416...0.html?s=1
از etrmodern هم ممنون!
بای 8)
|
|
۱۴-فروردین-۱۳۸۷, ۰۸:۴۹:۳۱ |
|
تشکر شده توسط : |
t3r!p3000 |