해보기는 했어?

오늘 안됐다고 포기하지 말고 용기내서 내일 다시 해 보자.

반응형

MEGAWIN 38

MG82F6D Series PCA Timer 16bit

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 외부 인터럽트 입력에 의해 Power Down Mode에서 시스템이 깨어나는 것을 보여준다. INT0, INT1, INT2가 사용되며, 시스템이 깨어 났을 때 어느 인터럽트가 입력되었는지를 LED에 연결해서 확인할 수 있도록 해 준다. PCA0 타이머는 지속적으로 동작을 하고 있고, 모듈 0, 모듈 1에서 비교 값으로 설정된 것과 동일한 타이머 값이 되면 해당 모듈의 인터럽트가 발생하도록 한다. 모듈 0은 2000us, 모듈 1은 4000us 마다 인터럽트가 발생하게 되어 있고, 인터럽트 때 마다 할당된 LED가 토글된다. 2. 회로도 3. Code ⑴ main routine vo..

MEGAWIN 2022.11.29

MG82F6D Series BOD

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. Brown-Out Detector(BOD0, BOD1)는 VDD 전원을 모니터한다. BOD0은 1.7V 확인으로 고정되어 있고, BOD1은 4.2V, 3.7V, 2.4V, 2.0V로 설정할 수 있다. BOD0가 확인 레벨과 맞게 되면 PCON1레지스터의 BOF0 비트가 셋 된다. 만약 ESF(EIE1레지스터의 3번비트와 BOF0IE(SFIE레지스터의 1번 비트)가 사용가능하게 되어 있으면 BOF0는 인터럽트 플래그를 발생시킨다. 정상동작이든 대기모드이든 상관없이 인터럽트가 동작한다. BOD1도 동일한 동작을 하게 되며, 만약 AWBOD1(PCON2 레지스터의 7번 비트)이 셋 되어..

MEGAWIN 2022.11.28

MG82F6D Series INT nINTx Wake UP

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 외부 인터럽트 입력에 의해 Power Down Mode에서 시스템이 깨어나는 것을 보여준다. INT0, INT1, INT2가 사용되며, 시스템이 깨어 났을 때 어느 인터럽트가 입력되었는지를 LED에 연결해서 확인할 수 있도록 해 준다. 2. 회로도 3. Code ⑴ main routine void main() { u8 BakCKCON2; // CKCON2의 값을 백업하기 위한 변수 InitSystem(); // 시스템 초기화 LED_G_0=0;LED_G_1=0;LED_R=0; // LED ALL ON DelayXms(2000); // 2초 딜레이 LED_G_0=1;LED_G_1=1..

MEGAWIN 2022.11.25

MG82F6D Series CMP

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. P10, P11을 아날로그 입력으로 설정한다. P10은 비교기의 Positive input, P11은 비교기의 Negative Input으로 설정한다. 인터럽트가 발생하면 LED를 Toggle 시킨다. 2. 회로도 /* LED 부분 회로도 추가 */ 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화 printf("\nHello"); // 프로그램의 시작을 알리는 메시지 LED_G_1=0;LED_R=0;LED_G_0=0; // LED ALL ON DelayXms(1000); // 1초 딜레이 LED_G_1=1;LED_R=1..

MEGAWIN 2022.11.24

MG82F6D Series TIM_T0T1_Mode 0

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. Timer 0, Timer 1을 설정하고, T0CKO(P34), T1CKO(P35)에서 펄스가 나올 수 있도록 한다. Timer 0 는 System Clock/192인 주파수를 입력클럭으로 사용하므로 62.5kHz의 주파수로 동작한다. Timer 0 은 16us 마다 1씩 증가하게 된다. Timer 0 인터럽트에서는 TH0의 값을 0 ~ FF까지 변화 시키므로 T0CKO에서는 약 244Hz의 구형펄스 주파수가 Duty가 변화 되는 모습을 보여준다. Timer 1 는 System Clock/48인 주파수를 입력클럭으로 사용하므로 250kHz의 주파수로 동작한다. Timer 1 은 4..

MEGAWIN 2022.11.23

MG82F6D Series TIM_T2_Mode2_Capture

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 타이머 2의 모드 2는 캡쳐모드이다. EXEN2 비트를 셋(1) 시키게 되면 Timer 2는 그대로 동작하고, T2EXI(타이머 2 외부 인터럽트 입력 핀)의 입력이 1(High)에서 0(Low)으로 변경될 때 Timer 2의 레지스터 값을 RCAP2H, RCAP2L에 저장한다. 이 때 T2EXI는 T2CON레지스터의 EXF2 비트를 셋 시키고, Timer 2 Overflow와 같은 인터럽트 벡터를 사용하는 인터럽트가 발생한다. 두 신호 사이의 시간차를 구할 때 이 기능을 많이 사용한다. T2EXI 핀인 P11에 버튼을 연결하고, 버튼이 눌릴 때 마다 T2 레지스터의 값을 버퍼에 ..

MEGAWIN 2022.11.22

MG82F6D Series WDT Reset

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 와치도그 타이머를 1024ms로 설정하고 시스템을 동작시킨다. ① 전체 LED가 켜 졌다가 1초 후 OFF ② LEG_G_0이 약 10회 토글 ③ LED_R이 빠르게 토글되다가 리셋 되어 ①번부터 반복된다. 2. 회로도 3. Code ⑴ main routine void main() { u8 i; WDT_Clear(); // clear WDT InitSystem(); // System 초기화 WDT_SetClock_32K_DIV_64_1024ms(); // WDT clock : 32kHz(ILRCO) WDT_EnReset(); // Watchdog overflow 시 시스템 리셋이 ..

MEGAWIN 2022.11.17

MG82F6D Series WDT Int.

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 와치도그 타미어가 있을 때의 루프와 없을 때의 루프를 비교테스트 한다. 2. 회로도 3. Code ⑴ main routine void main() { u8 i; WDT_Clear(); // clear WDT InitSystem(); // System 초기화 WDT_SetClock_32K_DIV_64_1024ms(); // 와치도그용 클럭 셋팅 WDT_Enable(); // Enable WDT LED_G_0=0;LED_G_1=0;LED_R=0; // LED All On for(i=0;i

MEGAWIN 2022.11.17

MG82F6D Series GPIO P44P45P47

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. P44, P45를 OCD 기능이 아닌 GPIO 기능으로 사용하는 것을 테스트 한다. P47은 RESET 기능이 아닌 GPIO 기능으로 사용하는 것을 테스트 한다. P44, P45, P47이 동시에 GPIO로 사용되게 되면, OCD-ICE는 프로그램 다운로더나 시뮬레이터로 사용될 수 없다. OCD-ICE 기능이 필요하면 U1 다운로더로 다른 프로그램을 라이팅 해야한다. 또는 리셋을 시킨 상태에서 OCD-ICE 다운로더로 프로그램을 라이팅 한다. 2. 회로도 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화 LED_G_0=0..

MEGAWIN 2022.11.14

MG82F6D Series CLK ILRCO P60OC

MG82F6D Series CLK ILRCO P60OC 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 내부 클럭인 ILRCO의 동작을 확인해 본다. 클럭을 설정하고 P60으로 (MCK/4)의 주파수로 확인해 본다. ILRCO가 32kHz이므로 P60에는 8kHz 구형파가 출력해야한다. IHRCO와 ILRCO 두 가지를 확인해 본다. IHRCO는 12MHz, ILRCO는 32kHz이다. 2. 회로도 /* LED 부분 회로도 추가 */ 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화, Clock 초기화 부분을 확인해야함 LED_G_0=0;LED_G_1=0;LED_R=0..

MEGAWIN 2022.11.11
반응형