답변 : 답변 : 답변 : 어제 받은 소스에서 질문있습니다.
페이지 정보
작성자 master 작성일18-12-19 22:23 조회3,389회 댓글0건본문
// MCU BASIC: https://www.basic4mcu.com
// DateTime : 2018-12-19 오후 10:27:02
// by Ok-Hyun Park
//
#include <mega128.h>
#include <delay.h>
//
#define U08 unsigned char
#define U16 unsigned int
//
U08 FND[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98}; // 0~9
U16 nansu;
U08 i,d1=0,d2=0,d3=0,d4=0,i=0;
bit Run=1,flag4=0,flag5=0;
//
void main(void){
DDRA=0xFF; PORTA=0xFF;
DDRB=0xFF; DDRF=0xF0;
TCCR1B=9; OCR1A=9999;
while(1){
PORTF=~0x80; PORTB=FND[d1]; delay_us(2450);
PORTF=~0x40; PORTB=FND[d2]; delay_us(2450);
PORTF=~0x20; PORTB=FND[d3]; delay_us(2450);
PORTF=~0x10; PORTB=FND[d4]; delay_us(2450);
//---------------------------------
if(!PINE.4){
if(flag4==0){ flag4=1; Run^=1; }
}
else{ flag4=0; }
//---------------------------------
if(!PINE.5){
if(flag5==0){ flag5=1; }
}
else{ flag5=0; }
//---------------------------------
if(Run){
nansu=TCNT1;
d1=nansu/1000;
d2=nansu/100%10;
d3=nansu/10%10;
d4=nansu%10;
}
// if(d1==7 && d2==7 && d3==7 && d4==7){
if(nansu==7777){
for(i=0; i<10; i++){
PORTA=0x00; delay_ms(200);
PORTA=0xFF; delay_ms(200);
}
}
//---------------------------------
}
}
다른 방식으로 PE4와 PE5를 체크하는 코드를 변경했습니다.
PINE.5가 동작하지 않는 것은
원래 소스에서 PE5를 눌렀을 때 아무 일도 하지 않았기 때문입니다.
댓글 : 0
조회수 : 3,389
등록된 댓글이 없습니다.