۱۱-مرداد-۱۳۸۸, ۱۱:۴۲:۴۲
سلام من یه تابلو LED 8*16 درست کردم ولی درست کار نمیکنه یعنی پر پر میزنه و ثابت چراغ ها روشن نمیشه.
تو این تابلو برای سطر ها از شیفت رجیستر استفاده کردم و برای ستون ها از دیکودر استفاده کردم.
اینم کد :
تو این تابلو حرف A نمایش داده میشه.اینم عکسش
با تشکر.
تو این تابلو برای سطر ها از شیفت رجیستر استفاده کردم و برای ستون ها از دیکودر استفاده کردم.
اینم کد :
$regfile = "m32def.dat"
$crystal = 800000
Config Porta = Output
Config Portc = Output
Config Portb = Output
Config Portd = Output
'*******************************************************************************
Clk Alias Portd.1
D Alias Portd.0
Dim Oe As Byte , En As Byte , I As Byte , J As Byte
Dim X As Byte , F As Byte , G As Byte , H As Byte , Dta As Byte
'*******************************************************************************
Do
En = &HFE
Oe = &H00
X = 0
For I = 0 To 0
For J = 0 To 15
Porta = Lookup(j , Dc)
Portc = En
Oe = &B00000001
Clk = 0
Waitus 200
For F = 0 To 0
Portb = &H00
Dta = Lookup(x , Dr)
For G = 0 To 7
D = Not Dta.g
Clk = 1
Waitus 200
Clk = 0
Next G
Portb = Oe
Waitms 2
Portc = &HFF
X = X + 1
Rotate Oe , Left
Next F
Portb = &H00
Oe = &B00000001
Next J
Rotate En , Left
Next I
Loop
End 'End Program
'*****************************************************************
Dc:
Data &H0 , &H1 , &H2 , &H3 , &H4 , &H5 , &H6 , &H7 , &H8 , &H9 , &HA , &HB , &HC , &HD , &HE , &HF
Dr:
Data &H00 , &H00 , &H00 , &H3F , &H7F , &HC4 , &HC4 , &HC4 , &H7F , &H3F , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
'****************************************************************************
$crystal = 800000
Config Porta = Output
Config Portc = Output
Config Portb = Output
Config Portd = Output
'*******************************************************************************
Clk Alias Portd.1
D Alias Portd.0
Dim Oe As Byte , En As Byte , I As Byte , J As Byte
Dim X As Byte , F As Byte , G As Byte , H As Byte , Dta As Byte
'*******************************************************************************
Do
En = &HFE
Oe = &H00
X = 0
For I = 0 To 0
For J = 0 To 15
Porta = Lookup(j , Dc)
Portc = En
Oe = &B00000001
Clk = 0
Waitus 200
For F = 0 To 0
Portb = &H00
Dta = Lookup(x , Dr)
For G = 0 To 7
D = Not Dta.g
Clk = 1
Waitus 200
Clk = 0
Next G
Portb = Oe
Waitms 2
Portc = &HFF
X = X + 1
Rotate Oe , Left
Next F
Portb = &H00
Oe = &B00000001
Next J
Rotate En , Left
Next I
Loop
End 'End Program
'*****************************************************************
Dc:
Data &H0 , &H1 , &H2 , &H3 , &H4 , &H5 , &H6 , &H7 , &H8 , &H9 , &HA , &HB , &HC , &HD , &HE , &HF
Dr:
Data &H00 , &H00 , &H00 , &H3F , &H7F , &HC4 , &HC4 , &HC4 , &H7F , &H3F , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
'****************************************************************************
تو این تابلو حرف A نمایش داده میشه.اینم عکسش
با تشکر.