سلام دوستان من دستورات زیر را در بیسکام کامپایل کر دم و ال سی دی را به میکرو بستم البته rtc 32768hz را وصل کردم
این همون برنامه ساعته
من یک سوال داشتم چگونه میشه ساعت و تاریخ را دستی تنظیم کرد (منظورم با اتصال میکرو سوئیچ بود )
$regfile = "M8def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2, _ Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Config Lcd = 16 * 2
CONFIG CLOCK = SOFT , GOSUB = SECTIC
ENABLE INTERRUPTS
DATE$ = "21/05/86"
TIME$ = "10
58"
DO
LOOP
END
SECTIC:
LCD TIME$
LOCATE 2,1
LCD DATE$
RETURN
سوال دوم :
برنامه زیر برنامه یک ساعت است که از کتاب کاهه انتخاب کردم
این ساعت زیاد دقیق نیست
من یک سوال داشتم ایا می شود برنامه زیر را با تایمر 2 مخلوط کرد و زمان را دقیق کرد
$regfile = "M8def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = Portc.3 , Db7 = _
Portc.4 , E = Portd.2 , Rs = Portd.3
Ddrc.0 = 0 : Portc.0 = 1
Ddrd.7 = 0 : Portd.7 = 1
Config Lcd = 16 * 2
Declare Sub Incr_h
Declare Sub Incr_m
Dim S As Byte , M As Byte , H As Byte
Dim A As Bit
Main:
S = 0 : M = 0 : H = 1
Cls : Home : Lcd "time:"
Do
A = Pinc.0
If A = 0 Then Call Incr_h
If Pind.7 = 0 Then Call Incr_m
Locate 2 , 1
Lcd "" ; H ; ":" ; M ; ":" ; S
Waitms 250
Incr S
If S > 59 Then
S = 0
Incr M
Shiftcursor Left , 2
Lcd " "
If M > 59 Then
Incr H
M = 0
If H > 12 Then
jmp main
End If
End If
End If
Loop
End
Incr_m:
Incr M
If M > 59 Then
Cls : Home : Lcd "time:"
M = 0
End If
Return
Incr_h:
این همون برنامه ساعته
من یک سوال داشتم چگونه میشه ساعت و تاریخ را دستی تنظیم کرد (منظورم با اتصال میکرو سوئیچ بود )
$regfile = "M8def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2, _ Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Config Lcd = 16 * 2
CONFIG CLOCK = SOFT , GOSUB = SECTIC
ENABLE INTERRUPTS
DATE$ = "21/05/86"
TIME$ = "10

DO
LOOP
END
SECTIC:
LCD TIME$
LOCATE 2,1
LCD DATE$
RETURN
سوال دوم :
برنامه زیر برنامه یک ساعت است که از کتاب کاهه انتخاب کردم
این ساعت زیاد دقیق نیست
من یک سوال داشتم ایا می شود برنامه زیر را با تایمر 2 مخلوط کرد و زمان را دقیق کرد
$regfile = "M8def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = Portc.3 , Db7 = _
Portc.4 , E = Portd.2 , Rs = Portd.3
Ddrc.0 = 0 : Portc.0 = 1
Ddrd.7 = 0 : Portd.7 = 1
Config Lcd = 16 * 2
Declare Sub Incr_h
Declare Sub Incr_m
Dim S As Byte , M As Byte , H As Byte
Dim A As Bit
Main:
S = 0 : M = 0 : H = 1
Cls : Home : Lcd "time:"
Do
A = Pinc.0
If A = 0 Then Call Incr_h
If Pind.7 = 0 Then Call Incr_m
Locate 2 , 1
Lcd "" ; H ; ":" ; M ; ":" ; S
Waitms 250
Incr S
If S > 59 Then
S = 0
Incr M
Shiftcursor Left , 2
Lcd " "
If M > 59 Then
Incr H
M = 0
If H > 12 Then
jmp main
End If
End If
End If
Loop
End
Incr_m:
Incr M
If M > 59 Then
Cls : Home : Lcd "time:"
M = 0
End If
Return
Incr_h:
دیدگاه