MEGAWIN39 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.. 2022. 11. 11. MG82F6D Series CLK xtal MG82F6D Series CLK xtal 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 외부클럭을 이용하는 방법을 확인한다. P60, P61에 8MHz X-TAL을 연결하고 시스템을 구동하는 방법을 확인한다. 2. 회로도 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화, Clock 초기화 부분을 확인해야함 LED_G_0=0;LED_G_1=0;LED_R=0; // LED를 모두 ON 시키고 DelayXms(1000); // 1초 딜레이 LED_G_0=1;LED_G_1=1;LED_R=1; // LED를 모두 OFF 시킨다. while(1) { LED_G_0=0; //.. 2022. 11. 10. MG82F6D Series GPIO P6 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. P60, P60을 High 출력을 유지하다가 500ms 마다 100us진폭으로 Low 출력을 만든다. 2. 회로도 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화 LED_G_0=0;LED_R=0;LED_G_1=0; // LED 전체 ON DelayXms(1000); // 1초 딜레이 LED_G_0=1;LED_R=1;LED_G_1=1; // LED 전체 OFF while(1) { LED_R=!LED_R; // RED LED Toggle DelayXms(500); // Delay 500ms P60=0; // P60 clea.. 2022. 11. 9. MG82F6D Series ADC with Interrupt - 4 ⑻ Interrupt Timer 0 인터럽트를 활성화시킨다. /*********************************************************************************** *Function: void InitInterrupt(void) *Description: Initialize Interrupt *Input: *Output: *************************************************************************************/ void InitInterrupt(void) { INT_EnTIMER0(); // Enable TIMER0 interrupt. } - Timer 0 인터럽트 활성화 #define INT_.. 2022. 11. 8. MG82F6D Series ADC with Interrupt - 3 ⑸ 타이머 0 초기화 루틴 è타이머 0 초기화 루틴 /*********************************************************************************** *Function: void InitTimer0(void) *Description: Initialize Timer0 *Input: *Output: *************************************************************************************/ void InitTimer0(void) { TM_SetT0Mode_1_16BIT_TIMER(); // TIMER0 Mode 1: 16-bit timer TM_SetT0Clock_SYSCLKDiv12(); /.. 2022. 11. 8. MG82F6D Series ADC with Interrupt - 2 ⑵ 시스템 초기화 루틴 void InitSystem(void) { InitPort(); InitClock(); InitTimer0(); InitUart0_T1(); InitADC(); InitInterrupt(); } // 시스템 초기화 루틴 // 포트 초기화루틴 // 클럭 초기화 루틴 // 타이머 0 초기화 // Timer 1 Overflow를 이용한 UART0 초기화 // ADC 초기화 // 인터럽트 초기화 ADC를 인터럽트로 받아들이기 위해서 ADC와 인터럽트를 초기화 시키는 루틴이 추가되었음 ADC 결과 값을 시리얼로 전송하기 위하여 UART0을 초기화하는 루틴이 추가되었음. UART0은 Timer 1의 Overflow 기능을 이용하여 Baud Rate를 결정하는 방법을 사용하였음 Megawin .. 2022. 11. 8. 이전 1 ··· 3 4 5 6 7 다음