#include #include #include #include #define EnKi - TopicsExpress



          

#include #include #include #include #define EnKi PORTD.4 #define dirA_Ki PORTD.0 #define dirB_Ki PORTD.1 #define EnKa PORTD.5 #define dirC_Ka PORTD.2 #define dirD_Ka PORTD.3 #define startA PINB.0 #define startB PINB.1 #define set1 PINB.2 #define set2 PINB.3 eeprom unsigned int del=0; eeprom unsigned int lin=0; eeprom unsigned int n0=0; eeprom unsigned int n1=0; eeprom unsigned int n2=0; eeprom unsigned int n3=0; eeprom unsigned int n4=0; eeprom unsigned int n5=0; eeprom unsigned int n6=0; eeprom unsigned int n7=0; eeprom unsigned int ba0=0; eeprom unsigned int ba1=0; eeprom unsigned int ba2=0; eeprom unsigned int ba3=0; eeprom unsigned int ba4=0; eeprom unsigned int ba5=0; eeprom unsigned int ba6=0; eeprom unsigned int ba7=0; eeprom unsigned int ga0=0; eeprom unsigned int ga1=0; eeprom unsigned int ga2=0; eeprom unsigned int ga3=0; eeprom unsigned int ga4=0; eeprom unsigned int ga5=0; eeprom unsigned int ga6=0; eeprom unsigned int ga7=0; int adc0, adc1, adc2, adc3, adc4, adc5, adc6, adc7, z=0, POIN=0, i=0, y=0; bit acc0, acc1, acc2, acc3, acc4, acc5, acc6, acc7, x; char data[100]; #asm .equ __lcd_port=0x15 ;PORTC #endasm #include unsigned char xcount,lpwm,rpwm; interrupt [TIM0_OVF] void timer0_ovf_isr(void) { xcount++; if(xcountn1) {acc1=1;} else {acc1=0;} adc2=read_adc(2); if (adc2>n2) {acc2=1;} else {acc2=0;} adc3=read_adc(3); if (adc3>n3) {acc3=1;} else {acc3=0;} adc4=read_adc(4); if (adc4>n4) {acc4=1;} else {acc4=0;} adc5=read_adc(5); if (adc5>n5) {acc5=1;} else {acc5=0;} adc6=read_adc(6); if (adc6>n6) {acc6=1;} else {acc6=0;} adc7=read_adc(7); if (adc7>n7) {acc7=1;} else {acc7=0;} sensor=(acc7*128)+(acc6*64)+(acc5*32)+(acc4*16)+(acc3*8)+(acc2*4)+(acc1*2)+(acc0*1); } void tamp_acc() { adc(); lcd_clear(); lcd_gotoxy(4,1); sprintf(data,%d%d%d%d%d%d%d%d,acc7,acc6,acc5,acc4,acc3,acc2,acc1,acc0); lcd_puts(data); delay_ms(1); } void tamp_adc() { adc(); lcd_clear(); lcd_gotoxy(0,0); sprintf(data,%d-%d-%d-%d\n%d-%d-%d-%d,adc7,adc6,adc5,adc4,adc3,adc2,adc1,adc0); lcd_puts(data); delay_ms(1); } //==========================================================\\ void maju(unsigned char l, unsigned char r) { lcd_clear(); lpwm=l; rpwm=r; dirA_Ki=1;dirB_Ki=0; dirC_Ka=1;dirD_Ka=0; } void mundur(unsigned char l, unsigned char r) { lpwm=l; rpwm=r; dirA_Ki=0;dirB_Ki=1; dirC_Ka=0;dirD_Ka=1; } void stop() { lpwm=0; rpwm=0; dirA_Ki=1;dirB_Ki=1; dirC_Ka=0;dirD_Ka=0; } void parkir() { while(1){stop();} } void kiri(unsigned char l, unsigned char r) { lcd_gotoxy(0,0); lcd_putsf(========________\n========________); lpwm=l; rpwm=r; dirA_Ki=0;dirB_Ki=1; dirC_Ka=1;dirD_Ka=0; } void kanan(unsigned char l, unsigned char r) { lcd_gotoxy(0,0); lcd_putsf(________========\n________========); lpwm=l; rpwm=r; dirA_Ki=1;dirB_Ki=0; dirC_Ka=0;dirD_Ka=1; } //==========================================================\\ void delay() { do{adc(); kiri(255,255); i++; delay_ms(1);} while (acc4!=1); stop(); del=i; lcd_clear(); sprintf(data,Sampel Delay=%d\nTersimpan.....!,del); lcd_gotoxy(0,0); lcd_puts(data); delay_ms(700); } void L() //90 Derajat { delay_ms((del)); } void D() //180 Derajat { delay_ms(del*2); } void U() //360 Derajat { delay_ms((del*4)); } //==========================================================\\ //==========================================================\\ void scan_() { adc(); switch(sensor) { case 0b00000001: kanan(30,30); x=1; break; case 0b00000011: kanan(30,30); x=1; break; case 0b00000111: maju(30,30); x=1; break; case 0b00001111: maju(30,30); x=1; break; case 0b00011111: maju(30,30); x=1; break; case 0b00111111: maju(30,30); x=1; break; case 0b01111111: maju(30,30); x=1; break; case 0b00000010: kanan(50,20); x=1; break; case 0b00000110: kanan(20,20); x=1; break; case 0b00000100: kanan(15,15); x=1; break; case 0b00001100: maju(30,26); x=1; break; case 0b00001000: maju(30,28); x=1; break; case 0b00011000: maju(35,35); break; case 0b00010000: maju(28,30); x=0; break; case 0b00110000: maju(26,30); x=0; break; case 0b00100000: kiri(15,15); x=0; break; case 0b01100000: kiri(20,20); x=0; break; case 0b01000000: kiri(20,50); x=0; break; case 0b00001110: maju(30,25); x=1; break; case 0b00011100: maju(30,25); x=1; break; case 0b00111000: maju(25,30); x=0; break; case 0b01110000: maju(25,30); x=0; break; case 0b10000000: kiri(30,30); x=0; break; case 0b11000000: kiri(30,30); x=0; break; case 0b11100000: maju(30,30); x=0; break; case 0b11110000: maju(30,30); x=0; break; case 0b11111000: maju(30,30); x=0; break; case 0b11111100: maju(30,30); x=0; break; case 0b11111110: maju(30,30); x=0; break; case 0b00000000: break; if(x==1){kanan(30,30); break;} else {kiri(30,30); break;} } } //==========================================================\\ void scan5() { adc(); switch(sensor) { case 0b00000001: kanan(255,255); x=1; break; case 0b00000011: kanan(255,255); x=1; break; case 0b00000111: maju(255,255); x=1; break; case 0b00001111: maju(255,255); x=1; break; case 0b00011111: maju(255,255); x=1; break; case 0b00111111: maju(255,255); x=1; break; case 0b01111111: maju(255,255); x=1; break; case 0b00000010: kanan(255,255); x=1; break; case 0b00000110: kanan(255,255); x=1; break; case 0b00000100: maju(255,220); x=1; break; case 0b00001100: maju(255,230); x=1; break; case 0b00001000: maju(255,240); x=1; break; case 0b00011000: maju(255,255); break; case 0b00010000: maju(240,255); x=0; break; case 0b00110000: maju(230,255); x=0; break; case 0b00100000: maju(220,255); x=0; break; case 0b01100000: kiri(255,255); x=0; break; case 0b01000000: kiri(255,255); x=0; break; case 0b00001110: maju(255,200); x=1; break; case 0b00011100: maju(255,200); x=1; break; case 0b00111000: maju(200,255); x=0; break; case 0b01110000: maju(200,255); x=0; break; case 0b10000000: kiri(255,255); x=0; break; case 0b11000000: kiri(255,255); x=0; break; case 0b11100000: maju(255,255); x=0; break; case 0b11110000: maju(255,255); x=0; break; case 0b11111000: maju(255,255); x=0; break; case 0b11111100: maju(255,255); x=0; break; case 0b11111110: maju(255,255); x=0; break; case 0b00000000: break; if(x==1){kanan(255,255); break;} else {kiri(255,255); break;} } } //==========================================================\\ void tombol() { while(1){ tamp_acc(); tom1: if (set1==0) {z++;} sprintf(data,Mod| AVATAR |Lin\n %d |,z); lcd_gotoxy(0,0); lcd_puts(data); sprintf(data,| %d,lin); lcd_gotoxy(12,1); lcd_puts(data); delay_ms(150); if (startA==0 || startB==0 || set2==0) {goto tom2;}} goto tom1; tom2: delay_ms(100); } //==========================================================\\ void lintasan() { while(1){ lin1: if (set1==0) {y++;} lin=y; lcd_clear(); sprintf(data,Lintasan : | +\n[ %d ] | OK,lin); lcd_gotoxy(0,0); lcd_puts(data); delay_ms(150); if (set2==0) {goto lin2;}} goto lin1; lin2: delay_ms(100); } //==========================================================\\ void perempatan(unsigned char a) { unsigned char xx=0; while(xx
Posted on: Fri, 02 Jan 2015 20:49:29 +0000

Trending Topics



Recently Viewed Topics




© 2015