본문 바로가기

MG82F6D34

MG82F6D Series PCA Capture Buf 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 캡쳐 모드 사용시 CAPNn, CAPPn 중 하나 또는 두 개가 모두 셋 되어 있어야 한다. 외부 핀인 CEX 에서 파형의 변화를 확인한다. PCA0 하드웨어에서 유의미한 변화가 감지되면 캡처 레지스터(CCAPnL, CCAPnH)로 PCA0 카운터 레지스터(CH, CL)의 값이 저장된다. CCFn과 ECCFn 비트가 모두 셋 되어 있으면 인터럽트가 발생한다. 폭이 좁은 신호에는 버퍼를이용한 캡쳐모드가 필요하다. 활성화가 되면 홀수 모듈의 캡쳐 데이터 레지스터(CCAPnH, CCAPnL, n=1, 3, 5)는 짝수 모듈의 캡쳐 데이터 레지스터들(채널 0, 2, 4)의 버퍼 레지스터로.. 2022. 12. 20.
MG82F6D Series INT KBI Wake UP 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. KBI0, KBI1은 P10, P11에 연결되어 있다. KBI 인터럽트가 발생하면 LED_R을 ON 시키고, 인터럽트 플래그를 클리어 시킨다. 그 뒤 LED_R을 OFF 시킨다. 메인 루틴에서는 MCK를 OSCin으로 설정하고, 파워다운 모드로 들어간다. KBI를 통해 wake up 되면 클럭 부분에 대해 다시 설정을 하고, LED_G_1을 두 번 깜빡인다. 2. 회로도 3. Code ⑴ main routine void main() { u8 KBICnt=0; u8 BakCKCON2; InitSystem(); // 시스템 초기화 LED_G_0=0;LED_G_1=0;LED_R=0; /.. 2022. 12. 19.
MG82F6D Series IAP Sample 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. IAP 특정 영역의 256 바이트를 라이팅하고, 읽어서 UART로 전송하는 프로그램 2. 회로도 3. Code ⑴ main routine void main() { BYTE IAPData; BYTE i; BYTE rand; bit bOK=TRUE; TrapFlag[0]='W';TrapFlag[1]=0xFF;TrapFlag[2]=0xFF; // 트랩 코드 저장 InitSystem(); // TrapFlag[1] = ‘i’ 저장함 LED_G_0=0;LED_G_1=0;LED_R=0; // LED ALL ON DelayXms(1000); // 1초 딜레이 printf("\nStart IAP.. 2022. 12. 16.
MG82F6D Series IAP LOOP 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. IAP 영역에 특정 시스템 파라미터 영역을 할당한다. P10 키가 눌리면 해당 영역을 리셋 시키고, P11 키가 눌리면 While 문에서 100us 마다 증가하는 값, P11 키가 눌렸을 때에만 증가하는 값을 저장하고 UART로 전송한다. 2. 회로도 3. Code ⑴ main routine idata u8 TrapFlag[3]; // 전역변수 void main() { u8 i; TrapFlag[0]='W'; // TrapFlag[0]에 ‘W’ 문자 저장 InitSystem(); // 시스템 초기화 루틴, 포트설정, UART0설정, TrapFlag[1]에 ‘I’ 문자 입력 LED_.. 2022. 12. 15.
MG82F6D Series TIM_T2_Mode4_PWM 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 타이머 2의 모드 4는 8-bit PWM 모드이다. 이를 이용해서 PWM 시그널을 T2CKO로 출력 시키는 것을 테스트 해 본다. TH2와 RCAP2H는 8-bit 자동 재적재 카운터를 구성하고, PWM의 시간(주파수)을 결정한다. TL2는 PWM 비교 레지스터로서 PWM의 파형(듀티)을 만든다. TH2의 오버플로우는 TF2를 셋 시키고 RCAP2L의 값을 TL2에, RCAP2H는 TH2에 재적재 시킨다. PWM 신호는 T2CKO에 출력되고, 이 신호는 T2MOD레지스터의 T2OE로 제어된다. 2. 회로도 3. Code ⑴ main routine void main() { InitS.. 2022. 12. 13.
MG82F6D Series I2C Slave Int 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. MG82F6D 보드는 Slave로 셋팅하고, MG32F02A072AD4 IC를 이용한 보드를 Master로 설정한다. Master에서 Slave로 데이터 어드레스, 16바이트의 데이터를 지속적으로 전송하고, Slave에서는 I2C를 이용해서 수신된 데이터를 UART0으로 전송한다. 2. 회로도 3. Code ⑴ main routine void main() { u8 i; InitSystem(); // 시스템 초기화 SendStr("\nStart"); // UART0으로 프로그램의 시작을 알림 LED_G_0=0;LED_G_1=0;LED_R=0; // LED ALL ON DelayXms.. 2022. 12. 9.