سلام من چند وقتی هست که می خوام به زبان بیسیک با تایمر 8952 کار منم ولی نتونستم مس خوام برنامه ساعت بنویسم ولی تا حلا نتونستم دوست عزیزی می تونه به طور دقیق این موضوع رو به من یاد بده من خیلی کتاب در این باره خوندم ولی موفق نشدم ممنون از شما دوستان و کم کم یا پیشا پیش عید ولایت ،نیمه شعبان رو به همه تبریک میگم و خدانگهدار همه در زیر سایه مولا امام زمام (عج)
اطلاعیه
Collapse
No announcement yet.
کمک در رابطه با تایمر
Collapse
X
-
پاسخ : کمک در رابطه با تایمر
'============================================ ===================================
'=================================SAEED BAGHERANI===============================
'===========================THIS PROGRAM FOR watch BE WRITED=================
'===========================DATE = 1385/07 / 05 TIME = 22:00===================
'============================================ ===================================
$regfile = "8052.dat"
$crystal = 24000000 'you can use 12 MHz
$large
'$baud = 9600
Baud = 9615
Config Lcdpin = Pin , Db4 = P1.0 , Db5 = P1.1 , Db6 = P1.2 , Db7 = P1.3 , E = P1.4 , Rs = P1.5
Display On
Cursor Off
Const Saeed = "SAEED BAGHERANI?"
Const Dataa = "WATCH PROGRAM ? "
Config Timer0 = Timer , Mode = 1 , Gate = Internal
Declare Sub Incrsecond
Declare Sub Incrminute
Declare Sub Incrhour
$asm
Setb Ip.4 'to serial interrupts higher priority
mov th0 , # 60
mov tl0 , # 226 'in fact 176 for mili second
$end Asm
Locate 1 , 1
Lcd Saeed
Locate 2 , 1
Lcd Dataa
Waitms 500
Cls
Dim Tt As Byte
Dim Second As Byte
Dim Minute As Byte
Dim Hour As Byte
Second = 54
Minute = 66
Hour = 19
Enable Timer0
On Timer0 Timer0interupts
Enable Interrupts
Start Timer0
Do
Locate 1 , 4
Lcd "00:00:00 "
If Hour < 10 Then
Locate 1 , 5
Lcd Hour
Else
Locate 1 , 4
Lcd Hour
End If
If Minute < 10 Then
Locate 1 , 8
Lcd Minute
Else
Locate 1 , 7
Lcd Minute
End If
If Second < 10 Then
Locate 1 , 11
Lcd Second
Else
Locate 1 , 10
Lcd Second
End If
Powerdown
Idle
'00:00:00
Loop
'++++++++++++++++++++++++++++++++
End
';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
'***INTERUPTS SERVICE ROUTIN OF TIMER0***
';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Timer0interupts:
'STOP TIMER0
$asm
mov th0 , # 60
mov tl0 , # 226 'in fact 176 for mili second
$end Asm
Tt = Tt + 1
If Tt = 1 Then
Tt = 0
Call Incrsecond
End If
'START TIMER0
Return
';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Sub Incrsecond
Incr Second
If Second => 60 Then
Second = 0
Call Incrminute
End If
End Sub
Sub Incrminute
Incr Minute
If Minute => 60 Then
Minute = 0
Call Incrhour
End If
End Sub
Sub Incrhour
Incr Hour
If Hour => 24 Then
Hour = 0
Return
End If
End Subاگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن
-
پاسخ : کمک در رابطه با تایمر
نوشته اصلی توسط mohammadfallahi63سلام من چند وقتی هست که می خوام به زبان بیسیک با تایمر 8952 کار منم ولی نتونستم مس خوام برنامه ساعت بنویسم ولی تا حلا نتونستم دوست عزیزی می تونه به طور دقیق این موضوع رو به من یاد بده من خیلی کتاب در این باره خوندم ولی موفق نشدم ممنون از شما دوستان و کم کم یا پیشا پیش عید ولایت ،نیمه شعبان رو به همه تبریک میگم و خدانگهدار همه در زیر سایه مولا امام زمام (عج)
دوست عزیز من پیشنهاد می کنم از ds1307 برای ساخت ساعت استفاده کنید چون دقیق تر خواهد بود.
دیدگاه
دیدگاه