اطلاعیه

Collapse
No announcement yet.

پروژه های حرفه ای و ساده میکرو

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

    پروژه های حرفه ای و ساده میکرو

    این یه فلشر حرفه ای ولی ساده ساده کلی براش حالت نوشتم
    نوع آی سی :AT89C51
    تعداد ال ای دی:16
    این عکس مدار

    :nice:
    سورس هم پایین هستش
    پروژه بگین ما میزاریم رو تخم چشام oo:
    قبل از خروجتان قسمت نظر سنجی را پر کنید
    1,099
    عاله
    0%
    362
    حرف نداره
    0%
    305
    خیلی خوبه
    0%
    148
    خوبه
    0%
    151
    بد نیست
    0%
    133
    دودمانم بر باد رفت

    #2
    سورس فلشر

    کد:
    org	00
    start:mov	dptr,#800h
    MOV	R6,#3
    N1:MOV	R4,#8
    MOV	R5,#00H
    HARKATE1:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE1
    MOV	P0,#0FFH
    MOV	R5,#00H
    MOV	R4,#8
    M1:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,M1
    MOV	P1,#0FFH
    DJNZ	R6,N1
    
    ALLM:MOV	R4,#6H
    ALL1:CALL	ALL
    DJNZ	R4,ALL1
    
    MOV	R6,#3
    N2:MOV	R4,#8
    MOV	R5,#00H
    MOV	P0,#00H
    MOV	P1,#00H
    HARKATE2:MOV	A,R5
    MOVC	A,@A+DPTR
    CPL	A
    MOV	P0,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE2
    MOV	P0,#00H
    MOV	R5,#00H
    MOV	R4,#8
    M2:MOV	A,R5
    MOVC	A,@A+DPTR
    CPL	A
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,M2
    MOV	P1,#000H
    DJNZ	R6,N2
    
    ALLM1:MOV	R4,#6H
    ALL2:CALL	ALL
    DJNZ	R4,ALL2
    
    MOV	R5,#00H
    MOV	P0,#0FFH
    MOV	P1,#0FFH
    MOV	R6,#3
    N3:mov	dptr,#810h
    MOV	R4,#8
    MOV	R5,#00H
    HARKATE3:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE3
    MOV	R5,#00H
    MOV	R4,#8
    M3:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,M3
    
    PAK:MOV	DPTR,#820H
    MOV	R5,#00H
    MOV	R4,#8
    HARKATE4:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE4
    MOV	R5,#00H
    MOV	R4,#8
    M4:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,M4
    DJNZ	R6,N3
    
    ALLM2:MOV	R4,#6H
    ALL3:CALL	ALL
    DJNZ	R4,ALL3
    
    MOV	R6,#3
    N4:MOV	DPTR,#810H
    MOV	R4,#8
    MOV	R5,#00H
    HARKATE5:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE5
    
    MOV	DPTR,#820H
    MOV	R4,#8
    MOV	R5,#00H
    HARKATE6:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE6
    DJNZ	R6,N4
    
    
    ALLM3:MOV	R4,#6H
    ALL4:CALL	ALL
    DJNZ	R4,ALL4
    
    HARKATE7:
    MOV	P0,#0FFH
    MOV	P1,#0FFH
    MOV	R6,#4
    BARGASHT:CLR	P1.0
    CALL	DELAY
    CLR	P1.1
    CLR	P0.7
    CALL	DELAY
    CLR	P1.2
    CLR	P0.6
    CALL	DELAY
    CLR	P1.3
    CLR	P0.5
    CALL	DELAY
    CLR	P1.4
    CLR	P0.4
    CALL	DELAY
    CLR	P1.5
    CLR	P0.3
    CALL	DELAY
    CLR	P1.6
    CLR	P0.2
    CALL	DELAY
    CLR	P1.7
    CLR	P0.1
    CALL	DELAY
    CLR	P0.0
    CALL	DELAY
    RAFT:SETB	P0.0
    CALL	DELAY
    SETB	P0.1
    SETB	P1.7
    CALL	DELAY
    SETB	P0.2
    SETB	P1.6
    CALL	DELAY
    SETB	P0.3
    SETB	P1.5
    CALL	DELAY
    SETB	P0.4
    SETB	P1.4
    CALL	DELAY
    SETB	P0.5
    SETB	P1.3
    CALL	DELAY
    SETB	P0.6
    SETB	P1.2
    CALL	DELAY
    SETB	P0.7
    SETB	P1.1
    CALL	DELAY
    SETB	P1.0
    CALL	DELAY
    DJNZ	R6,BARGASHT
    
    ALLM4:MOV	R4,#6H
    ALL5:CALL	ALL
    DJNZ	R4,ALL5
    
    HARKATE8:MOV	P0,#0FFH
    MOV	P1,#0FFH
    MOV	R6,#9
    PARVAZ:CLR	P1.0
    CALL	DELAY
    SETB	P1.0
    BAZ:CLR	P1.1
    CLR	P0.7
    CALL	DELAY
    SETB	P1.1
    SETB	P0.7
    CLR	P1.2
    CLR	P0.6
    CALL	DELAY
    SETB	P1.2
    SETB	P0.6
    DJNZ	R6,BAZ
    MOV	R6,#15
    BAZZ:CLR	P1.3
    CLR	P0.5
    CALL	DELAY
    SETB	P1.3
    SETB	P0.5
    CLR	P1.2
    CLR	P0.6
    CALL	DELAY
    SETB	P1.2
    SETB	P0.6
    DJNZ	R6,BAZZ	
    
    ALLM5:MOV	R4,#6H
    ALL6:CALL	ALL
    DJNZ	R4,ALL6
    
    MOV	P0,#0FFH
    MOV	P1,#0FFH
    MOV	R6,#6
    N5:MOV	DPTR,#830H
    MOV	R4,#5
    MOV	R5,#00H
    HARKATE9:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE9
    
    MOV	DPTR,#840H
    MOV	R4,#5
    MOV	R5,#00H
    HARKATE10:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE10
    DJNZ	R6,N5
    
    ALLM6:MOV	R4,#6H
    ALL7:CALL	ALL
    DJNZ	R4,ALL7
    
    HARKATE11:MOV	R6,#25
    N6:MOV	P0,#55H
    MOV	P1,#55H
    CALL	DELAY
    MOV	P0,#0AAH
    MOV	P1,#0AAH
    CALL DELAY
    DJNZ	R6,N6
    
    ALLM7:MOV	R4,#6H
    ALL8:CALL	ALL
    DJNZ	R4,ALL8
    
    MOV	R5,#00H
    MOV	P0,#0FFH
    MOV	P1,#0FFH
    MOV	R6,#4
    N7:mov	dptr,#810h
    MOV	R4,#8
    MOV	R5,#00H
    HARKATE12:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE12
    MOV	R5,#00H
    MOV	R4,#8
    M7:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,M7
    
    PAK1:MOV	DPTR,#820H
    MOV	R5,#00H
    MOV	R4,#8
    HARKATE13:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE13
    MOV	R5,#00H
    MOV	R4,#8
    M8:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P1,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,M8
    DJNZ	R6,N7
    
    ALLM8:MOV	R4,#6H
    ALL9:CALL	ALL
    DJNZ	R4,ALL9
    
    HARKATE14:MOV	R6,#25
    N8:MOV	P1,#0EEH
    MOV	P0,#0EEH
    CALL	DELAY
    MOV	P1,#0DDH
    MOV	P0,#0DDH
    CALL	DELAY
    MOV	P1,#0BBH
    MOV	P0,#0BBH
    CALL	DELAY
    MOV	P1,#77H
    MOV	P0,#77H
    CALL	DELAY
    DJNZ	R6,N8
    
    ALLM9:MOV	R4,#6H
    ALL10:CALL	ALL
    DJNZ	R4,ALL10
    
    
    MOV	DPTR,#850H
    mil:MOV	R4,#15
    MOV	R5,#00H
    HARKATE15:MOV	A,R5
    MOVC	A,@A+DPTR
    MOV	P0,A
    CALL	DELAY
    INC	R5
    DJNZ	R4,HARKATE15
    MOV	R6,#6
    MILAD25:MOV	P0,#0FFH
    MOV	P1,#00H
    CALL	DELAY
    MOV	P1,#0FFH
    MOV	P0,#00H
    CALL	DELAY
    DJNZ	R6,MILAD25
    
    ALLM10:MOV	R4,#6H
    ALL11:CALL	ALL
    DJNZ	R4,ALL11
    
    MOV	R6,#10
    HARKATE16:MOV	P0,#0F0H
    MOV	P1,#0F0H
    CALL	DELAY
    MOV	P0,#0FH
    MOV	P1,#0FH
    CALL	DELAY
    DJNZ	R6,HARKATE16	
    
    ALLM11:MOV	R4,#6H
    ALL12:CALL	ALL
    DJNZ	R4,ALL12
    
    HARKATE17:MOV	R6,#6
    MILAD46:CLR	P1.0
    CLR	P0.0
    CALL	DELAY
    CLR	P0.7
    CLR	P1.7
    CALL	DELAY
    CLR	P0.6
    CLR	P1.6
    CALL	DELAY
    CLR	P0.5
    CLR	P1.5
    CALL	DELAY
    CLR	P0.4
    CLR	P1.4
    CALL	DELAY
    CLR	P0.3
    CLR	P1.3
    CALL	DELAY
    CLR	P0.2
    CLR	P1.2
    CALL	DELAY
    CLR	P0.1
    CLR	P1.1
    CALL	DELAY
    CALL	DELAY
    PAKBARG:SETB	P0.0
    CALL	DELAY
    SETB	P0.1
    SETB	P1.7
    CALL	DELAY
    SETB	P0.2
    SETB	P1.6
    CALL	DELAY
    SETB	P0.3
    SETB	P1.5
    CALL	DELAY
    SETB	P0.4
    SETB	P1.4
    CALL	DELAY
    SETB	P0.5
    SETB	P1.3
    CALL	DELAY
    SETB	P0.6
    SETB	P1.2
    CALL	DELAY
    SETB	P0.7
    SETB	P1.1
    CALL	DELAY
    SETB	P1.0
    CALL	DELAY
    DJNZ	R6,MILAD46
    
    ALLM12:MOV	R4,#6H
    ALL13:CALL	ALL
    DJNZ	R4,ALL13
    
    HARKATE18:
    MOV	R6,#25
    N12:MOV	P1,#0EEH
    MOV	P0,#0EEH
    CALL	DELAY
    MOV	P1,#0DDH
    MOV	P0,#0DDH
    CALL	DELAY
    MOV	P1,#0BBH
    MOV	P0,#0BBH
    CALL	DELAY
    MOV	P1,#77H
    MOV	P0,#77H
    CALL	DELAY
    DJNZ	R6,N12
    
    ALLM13:MOV	R4,#6H
    ALL14:CALL	ALL
    DJNZ	R4,ALL14
    
    
    JMP	start
    
    
    ALL:MOV	P0,#00H
    MOV	P1,#00H
    CALL DELAY1
    MOV	P0,#0FFH
    MOV	P1,#0FFH
    CALL	DELAY1
    RET
    
    
    org 800h
    DB	0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
    
    org	810h
    DB	0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H
    
    ORG	820H
    DB	01H,03H,07H,0FH,1FH,3FH,7FH,0FFH
    
    ORG	830H
    DB	0EFH,0C7H,83H,01H,00H
    
    ORG	840H
    DB	01H,83H,0C7H,0EFH,0FFH
    
    ORG	850H
    DB	0FEH,0FDH,0FAH,0F5H,0EAH,0D5H,0AAH,55H,2AH,15H,0AH,05H,02H,01H,00H
    
    DELAY: 
    MOV R2,#45
    LOOP2:MOV R1,#100
    LOOP1:MOV R0,#25
    LOOP:DJNZ R0,LOOP
    DJNZ R1,LOOP1
    DJNZ R2,LOOP2
    RET
    
    DELAY1: 
    MOV R2,#45
    LOOP5:MOV R1,#100
    LOOP4:MOV R0,#10
    LOOP3:DJNZ R0,LOOP3
    DJNZ R1,LOOP4
    DJNZ R2,LOOP5
    RET
    
    DELAY2: 
    MOV R2,#40
    LOOP8:MOV R1,#100
    LOOP7:MOV R0,#25
    LOOP6:DJNZ R0,LOOP6
    DJNZ R1,LOOP7
    DJNZ R2,LOOP8
    RET
    END
    دودمانم بر باد رفت

    دیدگاه


      #3
      فلشر 2

      این یخورده که نه خیلی سادس
      این عکسش

      این کدش به C
      کد:
      /*****************************************************
      Project : LED Flasher 
      Author :GT700           
      Company : ECA              
      Chip type      : ATmega16
      Clock frequency   : 4.000000 MHz
      *****************************************************/
      
      #include<mega16.h>
      #include<delay.h>
      #define xtal 4000000
      
      int i;
      
      void main (void)
      {
      	
      	DDRD = 0xFF;
      	
      	while(1)
      	{
      	
      		for(i = 1; i <= 128; i = i*2)
      		{
      			PORTD = i;
      			delay_ms(100);
      		}	
      			
      		for(i = 128; i > 1; i = i/2)
      		{
      			PORTD = i;
      			delay_ms(100);
      		}	
      		
      	}
      	
      }
      دودمانم بر باد رفت

      دیدگاه


        #4
        فرکانس متر با 97درصد دقت

        این عکسش

        این هم کدش به C
        کد:
        /*****************************************************
        ECA
        GT700
        Company : avr
        Comments: 
        Chip type      : ATmega16
        Program type    : Application
        Clock frequency   : 8.000000 MHz
        Memory model    : Small
        External SRAM size : 0
        Data Stack size   : 256
        *****************************************************/
        
        #include <mega16.h>
        #include <delay.h>
        #include <stdio.h>
        #include <lcd.h> 
        
        #asm
          .equ __lcd_port=0x1B ;PORTA
        #endasm
        
        unsigned long int timer0_ov;
        unsigned long int in_freq;
        unsigned char lcd_buff[20];
        
        interrupt [TIM0_OVF] void timer0_ovf_isr(void)
        {
        timer0_ov ++;
        }
        
        void main(void)
        {
        
        // Timer/Counter 0 initialization
        // Clock source: T0 pin Falling Edge
        // Mode: Normal top=FFh
        // OC0 output: Disconnected
        TCNT0=0x00;
        OCR0=0x00;
        TCCR0=0x00;
        
        // Timer(s)/Counter(s) Interrupt(s) initialization
        TIMSK=0x01;
        
        // LCD module initialization
        lcd_init(16);
        
        while (1)
        {
           TCCR0=0x06;   // Start Timer T0 pin Falling Edge
           #asm("sei")   // Global enable interrupts
           delay_ms(1000);
           #asm("cli");  // Global disable interrupts
           in_freq = timer0_ov * 256 + TCNT0;
           sprintf(lcd_buff,"GT700.Freqency=%d",in_freq);
           lcd_clear();
           lcd_puts(lcd_buff);
           TCCR0=0x00;  //Stopt Timer0
           timer0_ov=0;  //Prepare for next count
           TCNT0=0;    //Clear Timer0
           };
        }
        دودمانم بر باد رفت

        دیدگاه


          #5
          برد آموزشی AVR مدل GT700ورژن 1.00

          این عکسش دانلودش کنی همه چیز توشه
          اگه قطعه ای خوانا نبود بگین من میگم چیبوده
          مدل های جدید هم میزارم با ال سی دی و درایور استپ موتور

          دودمانم بر باد رفت

          دیدگاه


            #6
            ساعت حرفه ای دیدی

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

            کد مدار
            اون زیره
            مدار سفارش بدید ما بزاریم
            :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
            دودمانم بر باد رفت

            دیدگاه


              #7
              پروژه درخواستی

              با سلام
              اگر میشه یه اسیلوسکوپ با atmega16 و زبان C بذار(LCD گرافیکی)
              دست گلت درد نکنه :applause:

              دیدگاه


                #8
                پاسخ : پروژه درخواستی اسیلوسکوپ

                این اسلوسکوپ در خواستی شماس
                این کدش
                کد:
                '---------------------------------------------------------------
                'Digital Oscilloscope <Oscope.bas>
                'Programmer:MOHAMMAD_GT700@YAHOO.COM
                'Compiler : BASCOM 1.11.9.1
                'Copyright: (C) 2011 By ECA
                '---------------------------------------------------------------
                $regfile = "m16def.dat"
                $crystal = 16000000
                $hwstack = 64
                $swstack = 64
                $framesize = 64
                
                'GLCD
                $lib "glcdKS108.lbx"
                Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portc , _
                 Ce = 4 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
                
                'A2D
                Config Adc = Single , Prescaler = Auto , Reference = Internal
                Enable Adc
                Start Adc
                
                'I/O
                Config Pina.1 = Input                    'K1
                Config Pina.2 = Input                    'K2
                Config Pina.3 = Input                    'K3
                Config Pina.4 = Input                    'K4
                Config Pind.7 = Output                   'Buzzer Or Speaker (Click)
                Set Porta.1                         'Set Pullup Res
                Set Porta.2                         '//
                Set Porta.3                         '//
                Set Porta.4                         '//
                
                'Variables
                Dim A As Word
                Dim X As Byte, Speed As Word, Temp1 As Word
                Speed = 1
                Dim Refresh As Word
                Refresh = 40
                
                Cls
                Showpic 0, 0, Pic1
                Set Portd.7
                Waitms 100
                Reset Portd.7
                
                Do
                  'Horizontal Set
                  If Pina.1 = 0 Then
                   If Speed < 1000 Then
                     Incr Speed
                     'Set Portb.0
                     'Waitms 1
                     'Reset Portb.0
                   End If
                  End If
                  If Pina.2 = 0 Then
                   If Speed > 0 Then
                     Decr Speed
                     'Set Portb.0
                     'Waitms 1
                     'Reset Portb.0
                   End If
                  End If
                
                  'Refresh Speed Set
                  If Pina.3 = 0 Then
                    If Refresh < 4000 Then
                     Refresh = Refresh * 2
                     Set Portd.7                    'Click Sound
                     Waitms 1
                     Reset Portd.7
                    End If
                  End If
                  If Pina.4 = 0 Then
                    If Refresh > 2 Then
                     Refresh = Refresh / 2
                     Set Portd.7
                     Waitms 1
                     Reset Portd.7
                    End If
                  End If
                
                  For X = 0 To 127
                   A = Getadc(0)
                   A = A / 16
                   A = 64 - A
                
                   'Draw Line ---___---___---___
                   Pset X , A , 255
                
                   'Horizontal
                   For Temp1 = 1 To Speed
                     Waitus 1
                   Next Temp1
                
                  Next
                  Waitms Refresh
                  Cls
                  Showpic 0, 0, Pic1
                Loop
                End
                
                Pic1:
                $bgf "Oscope.bgf"
                این عکسش

                دودمانم بر باد رفت

                دیدگاه


                  #9
                  پاسخ : ساعت حرفه ای دیدی

                  نوشته اصلی توسط gt700
                  مدار سفارش بدید ما بزاریم
                  :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
                  من چند روزه میخواهم یک مدار ساده بسازم ولی وقت نمیشه ساختنش هم راحت حالا من میگم ببین میتونی طراحیش کنی که بعدا هم PCB رو خودم میزنم.
                  یک مدار دیمر از راه دور است و به این صورت کار میکند که
                  شما توسط یک کنترل تلویزون یا چیز دیگری پالسی را به مدار گیرنده میفرستید بعد در آن مدار - آیسی 555 پالس را دریافت میکند و پالس دیگری را به 4017 میفرستد .که 4017 9تا حالت دارد یعنی با دادن هر پالس به پین شماره 14 آن به ترتیب یکی از 9 خروجی خود را 1 میکند.
                  بعد هر پین را توسط ترانزیستور تقویت کرده و به رله میفرستیم.
                  هر رله به سر مقاومت مختلفی از 50-0کیلو متصل است که این مقاومت بجای ولوم دیمر قرار میگیرد.
                  و با زدن یک کلید میتوانیم نور لامپ را در 9 حالت تنظیم کنیم.
                  مدار جالب و کار آمدی میشود.
                  اگه مشگلی ندارید چند روزه میتوانید شماتیک را طراحی کنید؟
                  هنگامی که چیزی مینویسی، کاری نکن تنها کسی که از مغزش استفاده کرده باشد ،مدادت باشد .

                  \|/_\/_

                  دیدگاه


                    #10
                    اسیلاتور موج شبح سینوسی بدون خازن مربعی

                    این کدش
                    کد:
                    #include <mega8.h>
                    
                    flash char sinewave[]={
                    0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x07,0x08,
                    0x09,0x0a,0x0c,0x0d,0x0f,0x10,0x12,0x13,0x15,0x17,0x19,0x1b,0x1d,0x1f,0x21,0x23,
                    0x25,0x27,0x2a,0x2c,0x2e,0x31,0x33,0x36,0x38,0x3b,0x3e,0x40,0x43,0x46,0x49,0x4c,
                    0x4f,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63,0x67,0x6a,0x6d,0x70,0x73,0x76,0x79,0x7c,
                    0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,
                    0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,
                    0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf5,
                    0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,
                    0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,
                    0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xde,0xdc,
                    0xda,0xd8,0xd5,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0xb6,0xb3,
                    0xb0,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x98,0x95,0x92,0x8f,0x8c,0x89,0x86,0x83,
                    0x80,0x7c,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x63,0x60,0x5d,0x5a,0x57,0x54,0x51,
                    0x4f,0x4c,0x49,0x46,0x43,0x40,0x3e,0x3b,0x38,0x36,0x33,0x31,0x2e,0x2c,0x2a,0x27,
                    0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x13,0x12,0x10,0x0f,0x0d,0x0c,0x0a,
                    0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x03,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01
                    };
                    
                    char i=0;
                    
                    interrupt [TIM1_COMPA] void timer1_compa_isr(void)
                    {
                      OCR1A=sinewave[i];
                      i++;
                      if(i==255)
                      i=0;
                    }
                    
                    void main(void) {
                    
                    DDRD=0xFF;
                    
                    // Timer/Counter 1 initialization
                    // Clock source: System Clock
                    // Clock value: 8000.000 kHz
                    // Mode: Fast PWM top=00FFh
                    // OC1A output: Non-Inv.
                    // OC1B output: Discon.
                    // Noise Canceler: Off
                    // Input Capture on Falling Edge
                    TCCR1A=0x81;
                    TCCR1B=0x09;
                    TCNT1H=0x00;
                    TCNT1L=0x00;
                    ICR1H=0x00;
                    ICR1L=0x00;
                    OCR1AH=0x00;
                    OCR1AL=0x00;
                    OCR1BH=0x00;
                    OCR1BL=0x00;
                    
                    // Timer(s)/Counter(s) Interrupt(s) initialization
                    TIMSK=0x10;
                    
                    //enable global interrups
                    #asm("sei");
                    
                      while (1);
                    }
                    این عکسش

                    این یه کم تخیلی کار جونی هام هستش من با هاش شوکر درست کردم البته بدون او خازنه چون مربعی میشه و ولتاژ میره بالا
                    جنبه داشته باشید کار دست خودتون ندید :twisted:
                    [move]مدار می خوای خوب بگو من برات میزارم غصه چرا میخوری البته یه چیزی بگو که بشه ساخت ها[/move]
                    دودمانم بر باد رفت

                    دیدگاه


                      #11
                      پاسخ : ساعت حرفه ای دیدی

                      نوشته اصلی توسط MEGAMAN
                      من چند روزه میخواهم یک مدار ساده بسازم ولی وقت نمیشه ساختنش هم راحت حالا من میگم ببین میتونی طراحیش کنی که بعدا هم PCB رو خودم میزنم.
                      یک مدار دیمر از راه دور است و به این صورت کار میکند که
                      شما توسط یک کنترل تلویزون یا چیز دیگری پالسی را به مدار گیرنده میفرستید بعد در آن مدار - آیسی 555 پالس را دریافت میکند و پالس دیگری را به 4017 میفرستد .که 4017 9تا حالت دارد یعنی با دادن هر پالس به پین شماره 14 آن به ترتیب یکی از 9 خروجی خود را 1 میکند.
                      بعد هر پین را توسط ترانزیستور تقویت کرده و به رله میفرستیم.
                      هر رله به سر مقاومت مختلفی از 50-0کیلو متصل است که این مقاومت بجای ولوم دیمر قرار میگیرد.
                      و با زدن یک کلید میتوانیم نور لامپ را در 9 حالت تنظیم کنیم.
                      مدار جالب و کار آمدی میشود.
                      اگه مشگلی ندارید چند روزه میتوانید شماتیک را طراحی کنید؟
                      مدار جالبی هست این رو جایی دیدم ملی نساختم همین مدار های گیرنده فرستنده رو بردار تغییر بده دیگه نیاز به برنامه نویسی نست.
                      در ضمن دیگه کسی لامپ رشته ای استفاده نمیکنه همه لامپ ها کم مصرفه مصل مهتابیه دیمر روش تاثیر نداره
                      اما باسه هیتر و کولر یه فن خوبه که مدار رو میگم دیدم خودت یخته بگرد من هم میگردم سعی میکنم برات بزارم. :bye
                      دودمانم بر باد رفت

                      دیدگاه


                        #12
                        مدار کنترول وسایل با کنترول تلوزیون تک کاناله

                        مدار کنترول وسایل با کنترول تلوزیون تک کاناله
                        این برای دوست گرامیم
                        کد:
                        ****************************************************************
                        ECA
                        GT700
                        MOHAMMAD_GT700@YAHOO.COM
                        ****************************************************************
                        $regfile = "m8def.dat"
                        $crystal = 1000000
                        $baud = 100
                        Config Pinb.1 = Output
                        Dim A As Byte
                        Enable Interrupts
                        Enable Urxc
                        On Urxc Sub1
                        Do
                        Loop
                        End
                        
                        Sub1:
                        A = Udr
                        Toggle Portb.1
                        Waitms 500
                        Return

                        مدار در خواستی
                        دودمانم بر باد رفت

                        دیدگاه


                          #13
                          پاسخ : ساعت حرفه ای دیدی

                          نوشته اصلی توسط gt700
                          مدار جالبی هست این رو جایی دیدم ملی نساختم همین مدار های گیرنده فرستنده رو بردار تغییر بده دیگه نیاز به برنامه نویسی نست.
                          ولی هیچکدام از قطعات آن احتیاج به برنامه نویسی ندارد!!!
                          نوشته اصلی توسط gt700
                          در ضمن دیگه کسی لامپ رشته ای استفاده نمیکنه همه لامپ ها کم مصرفه مصل مهتابیه دیمر روش تاثیر نداره
                          نسل لامپ های رشته ای که منقرض نشده!
                          هنوز خیلی جاها ازش استفاده میکنند.
                          بعدشم دیمر برای تمامی بارهای سلفی کاربرد دارد.
                          راستی اگه تا جای رله ها طراحی شود میتوان از آن برای کنترل 9تا وسیله برقی استفاده کرد.
                          از بابت این پروژه های شما هم متشکرم.
                          هنگامی که چیزی مینویسی، کاری نکن تنها کسی که از مغزش استفاده کرده باشد ،مدادت باشد .

                          \|/_\/_

                          دیدگاه


                            #14
                            پاسخ : ساعت حرفه ای دیدی

                            نوشته اصلی توسط MEGAMAN
                            ولی هیچکدام از قطعات آن احتیاج به برنامه نویسی ندارد!!!نسل لامپ های رشته ای که منقرض نشده!
                            هنوز خیلی جاها ازش استفاده میکنند.
                            بعدشم دیمر برای تمامی بارهای سلفی کاربرد دارد.
                            راستی اگه تا جای رله ها طراحی شود میتوان از آن برای کنترل 9تا وسیله برقی استفاده کرد.
                            از بابت این پروژه های شما هم متشکرم.
                            بهم فرصت بده یخته فکر کنم اما شاید امروز جوابت ندم ناراحت که نمی شی
                            فلن پروژه های انجام شده رو میزارم تو هم اگه پروژه انجام شده داری بزار این تاپیک از مدار بترکه :nice:
                            دودمانم بر باد رفت

                            دیدگاه


                              #15
                              این ساعت یه چیز دیگس رو دست نداره (2)

                              این ساعت مال دوستم A.N.T
                              کد
                              کد:
                              $regfile = "m16def.dat"
                              $crystal = 4000000
                                                                 ' DESINGED BY A.N.T
                              Config Lcd = 16 * 2
                              Config Lcdpin = Pin , Db4 = Pinc.3 , Db5 = Pinc.2 , Db6 = Pinc.1 , Db7 = Pinc.0 , E = Pinc.4 , Rs = Pinc.5
                              Cursor Off
                              Cls: Lcd " DESINGED BY ": Home L: Lcd "  A . N . T  ": Wait 2
                              
                              Config Portb = Output
                              Config Pind.7 = Output , Pind.6 = Output , Pind.5 = Output , Pind.4 = Output
                              Config Pind.3 = Input , Pind.2 = Input , Pind.2 = Input , Pind.0 = Input
                              
                              Config Adc = Single , Prescaler = Auto
                              
                                 Deflcdchar 0, 24, 24, 32, 32, 15, 8, 8, 15      ' .C
                                 Deflcdchar 1, 1, 29, 29, 29, 9, 9, 8, 8        'zang
                                 Deflcdchar 2, 4, 14, 31, 4, 4, 4, 4, 4        'UP
                                 Deflcdchar 3, 4, 4, 4, 4, 4, 31, 14, 4        'DOWN
                              
                              
                              Dim Cc As Byte, Mm As Byte, Ss As Byte, Ct As Byte, Mt As Byte, W As Word
                              Dim Ecc As Eram Byte , Emm As Eram Byte , Ect As Eram Byte , Emt As Eram Byte
                              Dim A0 As Word, Stimer As Byte, F As Byte, Cup As Byte, Cdown As Byte, Mz As Byte
                              Dim Roz As Byte, Mah As Byte, Sal As Byte, Hafteh As Byte, B As Byte, Z As Byte
                              Dim Eb As Eram Byte , Eroz As Eram Byte , Emah As Eram Byte , Esal As Eram Byte
                              Dim Ehafteh As Eram Byte , Ecup As Eram Byte , Ecdown As Eram Byte , Ett5 As Eram Byte
                              Dim Tt1 As Byte, Tt2 As Byte, Tt3 As Byte, Tt4 As Byte, Tt5 As Byte, Kk As Byte
                              Dim Ett1 As Eram Byte , Ett2 As Eram Byte , Ett3 As Eram Byte , Ett4 As Eram Byte
                              
                              Cc = Ecc: Mm = Emm: Ct = Ect: Mt = Emt: B = Eb: Cdown = Ecdown
                              Roz = Eroz: Mah = Emah: Sal = Esal: Hafteh = Ehafteh: Cup = Ecup
                              Tt1 = Ett1: Tt2 = Ett2: Tt3 = Ett3: Tt4 = Ett4: Tt5 = Ett5
                              
                              Const T1 = 100
                              
                              Config Timer2 = Timer , Async = On , Prescale = 32
                              Enable Interrupts
                              Enable Timer2
                              On Timer2 Sectic
                              
                                      Cls
                              If Cc < 10 Then : Lcd " " ; Cc
                              ElseIf Cc < 24 Then: Lcd Cc
                              Else: Cc = 10: Lcd "10"
                              End If
                                      Lcd ":"
                              If Mm < 10 Then : Lcd "0" ; Mm
                              ElseIf Mm < 60 Then: Lcd Mm
                              Else: Mm = 0: Lcd "00"
                              End If
                                      Lcd ":00": Locate 1, 12
                              If Ct < 10 Then : Lcd " " ; Ct
                              ElseIf Ct < 24 Then: Lcd Ct
                              Else: Ct = 6: Lcd " 6"
                              End If
                                      Lcd ":"
                              If Mt < 10 Then : Lcd "0" ; Mt
                              ElseIf Mt < 60 Then: Lcd Mt
                              Else: Mt = 30: Lcd "30"
                              End If
                                      Locate 1, 10
                              If B = 1 Then : Lcd Chr(1) : Set Portb.3
                              Elseif B = 0 Then : Lcd " " : Reset Portb.3
                              Else : B = 1 : Lcd Chr(1) : Set Portb.3
                              End If
                                      Home L
                              If Sal < 10 Then : Lcd " " ; Sal
                              ElseIf Sal < 100 Then: Lcd Sal
                              Else: Sal = 87: Lcd "87"
                              End If
                                      Locate 2, 3: Lcd "/"
                              If Mah < 10 Then : Lcd "0" ; Mah
                              ElseIf 13 > Mah Then: Lcd Mah
                              Else: Mah = 1: Lcd "01"
                              End If
                                      Locate 2, 6: Lcd "/"
                              If Roz < 10 Then : Lcd "0" ; Roz
                              ElseIf Roz < 32 Then: Lcd Roz
                              Else: Roz = 1: Lcd "01"
                              End If
                              
                              If Cup > 99 Then: Cup = 40: End If
                              If Cdown > 99 Then: Cdown = 10: End If
                              
                              If Tt1 > 15 Then Tt1 = 1
                              If Tt2 > 15 Then Tt2 = 1
                              If Tt3 > 15 Then Tt3 = 1
                              If Tt4 > 15 Then Tt4 = 1
                              If Tt5 > 15 Then Tt5 = 1
                              
                                      Locate 2, 9
                              Select Case Hafteh
                                 Case 1: Lcd " SAT"
                                 Case 2: Lcd " SUN"
                                 Case 3: Lcd " MON"
                                 Case 4: Lcd " TUE"
                                 Case 5: Lcd " WED"
                                 Case 6: Lcd " THU"
                                 Case 7: Lcd " FRI"
                              Case Else
                                  Hafteh = 6: Lcd " THU"
                              End Select
                                               ' SHORO BARNAMEH
                              Star:
                                      F = 0: Waitms T1: Kk = 0
                              Do
                                      Debounce Pind.0 , 1 , Ct
                                      Debounce Pind.3 , 1 , Tt
                                      If Pind.1 = 1 Then :
                                         If Pind.2 = 1 Then Exit Do
                                      End If
                              Loop
                                 For W = 0 To 40000
                                    If Pind.1 = 0 Then Goto Star
                                    If Pind.2 = 0 Then Goto Star
                                    Debounce Pind.3 , 1 , D7 , Sub
                                    Waitus 60
                                 Next
                              GoTo Dama1
                              
                              Tt:
                                 Kk = 1
                                 For W = 0 To 40000
                                    If Pind.3 = 0 Then Goto D7
                                    Waitus 63
                                 Next
                                 GoTo Tt1
                                               ' HAR 0.25 SANEH YEKBAR BE IN VAGHFEH MORAJEEH MISHAVAD
                                               ' BARAY BE ROOZ KARDAN ZAMAN
                              Sectic:
                              
                              Select Case Stimer
                              Case 0
                                   GoSub Offlcd
                              
                                 If Ss = 20 Then:
                                    If A0 >= Cup Then : Set Portb.0
                                    Else : Reset Portb.0
                                    End If
                                    If Cdown >= A0 Then : Set Portb.2
                                    Else : Reset Portb.2
                                    End If
                                    If Cup > A0 Then:
                                       If A0 > Cdown Then : Set Portb.1
                                       Else : Reset Portb.1
                                       End If
                                    Else : Reset Portb.1
                                    End If
                                    If A0 > 99 Then : Reset Portb.0 : Reset Portb.1 : Reset Portb.2
                                    End If
                                 ElseIf Ss = 50 Then:
                                    If A0 >= Cup Then : Set Portb.0
                                    Else : Reset Portb.0
                                    End If
                                    If Cdown >= A0 Then : Set Portb.2
                                    Else : Reset Portb.2
                                    End If
                                    If Cup > A0 Then:
                                       If A0 > Cdown Then : Set Portb.1
                                       Else : Reset Portb.1
                                       End If
                                    Else : Reset Portb.1
                                    End If
                                    If A0 > 99 Then : Reset Portb.0 : Reset Portb.1 : Reset Portb.2
                                    End If
                                 End If
                              
                                 If Z = 1 Then : Reset Portd.5 : Set Portd.6
                                 Elseif Z = 3 Then : Reset Portd.5 : Set Portd.6
                                 Else:
                                    If Z = 5 Then : Set Portd.5 : Set Portd.6
                                    Else : Reset Portd.5 : Reset Portd.6
                                    End If
                                 End If
                                                                 ' DESINGED BY A.N.T
                              Case 1:
                              
                                 Toggle Portd.4 : Gosub Onlcd
                              
                                 If Z = 1 Then : Reset Portd.5
                                 Elseif Z = 3 Then : Reset Portd.5
                                 Else:
                                    If Z = 5 Then : Reset Portd.5
                                    Else : Reset Portd.5 : Reset Portd.6
                                    End If
                                 End If
                                         Start Adc : A0 = Getadc(0) : Stop Adc
                                         A0 = A0 / 2: Locate 2, 13
                                 If F <> 11 Then:
                                    If F <> 12 Then:
                                          If A0 < 10 Then : Lcd " " ; A0 ; Chr(0)
                                          ElseIf A0 > 99 Then: Lcd " ERR"
                                          Else : Lcd " " ; A0 ; Chr(0)
                                          End If
                                    End If
                                 End If
                              
                              Case 2:
                                 GoSub Offlcd
                              
                                 Select Case B
                                 Case 1:
                                    If Cc = Ct Then
                                      If Mm = Mt Then:
                                         If Z = 0 Then:
                                              Set Portd.5 : Set Portd.6 : Set Portd.7
                                              Mz = Mm + Tt1: Z = 1
                                              If Mz > 59 Then: Mz = Mz - 60: End If
                                         End If
                                      Else : Reset Portd.5
                                      End If
                                    End If
                                 Case Else:
                                    Reset Portd.5
                                 End Select
                              
                                 If Mz = Mm Then:
                                    If Z = 1 Then:
                                       Z = 2: Mz = Mm + Tt2
                                       If Mz > 59 Then Mz = Mz - 60
                                    ElseIf Z = 2 Then:
                                       Z = 3: Mz = Mm + Tt3
                                       If Mz > 59 Then Mz = Mz - 60
                                    Else:
                                       If Z = 3 Then:
                                          Z = 4: Mz = Mm + Tt4
                                          If Mz > 59 Then Mz = Mz - 60
                                       ElseIf Z = 4 Then:
                                          Z = 5: Mz = Mm + Tt5
                                          If Mz > 59 Then Mz = Mz - 60
                                       Else: Z = 0
                                       End If
                                    End If
                                 End If
                              
                                 If Z = 1 Then : Set Portd.5 : Set Portd .6
                                 Elseif Z = 3 Then : Set Portd.5 : Set Portd .6
                                 Else:
                                    If Z = 5 Then : Set Portd.5
                                    Else : Reset Portd.5
                                    End If
                                 End If
                                                                 ' DESINGED BY A.N.T
                              Case 3:
                                         Toggle Portd.4 : Ss = Ss + 1
                              If Ss > 59 Then:
                                 Ss = 0: Mm = Mm + 1
                                 If Mm > 59 Then
                                     Mm = 0: Cc = Cc + 1: Ecc = Cc
                                     If Cc > 23 Then
                                       Cc = 0: Roz = Roz + 1: Hafteh = Hafteh + 1
                                       If Hafteh > 7 Then Hafteh = 1
                              
                                       If Mah > 6 Then
                                           If Roz > 30 Then
                                              Roz = 1: Mah = Mah + 1
                                              If Mah > 12 Then:
                                                 Mah = 1: Sal = Sal + 1
                                                 If Sal > 99 Then Sal = 0
                                                 If Sal < 10 Then : Home L : Lcd " " ; Sal ; "/"
                                                 Else: Home L: Lcd Sal
                                                 End If
                                                 Esal = Sal
                                              End If
                                              If Mah < 10 Then : Locate 2 , 4 : Lcd "0" ; Mah ; "/"
                                              Else: Locate 2, 4: Lcd Mah
                                              End If
                                              Emah = Mah
                                           End If
                              
                                        ElseIf 7 > Mah Then:
                                           If Roz > 31 Then
                                              Roz = 1: Mah = Mah + 1
                                              If Mah > 12 Then
                                                 Mah = 1: Sal = Sal + 1
                              
                                                 If Sal < 10 Then : Home L : Lcd " " ; Sal ; "/"
                                                 Else : Home L : Lcd Sal ; "/"
                                                 End If
                                                 Esal = Sal
                                              End If
                              
                                              If Mah < 10 Then : Locate 2 , 4 : Lcd "0" ; Mah ; "/"
                                              Else: Locate 2, 4: Lcd Mah
                                              End If
                                              Emah = Mah
                                          End If
                                           Eroz = Roz: Ehafteh = Hafteh
                                        End If
                              
                                        Locate 2, 9
                                        Select Case Hafteh
                                           Case 1: Lcd " SAT"
                                           Case 2: Lcd " SUN"
                                           Case 3: Lcd " MON"
                                           Case 4: Lcd " TUE"
                                           Case 5: Lcd " WED"
                                           Case 6: Lcd " THU"
                                           Case 7: Lcd " FRI"
                                        End Select
                              
                                        Locate 2, 7
                                        If Roz < 10 Then : Lcd "0" ; Roz
                                        Else: Lcd Roz
                                        End If
                              
                                    End If
                              
                                      If Cc < 10 Then : Home : Lcd " " ; Cc ; ":"
                                      Else : Home : Lcd Cc ; ":"
                                      End If
                              
                                      Ecc = Cc
                                 End If
                              
                                   If Mm < 10 Then : Locate 1 , 4 : Lcd "0" ; Mm ; ":"
                                   Else : Locate 1 , 4 : Lcd Mm ; ":"
                                   End If
                                 Emm = Mm
                              End If
                                     Locate 1, 7
                              
                                 If Ss < 10 Then : Lcd "0" ; Ss
                                 Else: Lcd Ss
                                 End If
                                 Lcd " "
                              
                                   GoSub Onlcd: Stimer = 255
                              
                                 If Z = 1 Then : Reset Portd.5
                                 Elseif Z = 3 Then : Set Portd.5
                                 Else:
                                    If Z = 5 Then : Set Portd.5 : Set Portd.6
                                    Else : Reset Portd.5
                                    End If
                                 End If
                              
                              End Select
                                    Incr Stimer: Locate 2, 20
                              Return
                              
                                               ' BARAY TANZIM SA@
                              Cc:
                                 F = 1: Locate 1, 12
                                 If Ct < 10 Then : Lcd " " ; Ct ; ":"
                                 Else : Lcd Ct ; ":"
                                 End If
                                 Waitms T1
                              Do
                                      Debounce Pind.3 , 1 , D7 , Sub
                                      Debounce Pind.0 , 1 , Mm
                                      Debounce Pind.1 , 1 , Cc8
                                      Debounce Pind.2 , 1 , Cc9
                              Loop
                              Cc8:
                                   Cc = Cc + 1: If Cc > 23 Then Cc = 0: GoTo Cc
                              
                              Cc9:
                                   Cc = Cc - 1: If Cc > 100 Then Cc = 23: GoTo Cc
                              Return
                                               ' BARAY TANZIM DAGHIGHEH
                              Mm:
                                 Ecc = Cc: F = 2: Home
                                 If Cc < 10 Then : Lcd " " ; Cc ; ":"
                                 Else : Lcd Cc ; ":"
                                 End If
                              
                              Mm1:
                                 Waitms T1
                              Do
                                      Debounce Pind.3 , 1 , D7 , Sub
                                      Debounce Pind.0 , 1 , Ss
                                      Debounce Pind.1 , 1 , Mm8
                                      Debounce Pind.2 , 1 , Mm9
                              Loop
                              
                              Mm8:
                                   Mm = Mm + 1: If Mm > 59 Then Mm = 0: GoTo Mm1
                              Mm9:
                                   Mm = Mm - 1: If Mm > 200 Then Mm = 59: GoTo Mm1
                              Return
                                              ' BARAY TANZIM SANIYEH
                              Ss:
                                 Emm = Mm: F = 3: Locate 1, 4
                                 If Mm < 10 Then : Lcd "0" ; Mm ; ":"
                                 Else : Lcd Mm ; ":"
                                 End If
                              دودمانم بر باد رفت

                              دیدگاه

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