اطلاعیه

Collapse
No announcement yet.

مشکل با تایمر و کانتر

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

    مشکل با تایمر و کانتر

    با سلام من در زمینه میکرو تازه کارم یک بر نامه برای کنترل زاویه آلفا نوشتم که با یک مدار آشکار ساز عبور از صفر پالسی به پایه t1 داده شود که از رابطه t=1/f به ازای هر 18کیلو هرتز یک درجه میشود یعنی اگر کانتر 18000 پالس بشمارد معادل یک درجه خواهد شد و دو کلید up ,down برای افزایش و کاهش اگر ممکنه لطف کنید و نظرتون را راجع به برنامه زیر بفرمایید

    $regfile = "m32def.dat"
    $crystal = 16000000
    '-----------------------------------------------------

    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5
    Config Timer1 = Counter , Edge = Rising , Compare A = Set '
    Config Pina.0 = Input
    Config Pina.1 = Input
    Config Portd.0 = Output
    Config Portc.7 = Output
    Config Int0 = Rising
    Enable Interrupts
    Enable Oc1a
    Stop Timer1
    On Oc1a T2
    Compare1a = 18000

    Dim B As Byte

    Dim E As Eram Byte
    Dim D As Byte
    Dim F As Single
    Up Alias Pina.0
    Down Alias Pina.1

    If E > 180 Then E = 180
    B = E
    D = 0

    Do
    If Up = 0 Then
    If B > 0 Then Decr B
    Waitms 10
    E = B
    End If

    If Down = 0 Then
    If B < 180 Then Incr B
    Waitms 10
    E = B
    End If



    Cls
    Lcd B
    Waitms 500

    Loop

    T2:
    Set Portd.0
    For D = 0 To B

    Next D
    Reset Portd.0


    Return

    اضافه شده در تاریخ :
    مشکل اینه که موقع فشردن میکرو سوییچ برنامه هنگ میکنه اساتید لطفا راهنمایی کنید


    اضافه شده در تاریخ :
    این مساله برای من واقعا مهمه و فکر میکنم اساتید بسیاری در سایت هستند که این برنامه براشون خیلی ساده است ولی ای کاش کم لطفی نمی کردند
لطفا صبر کنید...
X