۰۶-آبان-۱۳۸۹, ۲۲:۴۹:۵۳
با سلام خدمت دوستان
من برنامه اي بزبان بيسيك نوشته ام كه شامل يك ميكرو مگا8 و يك كليد است كه دو زير برنامه را شامل مي شود با قرار دادن كليد در حالت A برنامه A اجرا مي شود و مي بايست كميتي آنالوگ نيز به ديجيتال تبديل شود در همان زير گروه و با زدن كليد در حالت B زير برنامه B با مبدل آنالوگ به ديجيتال در كانال B اجرا شود ولي نمي دانم مبدل آنالوگ به ديجيتال را بايد براي هر كانال جداگانه تعريف كنم يا خير يا كجاي برنامه آن را قرار دهم كه درست كار كند.برنامه به اين شكل است لطفا براي اصلاح آن كمكم كنيد.
من برنامه اي بزبان بيسيك نوشته ام كه شامل يك ميكرو مگا8 و يك كليد است كه دو زير برنامه را شامل مي شود با قرار دادن كليد در حالت A برنامه A اجرا مي شود و مي بايست كميتي آنالوگ نيز به ديجيتال تبديل شود در همان زير گروه و با زدن كليد در حالت B زير برنامه B با مبدل آنالوگ به ديجيتال در كانال B اجرا شود ولي نمي دانم مبدل آنالوگ به ديجيتال را بايد براي هر كانال جداگانه تعريف كنم يا خير يا كجاي برنامه آن را قرار دهم كه درست كار كند.برنامه به اين شكل است لطفا براي اصلاح آن كمكم كنيد.
کد php:
$regfile = "m8def.dat"
$crystal = 8000000
Deflcdchar 0 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31 ' replace ? with number (0-7)
Deflcdchar 1 , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 32 ' replace ? with number (0-7)
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = _
Portd.0 , Rs = Portd.5 , E = Portd.4
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim A As Word , W As Word , P As Word , I As Byte , Cols As Byte
Start Adc
Cursor Off
Do
W = Getadc(5)
W = W * 4
P = W / 4
Cols = P / 16
Locate 2 , 1
For I = 3 To Cols
Select Case I
Case 0 : Lcd Chr(0)
Case Else : Lcd Chr(0)
End Select
Next I
Cols = Cols + 1
For I = Cols To 16
Select Case I
Case 0 : Lcd Chr(1)
Case Else : Lcd Chr(1)
End Select
Next I
Loop
Dim A As Word
Cls
Home
Locate 1 , 4
Lcd " HELLO "
Wait 1
'*******************************************************************************
A:
Home
Locate 2 , 6
Lcd "<A>"
'Config Pinb.1 = Input
'Config Portc.1 = Output
Config Timer1 = Timer , Prescale = 1
Stop Timer1
Config Portb = Output
Config Portd = Output
Portb.1 = 0
Portd.6 = 0
Portd.7 = 0
'Dim A As Word
Startline1:
Start Timer1
A = 0
Portb.1 = 1
Do
A = A + 1
Loop Until A = 10
Stop Timer1
If Pinc.1 = 0 Then Goto B
Goto Startline1
'*******************************************************************************
B:
Home
Locate 2 , 6
Lcd "<B> "
'Config Pinb.1 = Input
'Config Portc.1 = Output
Config Timer1 = Timer , Prescale = 1
Stop Timer1
Config Portb = Output
Config Portd = Output
Portb.1 = 0
Portd.6 = 0
Portd.7 = 0
'Dim A As Word
Startline2:
Start Timer1
A = 0
Portb.1 = 1
Do
A = A + 1
Loop Until A = 12
Stop Timer1
If Pinc.1 = 1 Then Goto A
Goto Startline2