|
mega32
کاربر جدید

 وضعيت: آفلاين 24 اسفند ماه ، 1388 تعداد ارسالها: 2 امتياز: 2 تشکر کرده: 0 تشکر شده 0 بار در 0 پست
|
ارسال شده در: يكشنبه، 15 فروردين ماه ، 1389 18:25:38 موضوع مطلب: اضافه كردن متن وحركت آن در مدار س |
|
|
سلام – خدمت مهندس لاچيني وعرض تبريك سال نو به شما وديگر اعضاي انجمن . من مي خوام يك متن يا كلمه مثلا "LACHINI" رو به مدار ساعت اضافه كنم وآن را حركت دهم . در برنامه زير اين كار را انجام داده ام اما جواب نميده . لطفا كمك كنيد : اينم برنامه :
$regfile = "m8def.dat"
$crystal = 1000000
Config Portd = Output
Config Portb = Output
Config Portc = Output
Config Clock = Soft
Enable Interrupts
Time$ = "17:40:00"
Date$ = "11/18/07"
Declare Sub Sectic
Dim A As Byte
Dim Scan As Byte
Dim Index As Byte
Dim I As Byte
Dim S As Byte
Dim C As Word
Dim Buf(25) As Byte
Dim Refresh As Byte
Dim M As Byte
Dim E As Byte
Const Sc_wait = 1
Portc = &HFF
S = _sec
For Index = 0 To 3
Buf(index + 11) = Lookup(index , Dot)
Next Index
Do
If S <> _sec Then Call Sectic
Scan = &HFE
For Index = 1 To 6
Portd = Buf(index )
Portc.3 = 1
Portc.3 = 0
Portd = Buf(index +
Portc.4 = 1
Portc.4 = 0
Portd = Buf(index + 16)
Portc.5 = 1
Portc.5 = 0
Portb = Scan
Rotate Scan , Left , 1
Waitms Sc_wait
Portb = &HFF
Next Index
Portd = Buf(7 )
Portc.3 = 1
Portc.3 = 0
Portd = Buf(15)
Portc.4 = 1
Portc.4 = 0
Portd = Buf(23)
Portc.5 = 1
Portc.5 = 0
Portc.1 = 0
Waitms Sc_wait
Portc.1 = 1
Portd = Buf(8 )
Portc.3 = 1
Portc.3 = 0
Portd = Buf(16)
Portc.4 = 1
Portc.4 = 0
Portd = Buf(24)
Portc.5 = 1
Portc.5 = 0
Portc.2 = 0
Waitms Sc_wait
Portc.2 = 1
Loop
End 'end program
Sub Sectic:
S = _sec
C = _sec Mod 15
If C < 8 Then
For I = 0 To 3
C = _sec Mod 2
If C = 0 Then
Buf(i + 11) = Lookup(i , Dot)
Else
Buf(i + 11) = 0
End If
Next I
For I = 0 To 4
A = _hour / 10
A = A * 5
A = A + I
Buf(i + 1) = Lookup(a , Font)
A = _hour Mod 10
A = A * 5
A = A + I
Buf(i + 6) = Lookup(a , Font)
A = _min / 10
A = A * 5
A = A + I
Buf(i + 15) = Lookup(a , Font)
A = _min Mod 10
A = A * 5
A = A + I
Buf(i + 20) = Lookup(a , Font)
Next I
Else
' +-------------------------------------------+
' | Scrolling "Lachini" text to Left |
' +-------------------------------------------+
For S = 0 To 79
E = S + 4
For Refresh = 1 To 7
Scan = &HFE
For Index = S To E
A = Index
PORTD = Lookup(a , Lachini)
Portc.3 = 1
Portc.3 = 0
A = Index + 10
Portd = Lookup(a , Lachini)
Portc.4 = 1
Portc.4 = 0
A = Index + 15
Portd = Lookup(a , Lachini)
Portc.5 = 1
Portc.5 = 0
Portb = Scan
Rotate Scan , Left , 1
Waitus 250
Portb = &HFF
Next Index
Next Refresh
Next S
End If
End Sub
Font:
Data &H00 , &H3E , &H41 , &H41 , &H3E '0
Data &H00 , &H21 , &H7F , &H01 , &H00 '1
Data &H00 , &H23 , &H45 , &H49 , &H31 '2
Data &H42 , &H41 , &H51 , &H69 , &H46 '3
Data &H0C , &H14 , &H24 , &H7F , &H04 '4
Data &H72 , &H51 , &H51 , &H51 , &H4E '5
Data &H1E , &H29 , &H49 , &H49 , &H06 '6
Data &H40 , &H47 , &H48 , &H50 , &H60 '7
Data &H36 , &H49 , &H49 , &H49 , &H36 '8
Data &H30 , &H49 , &H49 , &H4A , &H3C '9
Dot:
Data &H00 , &H36 , &H36 , &H00 , &H00 ':
Lachini:
Data &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00
Data &H7F , &H01 , &H01 , &H01 , &H01 ' "L"
Data &H02 , &H15 , &H15 , &H15 , &H0F ' "a"
Data &H0E , &H11 , &H11 , &H11 , &H02 ' "c"
Data &H7F , &H08 , &H10 , &H10 , &H0F ' "h"
Data &H00 , &H11 , &H5F , &H01 , &H00 ' "i"
Data &H1F , &H08 , &H10 , &H10 , &H0F ' "n"
Data &H00 , &H11 , &H5F , &H01 , &H30 ' "i"
Data &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 |
|