اطلاعیه
Collapse
No announcement yet.
پروژه های حرفه ای و ساده میکرو
Collapse
X
-
سورس فلشر
کد: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
دودمانم بر باد رفت
-
فلشر 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); } } }
دودمانم بر باد رفت
دیدگاه
-
فرکانس متر با 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 }; }
دودمانم بر باد رفت
دیدگاه
-
پاسخ : پروژه درخواستی اسیلوسکوپ
این اسلوسکوپ در خواستی شماس
این کدش
کد:'--------------------------------------------------------------- '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"
دودمانم بر باد رفت
دیدگاه
-
پاسخ : ساعت حرفه ای دیدی
نوشته اصلی توسط gt700مدار سفارش بدید ما بزاریم
:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
یک مدار دیمر از راه دور است و به این صورت کار میکند که
شما توسط یک کنترل تلویزون یا چیز دیگری پالسی را به مدار گیرنده میفرستید بعد در آن مدار - آیسی 555 پالس را دریافت میکند و پالس دیگری را به 4017 میفرستد .که 4017 9تا حالت دارد یعنی با دادن هر پالس به پین شماره 14 آن به ترتیب یکی از 9 خروجی خود را 1 میکند.
بعد هر پین را توسط ترانزیستور تقویت کرده و به رله میفرستیم.
هر رله به سر مقاومت مختلفی از 50-0کیلو متصل است که این مقاومت بجای ولوم دیمر قرار میگیرد.
و با زدن یک کلید میتوانیم نور لامپ را در 9 حالت تنظیم کنیم.
مدار جالب و کار آمدی میشود.
اگه مشگلی ندارید چند روزه میتوانید شماتیک را طراحی کنید؟
هنگامی که چیزی مینویسی، کاری نکن تنها کسی که از مغزش استفاده کرده باشد ،مدادت باشد .
\|/_\/_
دیدگاه
-
اسیلاتور موج شبح سینوسی بدون خازن مربعی
این کدش
کد:#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]دودمانم بر باد رفت
دیدگاه
-
پاسخ : ساعت حرفه ای دیدی
نوشته اصلی توسط MEGAMANمن چند روزه میخواهم یک مدار ساده بسازم ولی وقت نمیشه ساختنش هم راحت حالا من میگم ببین میتونی طراحیش کنی که بعدا هم PCB رو خودم میزنم.
یک مدار دیمر از راه دور است و به این صورت کار میکند که
شما توسط یک کنترل تلویزون یا چیز دیگری پالسی را به مدار گیرنده میفرستید بعد در آن مدار - آیسی 555 پالس را دریافت میکند و پالس دیگری را به 4017 میفرستد .که 4017 9تا حالت دارد یعنی با دادن هر پالس به پین شماره 14 آن به ترتیب یکی از 9 خروجی خود را 1 میکند.
بعد هر پین را توسط ترانزیستور تقویت کرده و به رله میفرستیم.
هر رله به سر مقاومت مختلفی از 50-0کیلو متصل است که این مقاومت بجای ولوم دیمر قرار میگیرد.
و با زدن یک کلید میتوانیم نور لامپ را در 9 حالت تنظیم کنیم.
مدار جالب و کار آمدی میشود.
اگه مشگلی ندارید چند روزه میتوانید شماتیک را طراحی کنید؟
در ضمن دیگه کسی لامپ رشته ای استفاده نمیکنه همه لامپ ها کم مصرفه مصل مهتابیه دیمر روش تاثیر نداره
اما باسه هیتر و کولر یه فن خوبه که مدار رو میگم دیدم خودت یخته بگرد من هم میگردم سعی میکنم برات بزارم. :byeدودمانم بر باد رفت
دیدگاه
-
مدار کنترول وسایل با کنترول تلوزیون تک کاناله
مدار کنترول وسایل با کنترول تلوزیون تک کاناله
این برای دوست گرامیم
کد:**************************************************************** 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
مدار در خواستیدودمانم بر باد رفت
دیدگاه
-
پاسخ : ساعت حرفه ای دیدی
نوشته اصلی توسط gt700مدار جالبی هست این رو جایی دیدم ملی نساختم همین مدار های گیرنده فرستنده رو بردار تغییر بده دیگه نیاز به برنامه نویسی نست.
نوشته اصلی توسط gt700در ضمن دیگه کسی لامپ رشته ای استفاده نمیکنه همه لامپ ها کم مصرفه مصل مهتابیه دیمر روش تاثیر نداره
هنوز خیلی جاها ازش استفاده میکنند.
بعدشم دیمر برای تمامی بارهای سلفی کاربرد دارد.
راستی اگه تا جای رله ها طراحی شود میتوان از آن برای کنترل 9تا وسیله برقی استفاده کرد.
از بابت این پروژه های شما هم متشکرم.هنگامی که چیزی مینویسی، کاری نکن تنها کسی که از مغزش استفاده کرده باشد ،مدادت باشد .
\|/_\/_
دیدگاه
-
پاسخ : ساعت حرفه ای دیدی
نوشته اصلی توسط MEGAMANولی هیچکدام از قطعات آن احتیاج به برنامه نویسی ندارد!!!نسل لامپ های رشته ای که منقرض نشده!
هنوز خیلی جاها ازش استفاده میکنند.
بعدشم دیمر برای تمامی بارهای سلفی کاربرد دارد.
راستی اگه تا جای رله ها طراحی شود میتوان از آن برای کنترل 9تا وسیله برقی استفاده کرد.
از بابت این پروژه های شما هم متشکرم.
فلن پروژه های انجام شده رو میزارم تو هم اگه پروژه انجام شده داری بزار این تاپیک از مدار بترکه :nice:دودمانم بر باد رفت
دیدگاه
-
این ساعت یه چیز دیگس رو دست نداره (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
دودمانم بر باد رفت
دیدگاه
دیدگاه