سلام دوستان ...
خسته نباشید ...
مقداری سرچ نمودم ولی به نتیجه نرسیدم واسه همین ترجیح بر ایجاد تاپیک دادم ...
دوستان دو تا مدار زدم ... سخت افزار سالمه ... نرم افزار هم تو شبیه ساز سالمه ولی در عمل ساعت شروع به شمارش نمیکنه و همینطور ثابته . :eek:
رو هر دو سخت افزار اتمگا 8 استفاده شده ... این مشکلو قبلا نداشتم ...
جالب اینجاست زمانی که به پایه های کریستال یا میکرو دست میزنی میشماره ...اتصالات هم کاملا سالمه ... چک کردم ... :cry2:
لطفا یک کمکی کنید که زودتر مشکل حل شه ... با تشکر از همه دوستان ... :wow:
برنامه :
خسته نباشید ...
مقداری سرچ نمودم ولی به نتیجه نرسیدم واسه همین ترجیح بر ایجاد تاپیک دادم ...
دوستان دو تا مدار زدم ... سخت افزار سالمه ... نرم افزار هم تو شبیه ساز سالمه ولی در عمل ساعت شروع به شمارش نمیکنه و همینطور ثابته . :eek:
رو هر دو سخت افزار اتمگا 8 استفاده شده ... این مشکلو قبلا نداشتم ...

جالب اینجاست زمانی که به پایه های کریستال یا میکرو دست میزنی میشماره ...اتصالات هم کاملا سالمه ... چک کردم ... :cry2:
لطفا یک کمکی کنید که زودتر مشکل حل شه ... با تشکر از همه دوستان ... :wow:
برنامه :
کد:
$regfile = "m8def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Db7 = Pind.3 , Db6 = Pind.2 , Db5 = Pind.1 , Db4 = _
Pind.0 , E = Pind.5 , Rs = Pind.4
Config Lcd = 16 * 2
Deflcdchar 1 , 31 , 17 , 10 , 4 , 4 , 10 , 17 , 31 'Wait
Deflcdchar 2 , 8 , 8 , 4 , 4 , 2 , 2 , 1 , 1 ' replace ? with number (0-7)
Config Clock = Soft
Enable Interrupts
Time$ = "12:00:00"
Date$ = "93\03\03"
Config Pinc.1 = Input 'Up
Config Pinc.3 = Input 'Down
Config Pinc.5 = Input 'Mode
Set Portc.1
Set Portc.3
Set Portc.5
Up_key Alias Pinc.1
Down_key Alias Pinc.3
Mode_key Alias Pinc.5
Dim Menu As Byte ,
Declare Sub U_hour()
Declare Sub U_min()
Declare Sub U_year()
Declare Sub U_month()
Declare Sub U_day()
_year = 93
_month = 3
_day = 2
_hour = 23
_min = 59
_sec = 55
Normal:
Enable Interrupts
Waitms 500
Do
If Mode_key = 0 Then
Cls
Disable Interrupts
Incr Menu
If Menu > 5 Then
Menu = 0
Goto Normal
End If
Waitms 200
End If
Select Case Menu
Case 0
Home : Lcd "Time = " ; Time$ ;
Lowerline : Lcd "Date = " ; _year ; Chr(2) ; _month ; Chr(2) ; _day ;
Case 1:
Gosub U_hour
Case 2:
Gosub U_min
Case 3:
Gosub U_year
Case 4:
Gosub U_month
Case 5:
Gosub U_day
End Select
Loop
End
Sub U_hour()
Home : Lcd "Hour=" ; _hour ; " "
Waitms 200
If Up_key = 0 Then
If _hour < 23 Then Incr _hour
End If
If Down_key = 0 Then
If _hour > 0 Then Decr _hour
End If
' If Main_key = 0 Then Goto Shoro
End Sub
'***********************************
Sub U_min()
Home : Lcd "Minute=" ; _min ; " "
Waitms 200
If Up_key = 0 Then
If _min < 59 Then Incr _min
End If
If Down_key = 0 Then
If _min > 0 Then Decr _min
End If
' If Main_key = 0 Then Goto Shoro
End Sub
'***********************************
Sub U_year()
Home : Lcd "Year=" ; _year ; " "
Waitms 200
If Up_key = 0 Then
If _year < 99 Then Incr _year
End If
If Down_key = 0 Then
If _year > 1 Then Decr _year
End If
' If Main_key = 0 Then Goto Shoro
End Sub
'***********************************
Sub U_month()
Home : Lcd "Month=" ; _month ; " "
Waitms 200
If Up_key = 0 Then
If _month < 12 Then Incr _month
End If
If Down_key = 0 Then
If _month > 1 Then Decr _month
End If
' If Main_key = 0 Then Goto Shoro
End Sub
'***********************************
Sub U_day()
Home : Lcd "Day=" ; _day ; " "
Waitms 200
If Up_key = 0 Then
If _day < 30 Then Incr _day
End If
If Down_key = 0 Then
If _day > 1 Then Decr _day
End If
' If Main_key = 0 Then Goto Shoro
End Sub






دیدگاه