اطلاعیه

Collapse
No announcement yet.

بررسی برنامه بسکام

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    بررسی برنامه بسکام

    باسلام
    من در مورد برنامه زیر مشکلی داشتم در سیمولاتور بسکام چکش کردم جواب می دهد اما پرش دارد در پروتئوس هم برنامه پرش دارد نمی دانم شاید میکرو ریست می شود به طوری که اصلا نمی توان صفحه نمایش را خواند
    از اساتید استدعا دارم راهنماییم کنند

    regfile = "M16def.dat"
    $crystal = 1000000

    Config Portd = Output
    Config Pinb.2 = Input
    Config Pinb.3 = Input
    Config Pinb.4 = Input
    Config Pinb.5 = Input

    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
    Config Lcd = 20 * 4
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    Config Portd = Output
    Config Portb = Input
    Config Debounce = 50

    Start Adc


    Seting Alias Pinb.2 : Up Alias Pinb.3 : Down Alias Pinb.4 : Menu Alias Pinb.5
    Dim T0 As Word , T1 As Word , Temp As Word
    Dim A As Byte , B As Word , C As Byte , D As Byte , E As Byte , F As Single
    Dim O As Byte , Of As Byte , M As Byte , S As Byte , , Cx As Byte
    Dim X As Word , Y As Word , Z As Word , Ch As Single , Tc As Single , Tr As Single
    Dim W As Word , U As Single , J As Single , L As Single , H As Single , Q As Single,
    Dim V As Single , R As Single , Pv As Single , Pc As Single , N As Single
    Declare Sub Tempsens
    Declare Sub Key
    Declare Sub Llcd

    Cursor Off

    Do
    Call Key
    Call Tempsens
    Call Llcd
    Loop

    End
    '============================================ ===================================
    Sub Key
    If M <> 0 Then
    If Seting = 0 Then
    Incr S
    Waitms 200
    If S > 3 Then S = 0
    End If

    If S = 1 Then
    Locate 2 , 4
    Cursor Off Noblink
    Waitms 10
    Cursor On Blink
    Waitms 10
    Cursor Off Noblink
    Waitms 10
    Cursor On Blink
    Waitms 10
    Cursor Off Noblink
    End If
    If S = 2 Then
    Locate 3 , 3
    Cursor Off Noblink
    Waitms 10
    Cursor On Blink
    Waitms 10
    Cursor Off Noblink
    Waitms 10
    Cursor On Blink
    Waitms 10
    Cursor Off Noblink
    End If
    If S = 3 Then
    Locate 4 , 4
    Cursor Off Noblink
    Waitms 10
    Cursor On Blink
    Waitms 10
    Cursor Off Noblink
    Waitms 10
    Cursor On Blink
    Waitms 10
    Cursor Off Noblink
    End If

    End If
    If Menu = 0 Then
    Incr M
    Cls
    Waitms 1000
    If M > 1 Then M = 0

    Cls
    O = C
    Of = D
    Cx = E
    S = 0

    End If

    If Up = 0 Then

    If S = 1 Then
    Incr O
    Waitms 50
    If M = 1 Then C = O

    End If
    If S = 2 Then
    Incr Of
    Waitms 50
    If M = 1 Then D = Of

    End If
    If S = 3 Then
    Incr Cx
    Waitms 50
    If M = 1 Then E = Cx

    End If
    End If
    If Down = 0 Then
    If S = 1 Then
    Decr O
    Waitms 150
    If M = 1 Then C = O

    End If
    If S = 2 Then
    Decr Of
    Waitms 150
    If M = 1 Then D = Of
    End If
    If S = 3 Then
    Decr Cx
    Waitms 150
    If M = 1 Then E = Cx
    End If
    End If
    End Sub
    '============================================ ===================================
    Sub Tempsens


    X = Getadc(0)
    Y = Getadc(1)
    Temp = X - Y
    Temp = Temp / 4
    Ch = Temp * 1.8
    Ch = Ch + 502
    Tc = T1 + 470
    Tr = Ch / Tc
    Z = Getadc(2)
    Z = Z / 3
    U = Tr ^ 6
    U = 0.16934 * U
    F = Log(tr)
    F = 1.28862 * F
    J = 1 / Tr
    J = 6.09648 * J
    H = 5.92714 - J
    H = H - F
    H = H + Y
    L = Tr ^ 6
    L = 0.4357 * L
    Q = Log(tr)
    Q = 13.4721 * Q
    V = 1 / Tr
    V = 15.6875 * V
    N = 15.2518 - V
    N = N - Q
    N = N + L
    R = W * N
    R = R + H
    R = Exp(r)
    Pv = Pc * R
    Pv = A
    Waitms 1000


    End Sub

    '============================================ ===================================
    Sub Llcd
    If M = 0 Then
    Locate 2 , 1
    Lcd "Temp=" ; Temp ; Chr(0) ; "c"
    Locate 3 , 1
    Lcd "pv=" ; A ; "psia"
    Locate 4 , 1
    Lcd "p=" ; Z ; "psia"
    End If
    If M = 1 Then
    Locate 2 , 1
    Lcd "pc=" ; C ; " " ; "psia"
    Locate 3 , 1
    Lcd "w=" ; D ; " "
    Locate 4 , 1
    Lcd "T1=" ; E ; " "
    End If


    #2
    پاسخ : بررسی برنامه بسکام

    سلام
    دوست عزیز، اگه که برنامه و فایل پروتئوس رو پلود کنی ، دوستان بهتر میتونن کمکت کنند.

    راستی من 2 تا ایراد از برنامه ات گرفتم. :wow:
    1- باید اینو "$" اول regfile بنویسی
    2-یه End Sub هم باید آخر برنامه ات اضافه کنی.
    تشکر لازم نیست. :^O
    اینها همش وظیفه ست. :^O

    دیدگاه

    لطفا صبر کنید...
    X