본문 바로가기
728x90
반응형

프로그래밍/AVR Atmega4

Atmega 온도센서 및 세그먼트 표시 #include #include #include #include #include #include float ntc_val;float temperature;float sensor_adc = 0;unsigned int trans_temp = 0; int SG_data[10]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};int SGD_data[10]={0xBf, 0x86, 0xDb, 0xCf, 0xE6, 0xEd, 0xFd, 0x87, 0xff, 0xEf};int SG_PORTC[5]={0, 0x21, 0x22, 0x24, 0x28};0){ PORTC=~SG_PORTC[1]; PORTA=SG_data[digit[3]]; delay_ms(1); P.. 2017. 10. 19.
Atemga 세그먼트 출력 #include #include #include #include int D_time=1;int SS_data[10]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};int SS_PORTC[5]={0, 0x01, 0x02, 0x04, 0x08};int what=3232;int where[4]={0,0,0,0};void init_port(void){ PORTA = 0x00; DDRA = 0xff; PORTB = 0x00; DDRB = 0xff; PORTC = 0x00; DDRC = 0xff; PORTD = 0x00; DDRD = 0xff; PORTE = 0x00; DDRE = 0xff; PORTF = 0x00; DDRF = 0xff; PORTG =.. 2017. 10. 19.
NTSF4 써미스터 온도센서 #include #include #include #include float ntc_val; float temperature; float sensor_adc = 0; signed int dis_temperature = 0; void main(void) { PORTA=0x00; DDRA=0xff; PORTB=0x00; DDRB=0xff; PORTC=0x00; DDRC=0xff; PORTD=0x00; DDRD=0xff; // ADC 설정 // ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: ADC Stopped ACSR=0x80; SFIOR=0x00; ADMUX=0x40; ADCSRA=0x8D; while (1) { //ADC 값 읽어 오기 ADMUX.. 2017. 10. 19.
atmega128 인터럽트 #include #include unsigned char Led = 0xfe; void main(void) { //포트 초기화 DDRC = 0xff; //포트 C 출력 설정 DDRE = 0b00000010; //포트 E 입력 (PE1 출력) PORTC = 0x00; //포트 C에 초기값 출력 //인터럽트 초기화 EICRA = 0b00000010; //외부 인터럽트4 : 하강 에지 EIMSK = 0xff;//외부 인터럽트4 인에이블 SREG = 0x80; //전역 인터럽트 인에이블 비트 셋 while(1); //인터럽트 대기 }//end main //외부 인터럽트4 서비스 루틴 interrupt [EXT_INT0] void External_int4(void){ PORTC=0xFF; delay_ms(1000.. 2017. 10. 19.
728x90