اطلاعیه

Collapse
No announcement yet.

شمارش با 7seg

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

    شمارش با 7seg

    من یه برنامه ی شمارش با 7seg میخوام از 0 تا 99
    بدون استفاده از تایمر و کانتر :sad:

    #2
    پاسخ : شمارش با 7seg

    منظورتون از شمارش بصورت خودکار هست یا با زدن کلید بشماره؟

    دیدگاه


      #3
      پاسخ : شمارش با 7seg

      با کلید
      زمانی که کلید رهاست شمارش صعودی
      با فشرده شدن
      نزولی

      دیدگاه


        #4
        پاسخ : شمارش با 7seg

        $regfile = "m32def.dat"
        $crystal = 8000000
        Config Porta = Output
        Config Portc = Output
        Dim A As Byte , B As Byte , C As Byte
        '-----------------------------------------
        L3:
        A = 0
        C = 0
        '-----------------------------------------
        L4:
        B = Lookup(a , 7seg)
        Porta = B

        L1:
        If Pinb.0 = 1 Then
        Incr A
        Else
        Goto L5
        If A = 10 Then Goto L2

        End If

        L2:
        C = Lookup(c , 7seg)
        Portc = C
        Incr C
        If C = 10 Then
        Goto L3
        Else
        Goto L1
        End If
        L5:
        B = Lookup(a , 7seg)
        Porta = B
        Decr A
        If A < 0 Then

        C = Lookup(c , 7seg)
        Portc = C
        Decr C
        If C < 0 Then Goto L3
        End If

        '-------------------------------------------------------------------------------
        End 'end program
        '-------------------------------------------------------------------------------
        7seg:
        Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F

        من این جوری نوشتم ولی نمی دونم درسته یا نه
        وسیله هم ندارم که سخت افزارش و امتحان کنم :bye

        دیدگاه


          #5
          پاسخ : شمارش با 7seg

          سلام
          اینم سورس
          $regfile = "m8def.dat"
          $crystal = 8000000
          Config Pinc.0 = Input
          Config Portb = Output
          Config Portd = Output
          Dim B As Byte , K As Byte
          Dim A As Byte , W As Byte
          K = Lookup(b , Table)
          W = Lookup(a , Table)
          Portb = K
          Portd = W
          Do
          Debounce Pinc.0 , 1 , Show , Sub
          Loop
          End
          Show:
          Incr B
          If B > 9 Then
          B = 0
          Incr A
          End If
          If A > 9 And B = 0 Then
          A = 0
          End If
          K = Lookup(b , Table)
          W = Lookup(a , Table)
          Portb = K
          Portd = W
          Return
          Table:
          'Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90
          'Data &B11000000 , &B11111001 , &B0100100 , &B10110000 , &B10011001 , &B10010010 , &B10000010 , &B11111000 , &B00000000 , &B10010000
          Data &B0111111 , &B0000110 , &B1011011 , &B1001111 , &B1100110 , &B1101101 , &B1111101 , &B0000111 , &B1111111 , &B1101111

          دوتا سون سگمنت یکی به پوت B و یکی به پورت d وصل میکنی و کلید رو به Pinc.0 و در آخر موفق باشی. :mrgreen:
          سه توصیه دارم:
          1.کار 2.کار 3.کار
          ادیسون

          دیدگاه


            #6
            پاسخ : شمارش با 7seg

            ما زنده به آنیم که آرام نگیریم موجیم که آسودگی ما عدم ماست

            وقتی یک ملت برای فرهنگ و نژاد و ملیت خویش ارزشی قائل نشد و حقی را که طبیعت برای نگاهداری نژاد پاکش به او ارزانی داشته بود پایمال ساخت و به بیگانگان روی آورد و تسلیم شد دیگر حق ندارد از شکست و بدبختی سیاسی که خودش باعث آن شده است شکایت کند .ادولف هیتلر

            r.babazadeh@yahoo.com

            دیدگاه


              #7
              پاسخ : شمارش با 7seg

              سلام.
              برنامه اقا حسین کفایت کرد یا بازم ادامه بدیم...؟ :biggrin:

              دیدگاه


                #8
                پاسخ : شمارش با 7seg

                قسمت نزولیش درست کردم
                یعنی زمانی که کلید رهاست
                ممنون

                دیدگاه


                  #9
                  پاسخ : شمارش با 7seg

                  من این برنامه رو با کمک دوستان این جوری نوشتم
                  دوستان یه نگاهی بکنن ببینن درسته؟

                  $regfile = "m8def.dat"
                  $crystal = 8000000
                  Config Pinc.0 = Input
                  Config Portb = Output
                  Config Portd = Output
                  Dim B As Byte , K As Byte
                  Dim A As Byte , W As Byte
                  K = Lookup(b , Table)
                  W = Lookup(a , Table)
                  Portb = K
                  Portd = W
                  Do
                  Debounce Pinc.0 , 1 , Show1 , Sub
                  Debounce Pinc.0 , 0 , Show2 , Sub
                  Loop
                  End
                  Show1:
                  Incr B
                  If B > 9 Then
                  B = 0
                  Incr A
                  End If
                  If A > 9 And B = 9 Then
                  A = 0
                  B = 0
                  End If
                  K = Lookup(b , Table)
                  W = Lookup(a , Table)
                  Portb = K
                  Portd = W
                  Show2:
                  Decr B
                  If B < 0 Then
                  B = 9
                  Decr A
                  End If
                  If A < 0 And B = 0 Then
                  A = 0
                  B = 0
                  End If
                  Return

                  Table:
                  Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F
                  موفق باشین :bye

                  دیدگاه


                    #10
                    پاسخ : شمارش با 7seg

                    سلام سارا گل
                    برنامت یه مشکل کوچولو داره
                    1. اینکه زیربرنامه اولی که برای مقدار کاهشی هستش RETURN نداره.
                    2.اینکه تو زیر برنامه دومی مقدار K و W تو پورت ریخته نمیشه و از جدول LOOKUP مقدار رو انتخاب نمیکنه.
                    3.اگه توضیحام مشکل داره دوستان محبت کنن تو گوشم بزنن یعنی بهم گوش زد کنن. :mrgreen:

                    یه سوال ازخودتون: مگه شما از برنامه شبیه سار استفاده نمیکنین (برنامه پروتئوس) ؟
                    دمتون گرم
                    سه توصیه دارم:
                    1.کار 2.کار 3.کار
                    ادیسون

                    دیدگاه


                      #11
                      پاسخ : شمارش با 7seg

                      سلام.منم فرمایشات آقا حسین رو تایید میکنم.

                      دیدگاه

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