با سلام خدمت دوستان عزیز و با تشکر بابت تمامی راهنمایی هایی که به این جانب نمودید ...
دوستان به یک مشکل برخوردم که خواستم به مانند همیشه مزاحم شما دوستان شوم برای حل مشکل ...
مشکل :
مشکل اینجاست که در مدارم سه کلید اضافه نمودم و برای مدار یک منو ساختم .... حالا وقتی مداررا روشن میکنم وارد منو که میشوم هر ثانیه صفحه ال سی دی میره و میاد تو تست پروتئوس هم همین مشکل هست ....
دوستان یک نگاه به برنامه بندازید ببینید میدون مشکل از کجاست ؟؟؟
پیشاپیش از تمامی دوستان متشکرم ...
دوستان به یک مشکل برخوردم که خواستم به مانند همیشه مزاحم شما دوستان شوم برای حل مشکل ...
مشکل :
مشکل اینجاست که در مدارم سه کلید اضافه نمودم و برای مدار یک منو ساختم .... حالا وقتی مداررا روشن میکنم وارد منو که میشوم هر ثانیه صفحه ال سی دی میره و میاد تو تست پروتئوس هم همین مشکل هست ....
دوستان یک نگاه به برنامه بندازید ببینید میدون مشکل از کجاست ؟؟؟
کد:
$regfile = "m32def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Config Adc = Single , Prescaler = Auto , Reference = Internal
Config Portc = Output
Config Portd = Output
Config Portb = Output
Config Pina.0 = Input
Config Pina.1 = Input
Config Pina.5 = Input 'Up
Config Pina.6 = Input 'Down
Config Pina.7 = Input 'Mode
Set Porta.5
Set Porta.6
Set Porta.7
Up_key Alias Pina.5
Down_key Alias Pina.6
Mode_key Alias Pina.7
Config Clock = Soft
Time$ = "23:59:50"
Deflcdchar 0 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32
Deflcdchar 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ' replace ? with number (0-7)
Deflcdchar 2 , 32 , 8 , 21 , 13 , 5 , 10 , 20 , 32 ' replace ? with number (0-7)
Deflcdchar 3 , 1 , 32 , 1 , 1 , 1 , 2 , 4 , 32 ' replace ? with number (0-7)
Deflcdchar 4 , 16 , 17 , 16 , 29 , 13 , 2 , 4 , 32 ' replace ? with number (0-7)
Deflcdchar 5 , 32 , 32 , 32 , 21 , 17 , 17 , 14 , 32 ' replace ? with number (0-7)
Dim A As Word
Dim B As Word
Dim C As Single
Dim Uptemp As Single
Dim Downtemp As Single
Dim Fan As Single
Dim Motor As Single
Dim Heater As Single
Dim Day As Single
Dim Menu As Single
Day = 0
Uptemp = 38
Downtemp = 36
Fan = 00
Heater = 00
Motor = 00
Cursor Off
Normal:
Enable Interrupts
Waitms 500
Start Adc
Do
A = Getadc(0)
B = Getadc(1)
C = A - B
C = C / 4
If Mode_key = 0 Then
Cls
Disable Interrupts
Incr Menu
If Menu > 5 Then
Menu = 0
Goto Normal
End If
Waitms 200
End If
Select Case Menu
Case 1:
Cls : Home : Lcd "UP TEMP = " ; Uptemp
Waitms 200
If Up_key = 0 Then
If Uptemp < 60 Then Incr Uptemp
End If
If Down_key = 0 Then
If Uptemp > 0 Then Decr Uptemp
End If
Case 2:
Cls : Home : Lcd "DOWN TEMP = " ; Downtemp
Waitms 200
If Up_key = 0 Then
If Downtemp < 60 Then Incr Downtemp
End If
If Down_key = 0 Then
If Downtemp > 0 Then Decr Downtemp
End If
Case 3:
Cls : Home : Lcd "MOTOR OFF = " ; Motor
Waitms 200
If Up_key = 0 Then
If Motor < 1 Then Incr Motor
End If
If Down_key = 0 Then
If Motor > 0 Then Decr Motor
End If
Case 4:
Cls : Home : Lcd "FAN OFF = " ; Fan
Waitms 200
If Up_key = 0 Then
If Fan < 1 Then Incr Fan
End If
If Down_key = 0 Then
If Fan > 0 Then Decr Fan
End If
Case 5:
Cls : Home : Lcd "HEATER OFF = " ; Heater
Waitms 200
If Up_key = 0 Then
If Heater < 1 Then Incr Heater
End If
If Down_key = 0 Then
If Heater > 0 Then Decr Heater
End If
End Select
Home : Lcd "Temp =" ; C ; Chr(0) ; "c "
Lowerline : Lcd ; Chr(5) ; Chr(4) ; ":" ; Time$ ; Chr(3) ; Chr(2) ; ":" ; Day ;
If Time$ = "00:00:00" Then Day = Day + 1
If C < Downtemp Then Set Portb.0
If C >= Uptemp Then Reset Portb.0
If Fan = 1 Then Reset Portb.1
If Heater = 1 Then Reset Portb.0
If Motor = 1 Then Reset Portb.2
Loop
End




دیدگاه