본문 바로가기

MEGAWIN39

MG82F6D Series UART0 TX RX INT 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. UART0을 인터럽트 방식으로 송/수신하는 것을 테스트 한다. 2. 회로도 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화 Uart0RxIn=0; // 변수 초기화 Uart0RxOut=0; Uart0TxIn=0; Uart0TxOut=0; bUart0TxFlag=0; LED_G_0=0;LED_G_1=0;LED_R=0; // LED ALL ON DelayXms(1000); // 1초 딜레이 LED_G_0=1;LED_G_1=1;LED_R=1; // LED ALL OFF Uart0SendStr("Start!\n"); // 시리.. 2022. 12. 2.
MG82F6D Series RTC Timer 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. IC 내부에 내장된 RTC를 테스트 한다. 2. 회로도 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화 LED_G_0=0;LED_G_1=0;LED_R=0; // LED ALL ON DelayXms(1000); // 1초 딜레이 LED_G_0=1;LED_G_1=1;LED_R=1; // LED ALL OFF while(1) { DelayXms(100); // 100ms 딜레이 LED_G_0=!LED_G_0; // LED_G_0 토글 } } ⑵ 시스템 초기화 루틴 /*********************************.. 2022. 12. 1.
MG82F6D PCA PWM 16bit 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. SYSTEM Clock를 24MHz, CPU Clock를 24MHz로 사용하고, PCA 클럭은 96MHz를 사용한다. PCA 출력은 CH0(P22), CH1(P33), CH2(P24), CH3(P34), CH4(P26), CH5(P35)로 설정한다. 2개씩 묶어 3쌍을 비교 해 본다. PWM 주파수는 96MHz/1000 = 96kHz로 설정한다. P10은 입력으로 사용되며 PWM 출력을 제어한다. 1이면 Enable, 0이면 Disable 이다. 2. 회로도 3. Code ⑴ main routine void main() { u8 cnt,inx; // 변수 선언 bit bOutFla.. 2022. 11. 30.
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.. 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번 비트)이 셋 되어.. 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.. 2022. 11. 25.