ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 14
  1. #1
    2009/04/26
    تبريز
    222
    40

    کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    با سلام دوستان من يه برنامه تايمري دارم اين برنامه تايمر با 7سگمنت اند مشترک هستش من اين برنامه رو واسه کاتد مشترک نياز داشتم ممنون ميشم کمک کنين تا برنامه رو تغيير بدم براي کاتد مشترک
    کد:
    '*************************************
    'Name : CMC Timer (ver 2.1)
    'Type : 4-Digit - 7SEG-CA
    'Date ; 1389/9/28
    'Designer : ESMAEIL MOHAMMAD ZADEH
    'Mobile : 09139545140
    'Mail : TASVIRAN.ELECTRONIC@Gmail.com
    '*************************************
    $regfile = "m8def.dat" : $crystal = 8000000 : Enable Interrupts
    
    Config Debounce = 30
    Config Clock = Soft , Gosub = Sectic
    Config Timer1 = Timer , Prescale = 64 : Enable Timer1 : On Ovf1 Blinker
    
    'Declare Sub Program
      Declare Sub Selector : Declare Sub Show_puse : Declare Sub Show_play
    'Config I/O:
      Config Portd = Output : 7seg Alias Portd
      Config Portb.0 = Output : Dig1 Alias Portb.0
      Config Portb.1 = Output : Dig2 Alias Portb.1
      Config Portb.2 = Output : Dig3 Alias Portb.2
      Config Portb.3 = Output : Dig4 Alias Portb.3
      Config Portb.4 = Output : Motor Alias Portb.4
      Config Portb.5 = Output : Seco Alias Portb.5
      Config Portc.5 = Output : Dp Alias Portc.5
    
      Config Pinc.0 = Input : Up Alias Pinc.0
      Config Pinc.1 = Input : Dn Alias Pinc.1
      Config Pinc.2 = Input : Set_ Alias Pinc.2
      Config Pinc.4 = Input : Sw Alias Pinc.4
    'Var:
      Dim A As Byte , B As Byte , Puse As Byte , Sel As Byte , Run As Bit
      Dim S As Byte , Button As Bit , Change As Bit
      Dim M As Byte , H As Byte , I As Byte
      Dim S2 As Byte , M2 As Byte , H2 As Byte
      Dim Num As Byte , Yek As Byte , Dah As Byte
    'Eram Var:
      Dim Em As Eram Byte , Eh As Eram Byte
      Dim Em2 As Eram Byte , Eh2 As Eram Byte
      Dim Epuse As Eram Byte
    'Defult:
      If Em = 255 Then Em = 0 : If Eh = 255 Then Eh = 0
      If Em2 = 255 Then Em2 = 0 : If Eh2 = 255 Then Eh2 = 0
      If Epuse = 255 Then Epuse = 1
      M = Em : H = Eh : M2 = Em2 : H2 = Eh2 : Puse = Epuse
      S2 = 0 : A = 0 : B = 0 : Run = 0 : Sel = 0 : Button = 0
    '************************************ MAIN PROGRAM *****************************
    Begin:
      Change = 0
    Main:
      Select Case Puse
          Case 0:
               Num = M2 : Gosub Minute
               Num = H2 : Gosub Hour
          Case 1:
               Call Show_puse
      End Select
    
      Gosub Check_key
    
      If Sel <> 0 Then
       Call Selector
       A = 0
       Do
         Num = M2 : Gosub Minute
         Num = H2 : Gosub Hour
       Loop Until A = 1
      End If
    
      If Run = 1 Then Jmp Motor_driver
    
      If M <> 0 Or H <> 0 Then
       If S2 = 0 And M2 = 0 And H2 = 0 Then Jmp Motor_driver
      End If
    
      If B >= 10 Then : Sel = 0 : Change = 0 : End If
    JMP Main
    '************************************* CHECK KEY *******************************
    Check_key:
      If Puse = 0 Then
         Debounce Set_ , 1 , Setting , Sub
         Debounce Dn , 1 , Decrease , Sub
      End If
      Debounce Up , 1 , Increase , Sub
    Return
    '************************************* MINUTE **********************************
    Minute:
      Dah = Num / 10 : Yek = Dah * 10 : Yek = Num - Yek
      Dig1 = 1 : Dp = 1
      7seg = Lookup(yek , Dta)
      Waitms 2
      Dig1 = 0 : Dig2 = 1 : Dp = 1
      7seg = Lookup(dah , Dta)
      Waitms 2
      Dig2 = 0
    Return
    '************************************* HOUR ************************************
    Hour:
      Dah = Num / 10 : Yek = Dah * 10 : Yek = Num - Yek
      Dig3 = 1 : Dp = 0
      7seg = Lookup(yek , Dta)
      Waitms 2
      Dig3 = 0 : Dig4 = 1 : Dp = 1
      7seg = Lookup(dah , Dta)
      Waitms 2
      Dig4 = 0
    Return
    '************************************* MOTOR DRIVER ****************************
    Motor_driver:
      B = 0 : S2 = 0 : M2 = 0 : H2 = 0 : Run = 0
      Waitms 4
      Em2 = M2 : Waitms 4
      Eh2 = H2
      Motor = 1
      If Sw = 0 Then
         Do
          If B >= 20 Then
            S2 = 0 : Reset Motor : Gosub Setpoint : Goto Begin
          End If
          Call Show_play
         Loop Until Sw = 1
    
         S2 = 0 : M2 = 0 : H2 = 0 : Motor = 0 : Gosub Setpoint : Goto Begin
      Else
         Do
          If B >= 15 Then
            S2 = 0 : Reset Motor : Gosub Setpoint : Goto Begin
          End If
          Call Show_play
          If S >= 3 Then : Button = 1 : End If
         Loop Until Button = 1
         Button = 0
      End If
    jmp Motor_driver
    '************************************* DECREASE ********************************
    Decrease:
      B = 0
      Select Case Sel
          Case 0:
               Do
                Num = M2 : Gosub Minute
                Num = H2 : Gosub Hour
                If B >= 3 Then
                  Puse = 1 : Waitms 3
                  Epuse = 1 : Exit Do
                End If
               Loop Until Dn = 0
          Case 1:
               Change = 1
               Do
                Num = M2 : Gosub Minute
                Num = H2 : Gosub Hour
                If B >= 2 Then
                  B = 3
                  For I = 1 To 125         'WAITMS 500
                     Num = M2 : Gosub Minute
                     Num = H2 : Gosub Hour
                  Next I
                  M = M - 1
                  If M = 255 Then M = 59 : M2 = M
                End If
               Loop Until Dn = 0
               M = M - 1
               If M = 255 Then M = 59 : M2 = M
          Case 2:
               Change = 1
               Do
                Num = M2 : Gosub Minute
                Num = H2 : Gosub Hour
                If B >= 2 Then
                  B = 3
                  For I = 1 To 125         'WAITMS 500
                     Num = M2 : Gosub Minute
                     Num = H2 : Gosub Hour
                  Next I
                  H = H - 1
                  If H = 255 Then H = 99 : H2 = H
                End If
               Loop Until Dn = 0
               H = H - 1
               If H = 255 Then H = 99 : H2 = H
      End Select
    Return
    '************************************* INCREASE ********************************
    Increase:
      B = 0
      Select Case Sel
          Case 0:
               Do
                Num = M2 : Gosub Minute
                Num = H2 : Gosub Hour
                If B >= 3 Then
                  If Puse = 1 Then
                   Puse = 0 : Waitms 3
                   Epuse = 0 : Exit Do
                  Else
                   Run = 1 : Exit Do
                  End If
                End If
               Loop Until Up = 0
          Case 1:
               Change = 1
               Do
                Num = M2 : Gosub Minute
                Num = H2 : Gosub Hour
                If B >= 2 Then
                  B = 3
                  For I = 1 To 125         'WAITMS 500
                     Num = M2 : Gosub Minute
                     Num = H2 : Gosub Hour
                  Next I
                  M = M + 1
                  If M > 59 Then M = 0 : M2 = M
                End If
               Loop Until Up = 0
               M = M + 1
               If M > 59 Then M = 0 : M2 = M
          Case 2:
               Change = 1
               Do
                Num = M2 : Gosub Minute
                Num = H2 : Gosub Hour
                If B >= 2 Then
                  B = 3
                  For I = 1 To 125         'WAITMS 500
                     Num = M2 : Gosub Minute
                     Num = H2 : Gosub Hour
                  Next I
                  H = H + 1
                  If H > 99 Then H = 0 : H2 = H
                End If
               Loop Until Up = 0
               H = H + 1
               If H > 99 Then H = 0 : H2 = H
      End Select
    Return
    '************************************* SETTING *********************************
    Setting:
      B = 0
      Select Case Sel
          Case 0:
             Do
               If B >= 3 Then : Sel = 1 : Exit Do : End If
               Num = M2 : Gosub Minute
               Num = H2 : Gosub Hour
             Loop Until Set_ = 0
             B = 0
          Case Else:
             Sel = Sel + 1
             If Sel > 2 Then
               Sel = 0
               If Change = 1 Then
                S2 = 0 : Sel = 0 : Change = 0 : Waitms 4
                Em = M : Waitms 4
                Eh = H
                S2 = 0 : M2 = M : H2 = H
                Waitms 4
                Em2 = M2 : Waitms 4
                Eh2 = H2
               End If
             End If
      End Select
    Return
    '************************************* SETPOINT ********************************
    Setpoint:
      S2 = 0 : M2 = M : H2 = H
      Waitms 4
      Em2 = M2 : Waitms 4
      Eh2 = H2
    Return
    '************************************* SUB PROGRAM *****************************
    Sub Show_puse
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      Waitus 1
      Dig1 = 1 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      7seg = &H8C                       'P
      Waitms 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      Waitus 1
      Dig1 = 0 : Dig2 = 1 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      7seg = &HC0                       'O
      Waitms 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      Waitus 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 1 : Dig4 = 0 : Dp = 1
      7seg = &H87                       't
      Waitms 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      Waitus 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 1 : Dp = 1
      7seg = &H92                       'S
      Waitms 1
    End Sub
    
    Sub Show_play
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      Waitus 1
      Dig1 = 1 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      7seg = &H91                       'Y
      Waitms 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      Waitus 1
      Dig1 = 0 : Dig2 = 1 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      7seg = &H88                       'A
      Waitms 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      Waitus 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 1 : Dig4 = 0 : Dp = 1
      7seg = &HC7                       'L
      Waitms 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 0 : Dp = 1
      Waitus 1
      Dig1 = 0 : Dig2 = 0 : Dig3 = 0 : Dig4 = 1 : Dp = 1
      7seg = &H8C                       'P
      Waitms 1
    End Sub
    
    '-------------------------------------------------------------------------------
    Sub Selector
      Select Case Sel
         Case 1:                      'Blink Minute
            A = 0
            Do
             Dig1 = 0 : Dig2 = 0
             Num = H2 : Gosub Hour : Gosub Check_key
            Loop Until A = 1
         Case 2:                      'Blink Hour
            A = 0
            Do
             Dig3 = 0 : Dig4 = 0
             Num = M2 : Gosub Minute : Gosub Check_key
            Loop Until A = 1
      End Select
    End Sub
    '************************************* SECTIC **********************************
    Sectic:
      B = B + 1
      If Sw = 0 Then : Incr S : Else : S = 0 : End If
      If Sel = 0 And Puse = 0 Then
         Toggle Seco
         If M <> 0 Or H <> 0 Then
          S2 = S2 + 1
          If S2 > 59 Then
            S2 = 0
            If M2 => 0 Then
             M2 = M2 - 1
             If M2 = 255 Then
               M2 = 59
               If H2 > 0 Then H2 = H2 - 1
             End If
            End If
            Waitms 2
            Em2 = M2 : Waitms 2
            Eh2 = H2
          End If
         End If
      Else
         Seco = 1
      End If
    Return
    '*******************************************************************************
    Blinker:
      Incr A
      If A = 2 Then A = 0
    Return
    '*******************************************************************************
    Dta:
    Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90
    
    'END END END END END END END END END END END END END END END END END END
    a happy person is one who wants happiness for other
  2. #2
    2013/07/09
    1
    0

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک


    #include <mega16.h>
    #include <delay.h>

    // Alphanumeric LCD Module functions
    #include <lcd.h>
    unsigned char second,minute,hour,day,month,year;
    unsigned char lcd_buff[30];






    // Timer2 overflow interrupt service routine
    interrupt [TIM2_OVF] void timer2_ovf_isr(void)
    {
    // Place your code here
    year=91;
    month=02;
    day=11;
    hour=12;
    minute=10;
    second=50;
    if(second==59)
    {
    second=0;
    if(minute==59)
    {
    minute=0;
    if(hour==23)
    hour=0;
    {

    if(day==30)
    {
    day=0;

    if(month==12)
    {
    month=0;
    year++;
    }
    else
    month++;
    }
    else
    day++;
    }

    hour++;
    }
    else
    minute++;
    }
    else
    second++;



    porta=second;
    portb=minute;



    }

    // Declare your global variables here

    void main(void)
    {
    // Declare your local variables here

    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTA=0x00;
    DDRA=0xff;

    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTB=0x00;
    DDRB=0xff;

    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTC=0x00;
    DDRC=0x00;

    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
    PORTD=0x00;
    DDRD=0x00;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: 16000.000 kHz
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    TCCR0=0x01;
    TCNT0=0x00;
    OCR0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;

    // Timer/Counter 2 initialization
    // Clock source: TOSC1 pin
    // Clock value: PCK2/128
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0x08;
    TCCR2=0x05;
    TCNT2=0x00;
    OCR2=0x00;

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x40;

    // USART initialization
    // USART disabled
    UCSRB=0x00;

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;

    // ADC initialization
    // ADC disabled
    ADCSRA=0x00;

    // SPI initialization
    // SPI disabled
    SPCR=0x00;

    // TWI initialization
    // TWI disabled
    TWCR=0x00;

    // Alphanumeric LCD initialization
    // Connections specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS - PORTA Bit 0
    // RD - PORTA Bit 1
    // EN - PORTA Bit 2
    // D4 - PORTA Bit 4
    // D5 - PORTA Bit 5
    // D6 - PORTA Bit 6
    // D7 - PORTA Bit 7
    // Characters/line: 16
    lcd_init(16);

    // Global enable interrupts
    #asm("sei&quot

    while (1)
    {
    // Place your code here

    }
    }


    مدار این یک دیکدر دارد لطفا از این برنامه کد ویژن استفاده کنید من کامل شده را با پول ناقابل با در یافت ازشما به شما تحویل می دهم :applause:
  3. #3
    2009/04/26
    تبريز
    222
    40

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    lمهندس جان دستت درد نکنه ولي جمله اخري رو که گفتينو متوجه نشدن چي چي شد
    کي به کي پول داد
    a happy person is one who wants happiness for other
  4. #4
    2012/07/01
    میانه
    396
    20

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    نقل قول نوشته اصلی توسط KIYANOUSHA
    مدار این یک دیکدر دارد لطفا از این برنامه کد ویژن استفاده کنید من کامل شده را با پول ناقابل با در یافت ازشما به شما تحویل می دهم
    داداش کاسبی راه انداختی ؟
    این بنده خدا برنامش با بیسک هستش شما با c کد و گذاشتی ؟
    حالا این دیکدر به چدردی میخوره ؟

    ذاذاش اگر با بیسیک بخوایی شاید بتونم کمکت کنم !

    خواستن توانستن است !
  5. #5
    2009/04/26
    تبريز
    222
    40

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    دمت گرم دادا
    دادا فقط ميخوام همين تايمر رو با کاتد مشترک راه بندازم اگه بخواين پروتوس هم بزارم
    a happy person is one who wants happiness for other
  6. #6
    2012/07/01
    میانه
    396
    20

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    بذار ببینم چیه ؟
    خواستن توانستن است !
  7. #7
    2009/04/26
    تبريز
    222
    40

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    lممنون از لطفت
    منبع:esmaeilavr.ir
    http://ritfile.com/up2/a6c514570914.rar
    a happy person is one who wants happiness for other
  8. #8
    2010/08/01
    170
    3

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    داداش هرجا 255 ديدي به صفر تبديل کن شايد کار کرد :biggrin:
    مشخصات من در لینک زیر
    http://www.eca.ir/forum2/index.php?topic=1721.msg698645#msg698645

    www.*********
  9. #9
    2009/04/26
    تبريز
    222
    40

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    نقل قول نوشته اصلی توسط majid68
    داداش هرجا 255 ديدي به صفر تبديل کن شايد کار کرد :biggrin:
    مهندس جدي ميگين يا شوخيه eepromچه ربطي به کاتد اند داره اخه
    a happy person is one who wants happiness for other
  10. #10
    2012/07/01
    میانه
    396
    20

    پاسخ : کمک براي تغيير برنامه بسکام از اند مشترک به کاتد مشترک

    1 . نوع 7 seg خود را به کاتد مشترک تغییر دهید .
    2 .
    کد:
    Dta:
    Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F
    را به جای dat: در اخر برنامه قرار دهید .
    3 . در قسمتهای dig , dp تمامی صفر ها را به یک و یکها را به صفر تغییر دهید .
    4 . برنامه را کامپایل و اجرا نمایید .
    5 . موفق باشید ، تشکر لازم نیست !
    خواستن توانستن است !
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 14

موضوعات مشابه

  1. تبدیل کاتد مشترک به آند مشترک با ترانزیستور
    توسط Msn.elecomp در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 5
    آخرين نوشته: 2020/01/29, 22:39
  2. رول led rgb آند مشترک هست یا کاتد؟
    توسط M3R-E در انجمن نورپردازی و روشنایی
    پاسخ: 1
    آخرين نوشته: 2016/04/08, 00:50
  3. تفاوت نور 7seg اندمشترک و کاتد مشترک ؟؟؟
    توسط sma در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 4
    آخرين نوشته: 2015/09/19, 14:56
  4. پاسخ: 7
    آخرين نوشته: 2013/05/08, 18:09
  5. تبدیل برنامه ساعت دیجیتالی با 7 سگمنت کاتد مشترک به آند مشترک
    توسط outlandish992 در انجمن میکروکنترلرهای AVR
    پاسخ: 17
    آخرين نوشته: 2011/07/12, 17:50

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •