BASIC4MCU | 질문게시판 | 답변 : ATmega128 IAR PORTC 출력 토글
페이지 정보
작성자 master 작성일2018-09-09 16:52 조회18,387회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=2998
본문
![]()
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-09-09 오후 4:27:34// by Ok-Hyun Park//#include <iom128.h>#include <ina90.h>//volatile unsigned char fnd[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};volatile unsigned char flag=0,run=0,mode=0,buf[2];volatile unsigned int cnt=0;//#pragma vector=TIMER0_OVF_vect__interrupt void TIMER0_OVF_Isr(void){ // 1msstatic char fnd_cnt=0;TCNT0=131;PORTC&=~0x80; PORTD=0x7F; // 세그먼트 OFFif(run){switch(fnd_cnt){case 0: PORTD=fnd[buf[0]]; PORTD|=0x80; break;case 1: PORTD=fnd[buf[1]]; PORTC|=0x80; break;}if(++fnd_cnt>1)fnd_cnt=0;//if(mode==0){ if(++cnt>15000)cnt=0; } // 30 // 15secif(mode==1){ if(++cnt>10000)cnt=0; } // 60 // 10secif(mode==2){ if(++cnt> 5000)cnt=0; } // 90 // 5secif(cnt==0){if(PORTC&1){ PORTC&=~1; PORTC|=2; }else{ PORTC&=~2; PORTC|=1; }}}else{ PORTC&=~3; }}//void main(){char n=30;DDRC=0x83; DDRD=0xFF;TCCR0=4; TCNT0=131; TIMSK=1; //8000000/64/(256-131),1ms__enable_interrupt();while(1){if(PINA&1)run=1;else run=0; // PA0 // 토글스위치 // ON/OFF//if(PINA&2){if(flag==0){ flag=1; if(++mode<2)mode=0; cnt=0; } // PA1 // 푸쉬스위치}flag=0;//if(mode==0){ buf[0]=3; buf[1]=0; } // 30 // 15secif(mode==1){ buf[0]=6; buf[1]=0; } // 60 // 10secif(mode==2){ buf[0]=9; buf[1]=0; } // 90 // 5sec}}
회로도가 부실해서 이해도 잘 안갑니다.
프로그램 아무리 잘 작성해도 회로도가 엉망이거나 납땜을 제대로 못한다면 성공하기 어렵습니다.
c언어가 소프트웨어 언어라면
회로도는 하드웨어 언어입니다.
언어가 부실하면 소통이 잘 안되겠죠
//
//#include <iom128.h>#include <ina90.h>//volatile unsigned int cnt=0;//#pragma vector=TIMER0_OVF_vect__interrupt void TIMER0_OVF_Isr(void){ // 1msTCNT0=131;//if(++cnt>15000){ cnt=0; // 15secif(PORTC&1)PORTC=2;else PORTC=1;}}//void main(){DDRC=3;TCCR0=4; TCNT0=131; TIMSK=1; //8000000/64/(256-131),1ms__enable_interrupt();while(1){}}릴레이 동작이 안되면
테스터기를 사용해서 PC0, PC1 핀의 전압을 체크하세요
댓글 0
조회수 18,387등록된 댓글이 없습니다.