BASIC4MCU | 질문게시판 | 답변 : AVR 초음파 센서 질문이요!!!!!!!!!!!!!1
페이지 정보
작성자 master 작성일2018-12-15 17:24 조회6,272회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6898
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-15 오후 5:29:44// by Ok-Hyun Park//#include <avr/io.h>#define F_CPU 16000000UL#include <util/delay.h>//#define TRIG1 PORTE|=0x40#define TRIG0 PORTE&=~0x40#define ECHO (PINE&0x80)//unsigned char seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//void display_fnd(unsigned int n){unsigned char i,j,fnd[4];fnd[3]=seg[n/1000%10];fnd[2]=seg[n/100%10];fnd[1]=seg[n/10%10];fnd[0]=seg[n%10];for(i=0;i<10;i++){for(j=0;j<4;j++){ PORTC=fnd[j]; PORTG=1<<j; _delay_ms(1); }}}//int main(void){unsigned char numCar=0,led[9]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};unsigned int distance;unsigned char flag=0;PORTA=0xFF; DDRA=0xFF;DDRC=0xff;DDRG=0x0f;DDRE=0x40; // TRIG(PE6)// ECHO(PE7)while(1){_delay_ms(100);TRIG1; _delay_us(10); TRIG0;while(!ECHO); TCNT1=0; TCCR1B=2;while( ECHO); TCCR1B=0;distance=TCNT1;distance=(unsigned int)((float)distance/11.6);display_fnd(distance);//if(distance<300){if(flag==0){ flag=1;if(numCar<8)numCar++; PORTA=led[numCar];}}else{ flag=0; }}}
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-15 오후 5:34:42// by Ok-Hyun Park//#include <avr/io.h>#define F_CPU 16000000UL#include <util/delay.h>//#define TRIG1_1 PORTE|=0x10#define TRIG1_0 PORTE&=~0x10#define ECHO1 (PINE&0x20)//#define TRIG2_1 PORTE|=0x40#define TRIG2_0 PORTE&=~0x40#define ECHO2 (PINE&0x80)//unsigned char seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//void display_fnd(unsigned int n){unsigned char i,j,fnd[4];fnd[3]=seg[n/1000%10];fnd[2]=seg[n/100%10];fnd[1]=seg[n/10%10];fnd[0]=seg[n%10];for(i=0;i<10;i++){for(j=0;j<4;j++){ PORTC=fnd[j]; PORTG=1<<j; _delay_ms(1); }}}//int main(void){unsigned char numCar=0,led[9]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};unsigned int distance1,distance2;unsigned char flag=0;//PORTA=0xFF; DDRA=0xFF;DDRC=0xff;DDRG=0x0f;DDRE=0x50; // ECHO2(PE7) // TRIG2(PE6) // ECHO1(PE5) // TRIG1(PE4)while(1){_delay_ms(100);TRIG1_1; _delay_us(10); TRIG1_0;while(!ECHO1); TCNT1=0; TCCR1B=2;while( ECHO1); TCCR1B=0;distance1=TCNT1;distance1=(unsigned int)((float)distance1/11.6);display_fnd(distance1);//_delay_ms(100);TRIG2_1; _delay_us(10); TRIG2_0;while(!ECHO2); TCNT1=0; TCCR1B=2;while( ECHO2); TCCR1B=0;distance2=TCNT1;distance2=(unsigned int)((float)distance2/11.6);//display_fnd(distance2);//if(distance1<300){if(flag==0){ flag=1;if(numCar<8)numCar++; PORTA=led[numCar];}}else{ flag=0; }}}
댓글 0
조회수 6,272등록된 댓글이 없습니다.