سلام
من فایل پروتئوسو برنامه ی ساعت دیجیتال با LCD 16X2 از اینترنت دانلودکردم و مدارشو بصورت عملی ساختم
داخل شبیه برای این مدار یه کریستال استفاده شده بود.
من حذفش کردم بازم مثل قبل کار میکرد
منم مدارو بدون کریستال بستم.
ولی تو عمل جواب نمیده
کریستال هم ندارم و برام مقدور نیست برای یه قطعه کوچیک برم شهر :cry:
حالا ازشما کمک میخوام چیکارش کنم کار کنه
اینم برنامه ش
$regfile = "m8def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portb.1 , Db5 = Portb.2_
, Db4 = Portb.3 , E = Portb.4 , Rs = Portb.5
Config Debounce = 30
Config Clock = Soft
Config Date = Ymd , Separator = /
Dim T As Byte , D As Byte
T = 0
D = 0
Enable Interrupts
Time$ = "10
50"
Date$ = "94/10/04"
Cursor Off
Cls
Do
Home
Lcd "Time: " ; Time$
Lowerline
Lcd "Date: " ; Date$
Debounce Pind.0 , 0 , Menu
Repeat:
Loop
End
'----------------------------------------
Menu:
T = 0
D = 0
Cls
Lcd "1-Time Setting"
Do
Debounce Pind.0 , 0 , Label1
Debounce Pind.1 , 0 , Timeset
Loop
Label1:
Cls
Lcd "2-Date Setting"
Do
Debounce Pind.0 , 0 , Repeat
Debounce Pind.1 , 0 , Dateset
Loop
'----------------------------------------
Timeset:
Cls
Incr T
Lcd "Hour: " ; _hour
Do
Debounce Pind.1 , 0 , Inctime , Sub
Debounce Pind.0 , 0 , Label2
Loop
Label2:
Cls
Incr T
Lcd "Min: " ; _min
Do
Debounce Pind.1 , 0 , Inctime , Sub
Debounce Pind.0 , 0 , Label1
Loop
'----------------------------------------
Dateset:
Cls
Incr D
Lcd "Day: " ; _day
Do
Debounce Pind.1 , 0 , Incdate , Sub
Debounce Pind.0 , 0 , Label3
Loop
Label3:
Cls
Incr D
Lcd "Month: " ; _month
Do
Debounce Pind.1 , 0 , Incdate , Sub
Debounce Pind.0 , 0 , Label4
Loop
Label4:
Cls
Incr D
Lcd "Year: " ; _year
Do
Debounce Pind.1 , 0 , Incdate , Sub
Debounce Pind.0 , 0 , Repeat
Loop
'-------------------------------------
Inctime:
If T = 1 Then
Incr _hour
If _hour = 24 Then
_hour = 0
End If
Cls
Lcd "Hour: " ; _hour
Else
If T = 2 Then
Incr _min
If _min = 60 Then
_min = 0
End If
Cls
Lcd "Min: " ; _min
End If
End If
Return
'-------------------------------------
Incdate:
If D = 1 Then
Incr _day
If _day > 31 Then
_day = 1
End If
Cls
Lcd "Day: " ; _day
Else
If D = 2 Then
Incr _month
If _month > 12 Then
_month = 1
End If
Cls
Lcd "Month: " ; _month
Else
If D = 3 Then
Incr _year
If _year > 100 Then
_year = 0
End If
Cls
Lcd "Year: " ; _year
End If
End If
End If
Return
End
من فایل پروتئوسو برنامه ی ساعت دیجیتال با LCD 16X2 از اینترنت دانلودکردم و مدارشو بصورت عملی ساختم
داخل شبیه برای این مدار یه کریستال استفاده شده بود.
من حذفش کردم بازم مثل قبل کار میکرد
منم مدارو بدون کریستال بستم.
ولی تو عمل جواب نمیده
کریستال هم ندارم و برام مقدور نیست برای یه قطعه کوچیک برم شهر :cry:
حالا ازشما کمک میخوام چیکارش کنم کار کنه
اینم برنامه ش
$regfile = "m8def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portb.1 , Db5 = Portb.2_
, Db4 = Portb.3 , E = Portb.4 , Rs = Portb.5
Config Debounce = 30
Config Clock = Soft
Config Date = Ymd , Separator = /
Dim T As Byte , D As Byte
T = 0
D = 0
Enable Interrupts
Time$ = "10

Date$ = "94/10/04"
Cursor Off
Cls
Do
Home
Lcd "Time: " ; Time$
Lowerline
Lcd "Date: " ; Date$
Debounce Pind.0 , 0 , Menu
Repeat:
Loop
End
'----------------------------------------
Menu:
T = 0
D = 0
Cls
Lcd "1-Time Setting"
Do
Debounce Pind.0 , 0 , Label1
Debounce Pind.1 , 0 , Timeset
Loop
Label1:
Cls
Lcd "2-Date Setting"
Do
Debounce Pind.0 , 0 , Repeat
Debounce Pind.1 , 0 , Dateset
Loop
'----------------------------------------
Timeset:
Cls
Incr T
Lcd "Hour: " ; _hour
Do
Debounce Pind.1 , 0 , Inctime , Sub
Debounce Pind.0 , 0 , Label2
Loop
Label2:
Cls
Incr T
Lcd "Min: " ; _min
Do
Debounce Pind.1 , 0 , Inctime , Sub
Debounce Pind.0 , 0 , Label1
Loop
'----------------------------------------
Dateset:
Cls
Incr D
Lcd "Day: " ; _day
Do
Debounce Pind.1 , 0 , Incdate , Sub
Debounce Pind.0 , 0 , Label3
Loop
Label3:
Cls
Incr D
Lcd "Month: " ; _month
Do
Debounce Pind.1 , 0 , Incdate , Sub
Debounce Pind.0 , 0 , Label4
Loop
Label4:
Cls
Incr D
Lcd "Year: " ; _year
Do
Debounce Pind.1 , 0 , Incdate , Sub
Debounce Pind.0 , 0 , Repeat
Loop
'-------------------------------------
Inctime:
If T = 1 Then
Incr _hour
If _hour = 24 Then
_hour = 0
End If
Cls
Lcd "Hour: " ; _hour
Else
If T = 2 Then
Incr _min
If _min = 60 Then
_min = 0
End If
Cls
Lcd "Min: " ; _min
End If
End If
Return
'-------------------------------------
Incdate:
If D = 1 Then
Incr _day
If _day > 31 Then
_day = 1
End If
Cls
Lcd "Day: " ; _day
Else
If D = 2 Then
Incr _month
If _month > 12 Then
_month = 1
End If
Cls
Lcd "Month: " ; _month
Else
If D = 3 Then
Incr _year
If _year > 100 Then
_year = 0
End If
Cls
Lcd "Year: " ; _year
End If
End If
End If
Return
End
دیدگاه