MG82F6D34 MG82F6D시리즈 GPIO MODE 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 부팅 시 LED가 모두 ON 되어 있다가 1초가 지난 뒤에 모두 OFF 된다. 그 뒤 G0èG1èRèG0…의 순으로 200ms마다 순차적으로 LED가 켜진다. 2. 회로도 3. Code ⑴ main routine void main() Main routine 시작 { InitSystem(); 시스템 초기화루틴 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; Green 0 LE.. 2022. 12. 8. MG82F6D Series ADC ROLL 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. P10에 연결된 회로의 Analog값을 측정하기 위하여 Polling 방식의 ADC를 구현한다. 64개의 측정된 값은 시리얼로 그 데이터를 전송된다. 시리얼 통신은 Timer 1의 Overflow를 이용한 방식으로 설정하고, 그 Baud Rate는 9600이다. 2. 회로도 /* LED 부분 회로도 추가 */ 3. Code ⑴ main routine void main() { u8 i; InitSystem(); // 시스템 초기화 루틴 printf("\nHello"); // 프로그램 시작알림 LED_G_0=0;LED_R=0;LED_G_1=0; // LED ALL ON DelayXms.. 2022. 12. 7. MG82F6D Series I2C Master 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 4096바이트 용량의 EEPROM(24C32)을 읽고/쓰는 테스트를 진행한다. 2. 회로도 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화 SendStr("\nStart"); // 시리얼로 “Start” 문자 송신 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 rand = 0x80; // 랜덤 변수 초기화 0x80 TWI0TestAddr.W=0x0000; // TWI.. 2022. 12. 6. MG82F6D Series UART0 TX RX 485 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. UART0을 송신은 폴링 방식으로 사용하고, 수신은 인터럽트를 사용하도록 한다. P17을 RS485의 DE/RE를 선택하는 핀으로 사용한다. 수신 시에는 송신하는 쪽에서 라인을 컨트롤하니까 상관은 없으나 송신 시에는 DR/RE 핀을 제어 해야 한다. 송신 전에 DE를 선택해 주고 일정 시간 뒤에 라인에 데이터를 전송하고, 전송이 끝나면 잠시 기다린 뒤에 DE신호를 RE신호로 바꾼다. 중간에 딜레이가 없으면 데이터가 깨지므로 주의해야한다. 2. 회로도 3. Code ⑴ main routine void main() { u8 i; InitSystem(); // 시스템 초기화 Uart0R.. 2022. 12. 5. 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. 이전 1 2 3 4 5 6 다음